Facebookページ内でCanvasアプリを実行しています。
私の非常に簡単な質問は次のとおりです。最新のFacebookSDK(本日ダウンロードしたばかり)では、ユーザーがアプリへのアクセス許可をまだ付与していない場合、SDK内のFacebookクラスは自動的にそれを判断し、承認を取得しようとしますか?
ここに移動して、アプリの認証を手動で取得できます。
https://graph.facebook.com/oauth/authorize?client_id=<myClientID>&redirect_uri=<myRedirectURL>&type=user_agent&display=page&scope=publish_stream,%20user_about_me,%20user_likes,%20email
それはすべて問題なく動作します...しかし、example.phpがSDKで行うことを実行しようとすると、エラーが返されます。
致命的なエラー:キャッチされていないOAuthException:無効なOAuthアクセストークンの署名。1107行目の/public_html/bridge/base_facebook.phpにスローされます
したがって、私の質問は次のとおりです。有効なOAuthアクセストークンを取得することになっていますか、それともfacebook PHP SDKを間違って設定していますか?
エラーを生成する完全なPHPコードは次のとおりです。
<?php
require 'facebook.php';
$facebook = new Facebook(array(
'app_id' => '<my app id>',
'app_secret' => '<my app secret>',
));
$user = $facebook->getUser();
$jared = $facebook->api('/jaredmark');
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
// Login or logout url will be needed depending on current user state.
if ($user) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl();
}
このコードは、基本的に例からの直接のコピー/貼り付けですが、いくつかの小さな編集が加えられています。