7

私は Facebook の長期トークン (2 か月) を使用していますが、FB は非決定的になり始め、時々このリターンが得られます

{
   "error": {
      "message": "Cannot access application using the specified access_token",
      "type": "OAuthException",
      "code": 1
   }
}

PHP SDK を使用しています。

このリンクを使用して 2 か月のトークンを取得しています https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRETgrant_type=fb_exchange_token&fb_exchange_token=SHORT_TIME_TOKEN

何か案は?

4

4 に答える 4

2

私はこの問題を経験しており、FB スタッフから直接サポートを受けました。このエラーの最も可能性の高い原因は、ユーザーの「人口統計チェック」です。

私たちのアプリには、アルコール関連の年齢制限がありました。特定のユーザーのプロファイルには、FB がその場所の飲酒年齢を超えていることを確認するのに十分な情報が含まれていなかったため、セッションの作成に失敗しました。なぜこれがこの通話でのみ発生し、以前の通話では発生しなかったのかはわかりません.

あなたのアプリには年齢制限がありますか?

于 2013-12-07T05:36:52.357 に答える
0

一部のユーザーが、要求した延長されたトークンではなく、短い寿命のトークンを誤って発行されているようです。

拡張アクセス トークンに関する既知のバグに遭遇した可能性があります。私の知る限り、実際の回避策はありませんが、Facebookのこのバグレポートとこの質問の詳細を確認してください。

于 2012-11-14T20:38:35.833 に答える
0

クエリに&after APP_SECRET、 before grant_type がありません。それは読むべきです:

https://graph.facebook.com/oauth/access_token?
client_id=APP_ID&
client_secret=APP_SECRET&  
grant_type=fb_exchange_token&           
fb_exchange_token=SHORT_LIVED_ACCESS_TOKEN 

出典: Facebook 開発者のアクセス トークンの拡張。

編集:
OPが、現在のアプリユーザーベースから、一部のユーザーが期限切れのセッションを経験し、問題を報告したことを意味する場合、間違ったクエリ文字列が考えられる説明です。

このエラーにより access_token は延長されませんが、ログインは有効期間の短いアクセス トークンで許可されます。この場合、欠陥のあるクエリ文字列はずっとコードベースにありましたが、実際のユーザーの access_tokens が予想よりも早く期限切れになったときに初めて発見されました。

OPが、同じクライアントからの多くの呼び出しから正しいクエリ(質問に記載されているものではない)を使用するとサブセットがエラーで返されることを意味する場合、私の説明は無効です。

于 2012-11-12T09:10:12.383 に答える
0

APP_SECRET と grant_type の間に & がありません。

また、この問題に関する Fb バグがあるようです - http://developers.facebook.com/bugs/536272816386515?browse=search_50a37bb1c333b4253892226

「SHORT_TIME_TOKEN」を取得したらすぐにトークンを拡張してください。ユーザー トークンのみを拡張できます (ページ トークンは拡張できません)。延長する前に、必ず正しい「短時間トークン」を取得してください。

また、アプリで「サンドボックス モード」を確認してください。トークンを拡張するときに問題が発生する可能性があります。「false」に切り替えてみてください。

それが役立つことを願っています。

于 2012-11-14T11:17:29.337 に答える