web-dev-qa-db-ja.com

一部のユーザーのFacebookから「アクセストークンの検証エラー」を取得する

ユーザーストリームに投稿しようとすると、Facebookから次のエラーが発生します。

Error validating access token: The session has been invalidated because the user has changed the password or because auth.expireSession was called.

ワークフローは次のとおりです。

  1. Facebookで承認してscope=offline_access,publish_stream権限をリクエストします(現在のユーザーがまだ承認していない場合)

  2. サーバーでいくつかの作業を行います(5〜10分かかります)

  3. ユーザーのFacebookストリームへの公開を試みます

このコードは多くのユーザーで機能しますが、一部のユーザーではError validating access tokenエラーが発生します。それは数週間前に頻繁に起こり始め、その後止まったように見え、そして今では再びたくさん起こります。私は確かに私の側でauth.expireSessionを呼び出していません。また、複数のユーザーが承認から公開まで5〜10分のウィンドウでパスワードを変更する可能性は低いようです。誰かがこれを引き起こしている可能性があることを知っていますか?

9
herbrandson

このエラーが発生した場合は常に、ユーザーを認証フローに戻す必要があります。ユーザーまたは私たちのいずれかがセッションを無効にする理由はたくさんあります。これに関するハウツーは https://developers.facebook.com/blog/post/5 にあります。

8
Douglas Purdy