1

最近、サーバー側のアクセス トークンの奇妙な動作に遭遇しました。非常に短い期間 (約 15 分) で有効期限が切れます。シナリオは次のとおりです。Facebook(サーバー側)を介してページにユーザーがログインし、アクセストークンを保存します。私たちのページの一部のアクションは、投稿/フィードをトリガーできます。いくつかのフィード投稿の後、突然エラー 400 とエラー 401 が発生し始めました。

エラー400は投稿数の制限によるものと思われますが、エラー401以降はアクセストークンの有効期限が切れています。

すべてのアクションは次のように応答します。

 {
   "error": {
       "message": "Error validating access token: Session has expired at unix 
                   time 1346321603. The current unix time is 1346320983.", 
       "type": "OAuthException", 
       "code": 190
       "error_subcode": 463
   } 

この動作を再現するのは困難ですが、テスト環境で数回再現しました (そのため、アクセス トークンがいつ作成されたか、ユーザーがアプリの認証を解除したり、パスワードを変更したりしていないことがわかります)。

アクセストークンが期限切れになる理由はありますか?

4

2 に答える 2

1

アプリケーションの詳細設定で「offline_access権限の削除」が有効になっていることを再確認して、60日間のサーバー側トークンを取得できるようにします。

理由はわかりませんが、アクセストークンデバッガーから報告されたすべてのアクセストークンの有効期限が「約1時間以内」になっています。

新しいアプリケーションを作成し(「offline_access権限の削除」も使用)、2か月で期限切れになるトークンを取得しました。

理由はわかりませんが、答えは新しいアプリケーションを作成することでした。

于 2012-09-12T14:40:11.273 に答える
1

デフォルトでは、facebook は有効期間の短いアクセス トークンを割り当てます。長期トークンをリクエストする必要があります。

取得方法については、ドキュメントを参照してください: http://developers.facebook.com/roadmap/offline-access-removal/#extend_token

編集:

以前のリンクは機能しなくなりました。次のリンクを使用してください

https://developers.facebook.com/docs/roadmap/completed-changes/offline-access-removal/

于 2012-08-31T19:10:52.370 に答える