2012-02-10 4 views
0

私はFB.loginを使用して自分のWebサイト上のFacebookにログインしています。OAuth 2.0でfb_exchange_tokenを使用してアクセストークンの有効期限を延長する方法

私はresponse.AuthResponse.accessTokenでaccessTokenを簡単に取得できます。

セッションは2時間有効です。私がfb_exchange_tokenで読んだことを理解すると、それを30日または60日間に延長することができます(どちらがどちらの数字か分かりません)。

質問1:これはJavascriptで実行可能ですか?誰もがアクセスできるので、私はJavascriptでやりたくないアプリのシークレットを提供する必要がありますか?誰かがそれを行うためのコードスニペットを親切に提供できますか?

私が計画しているのは、新しく取得した拡張トークンをajaxを使用してPHPに送信し、それをPHPのFQL呼び出しに使用することです。現在、私がやっている:

$facebook = new Facebook(array('appId' => $app_id,'secret' => $app_secret)); 

$fql = 'SELECT first_name, last_name, movies, tv, FROM user WHERE uid =' . $uid; 

$param = array('method' => 'fql.query','query' => $fql,'callback' => ''); 

$fqlResult = $facebook->api($param); 

質問2:をこれはおそらく、初心者の質問ですが、どのように私は上記のPHPコードで、AJAXによって送られた新しいアクセストークンを使用していますか?現在、私は明示的にアクセストークンを使用しておらず、すべてが動作します(2時間が経過するまで)。あなたは、あなたがそれをサーバーに送り返す必要がありますバックのFacebookからのアクセストークンを取得すると、あなたの助けを事前に

おかげで、

レジス

答えて

1

は、あなたは、あなたのアプリをさらすことを気にすることなく、そこにそれを拡張することができますキーと秘密。

サーバー上にアクセストークンを取得したら、次の方法でFacebookライブラリに追加できます。

$facebook->setAccessToken($access_token) 

あなたが行ったapiの呼び出しは、ログインしたユーザーとして実行されます。