0

だから私はFBアプリを持っており、状況によっては、index.phpと同じドメインにあるphpファイルを使用してコンテンツをdivにロードするためにJavascriptが必要です。これらのいくつかについては、ユーザーがまだ有効であること、および/または認証トークンと FB ユーザー ID が必要であることを確認したいと考えています。これは、javascript によって ajax が注入され、getUser() と getAccessToken() を使用して、php ファイルに FB PHP SDK のインスタンスを作成することで実現しました。ただし、不可解なことに getAccessToken() 呼び出しが失敗し、アクションを実行するには有効なアクセス トークンが必要であると報告される場合があることに気付きました。

getAccessToken() は、ユーザーが FB にログインしていることを確認するための信頼できる (または理想的な) 方法ですか、それとも何か他のことを行う必要がありますか (たとえば、署名されたリクエストから解析したアクセス トークンを JavaScript で保存し、それを変数として php に渡します)。私が注入しているファイル)?ありがとう。

4

1 に答える 1

0

最も信頼できるのは、おそらく詳細を取得することです。過去に、「getUser」のインスタンスで true が返されましたが、ユーザーは実際にはログオンしていません。したがって、すべての詳細も取得できるようになり、これはより確実に機能します。

$facebook = new Facebook(array(
                            'appId' => FB_APP_ID,
                            'secret' => FB_APP_SECRET,
                            'cookie' => true
                    ));
$FB_UID=false;
try {
    $FB_UID = $facebook->getUser();
    // This verifies the user is actually logged in. teh above can return "true" but the following will crap out and throw exception
    $FB_me = $facebook->api('/me');  // 'birthday'
    // Not needed:
    // $FB_token = $facebook->getAccessToken();

} catch (FacebookApiException $e) {
    $FB_UID = false;
    $FB_me = false;
    // $FB_token = false;
}
于 2012-05-08T22:03:00.720 に答える