PHPを使用してFacebookのアプリケーション(apps.facebook.com/some_app)を開発しようとしています。ここでは、ユーザーの音楽関心に基づいていくつかの情報を提示する必要があります。私はそれが "user_likes>ゲーム"の下にあることを発見しました。次のようにOAuthExceptionコードに関するヘルプ2500
私の問題は、次のとおりです。
- アクセスするに が私のインデックスページにAPIで提案されているように、私はOAuthのダイアログメソッドを実装しています。
$auth_url = "http://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_uri=" . urlencode($canvas_page) ."&scope=user_likes";
は、成功した認証の後、私は、パラメータとして "コード" とインデックスページに戻ってきます。私は、ユーザーの音楽 利益を読み取るためだけaccess_tokenは必要がある場合
http://MY_CANVAS_PAGE/?code=some base64 encoded letters
は、まず私は知らないが、私はすべての方法が提案しようとしています。私は移動できませんでした この時点から転送
if(empty($code) && !isset($_REQUEST['error'])) {
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection
echo("<script> top.location.href='" . $auth_url . "'</script>");
}
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
echo ("Welcome User: " . $data["user_id"]);
はまた http://developers.facebook.com/blog/post/500/
で見つけたコードを試していないが、デバッグを取得しようとしたとき、私はエラーを取得しています情報を使用して
stdClass Object ([error] => stdClass Object ([message] => An active
access token must be used to query information about the current user.
[type] => OAuthException [code] => 2500))
print_r($decoded_response);
は、ユーザーの公開情報を取得するために、私はPHP SDK
$facebook = new Facebook(array(
'appId' => MY_APP_ID, //registered facebook APP ID
'secret' => MY_SECRET, //secret key for APP
));
$fb_user = $facebook->getUser();
if($fb_user){
try {
$user_profile = $facebook->api('/me');
echo $user_profile['email'];
}
catch(FacebookApiException $e) {
$fb_user = null;
}
}
しかし、誰の成功にも提案例を試してみました。なぜこのエラーが発生しているのか、ユーザーの音楽関心に正しくアクセスする方法を説明できる人がいますか?おそらく私はAPIを誤解していました。ユーザーの電子メールアドレスは、あなたはそれのためにUSER_EMAIL許可が必要です&公開情報ではありません
はあなたが解決策を見つけるか
結果は、私がhttps://developers.facebook.com/docs/authentication/server-side/からコードを使用して行を置き換えることでしたか? https://graph.facebook.com/me urlでもこのエラーが出ます。私のFacebookの情報を返すべきではありませんか? – Kemal