Facebook が offline_access パーミッションを削除しているので、新しいシステムを使用するように Web サイトを移行したいと考えています。
Facebook の Web サイトでこのドキュメントを見つけました: https://developers.facebook.com/roadmap/offline-access-removal
ただし、サーバー側認証で誰かを処理すると、次の応答が返されます。
access_token => BLAHBLAHBLAHdontusemytokensilly
expires => 4992
(そのドキュメントの) アクセス ポイントを使用してアクセス トークンを数時間以上延長しようとすると、次のように返されます。
access_token => BLAHBLAHBLAHdontusemytokensilly
expires => 4990
そのドキュメントによると、サーバー側の OAuth は 60 日間有効なトークンを取得する必要がありますが、なぜそれが返されないのかわかりません。
2 時間ごとに OAuth リダイレクトを介してユーザーを送信したくありません。
何か案は?ありがとう!
アップデート
リクエストに応じて、これが私が取っているフローです(ブラウザで):
最初に、ユーザーをここにリダイレクトしました:
これにより、ユーザーは次の場所にリダイレクトされます。
http://localhost/user-social/facebook/redirect?code=BLAHBLAHBLAHsomeawesomecode#_=_
次に、次のようにアクセス トークンを要求しました。
私はFacebookからこの安息を受け取ります:
access_token=BLAHBLAHBLAHdontusemytokensilly&expires=4057
これは明らかに短命のトークンです。Facebook のドキュメント (上記) によると、(サーバー側の OAuth を使用しているため) 有効期間の長いトークンを受け取る必要がありました。
ただし、寿命が短いため、寿命の長いトークンと交換しようとしました。
これはFacebookが返したものです:
access_token=BLAHBLAHBLAHdontusemytokensilly&expires=3967
両方のリクエストで同じ access_token が返されています。
更新 2
上記のアクセス トークンをFacebook Debuggerに入力すると、次のような結果が返されました。
App ID:
BLAHBLAH
User ID:
211800900 : David Barratt
Issued:
Unknown
Expires:
1347303600 (in 40 minutes)
Valid: True
Origin: Web
Scopes: create_event create_note email friends_actions.music friends_actions.news friends_actions.video friends_likes friends_subscriptions manage_pages photo_upload publish_actions publish_stream rsvp_event share_item status_update user_about_me user_actions.music user_actions.news user_actions.video user_events user_interests user_likes user_location user_status user_subscriptions video_upload
更新 3
すべての権限を削除し、アプリを再承認した後 (@phwd が提案したように)。Facebook API はこれを返します。
access_token=BLAHBLAHBLAHdontusemytokensilly
これは、長寿命の access_token が返されたことを意味しますか? もしそうなら、有効期限はどこですか?
更新 4
上記の access_token を Facebook Debugger で実行すると、次の結果が得られます。
App ID:
BLAHBLAH
User ID:
211800900 : David Barratt
Issued:
1347309538 (39 minutes ago)
Expires:
Never
Valid: True
Origin: Web
Scopes: create_event create_note email friends_actions.music friends_actions.news friends_actions.video friends_likes friends_subscriptions manage_pages photo_upload publish_actions publish_stream rsvp_event share_item status_update user_about_me user_actions.music user_actions.news user_actions.video user_events user_interests user_likes user_location user_status user_subscriptions video_upload
これで元の問題は解決したように見えますが、access_tokens が規定の 60 日間持続するのではなく、無期限になっているのは奇妙です。
なぜそうなるのかについてのアイデアはありますか?