1

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();
}

このコードは、基本的に例からの直接のコピー/貼り付けですが、いくつかの小さな編集が加えられています。

4

1 に答える 1

0

PHP SDK が認証ポップアップを表示する場合、その特定のページにリダイレクトすることによって手動で表示する必要はないようです。 はぁ

于 2012-04-06T21:03:14.733 に答える