1

Web サイトの認証に PHP (with js) SDK を使用しています。今までアクセス トークンで問題が発生したことはなく、すべてがスムーズに実行されています。最新のアップデートがプッシュされて以来、私は多くの情報を受け取っています:

致命的なエラー: キャッチされていない OAuthException: 現在のユーザーに関する情報を照会するには、アクティブなアクセス トークンを使用する必要があります。/home/content/54/9505854/html/src/fb/base_facebook.php の 1106 行目にスローされます

API への PHP 呼び出しがあるたびに、アクセス トークンが無効化されている (または回復できない) ように見えます。を使用する簡単なページを作成しましたが、これは常に現在のアクセス トークンを期待どおりに返すだけです。

//Facebook PHP SDK
require_once 'src/fb/facebook.php'; 

//Config
$facebook = new Facebook(array(
  'appId'  => '...id...',
  'secret' => '...secret...',
));

$accessToken = $facebook->getAccessToken();
die($accessToken); 

このページは、javascript 認証の直後に読み込まれた場合でも機能しますが、このページから移動する (または実際に更新する) と、このスクリプトは appID とシークレットをフォームの文字列として返します。[appID]|[secret]

基本的に、Facebook オブジェクトを呼び出すと、次のページ ナビゲーションが非認証になります。

また、現在、取得したアクセス トークンを Cookie として、または mySQL に保存していません。するべきか?

問題や解決策についての洞察は本当に役に立ちます! ありがとう

4

3 に答える 3

3

フェイスブックのバグです。説明はこちらにあります: https://developers.facebook.com/bugs/404450666302585

于 2012-12-06T15:00:54.493 に答える
2

これは修正されました。PHP-SDK の最新バージョン (v3.2.2) に更新します。

于 2012-12-07T04:35:07.767 に答える
0

I am using php-sdk "3.2.0" got same error..

As per new PHD-sdk mention above https://github.com/facebook/facebook-php-sdk/commit/ca9472b3312dab3fdcfbffb4e45eb091f582dcb7

I have added following code-snippet which fetch saved access token from cache instead giving call to new access token using same code.

if ($code && $code == $this->getPersistentData('code')) {
          // short-circuit if the code we have is the same as the one presented
          return $this->getPersistentData('access_token');
} 

Now, it is returning cache access token instead of [appID]|[secret] one. It work for me.

于 2013-03-18T14:17:40.780 に答える