0

FB.login を使用して自分の Web サイトで Facebook にログインしていますが、機能しています。

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 時間の有効期限が切れるまで)。

よろしくお願いいたします。

レジス

4

1 に答える 1

1

Facebook からアクセス トークンを取得したら、それをサーバーに送り返す必要があります。その後、アプリ キーとシークレットを公開することを心配することなく、そこでトークンを拡張できます。

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

$facebook->setAccessToken($access_token)

作成したすべての API 呼び出しは、ログインしたユーザーとして実行されます。

于 2012-02-10T19:38:57.710 に答える