2

今日、私はFQLクエリを正常に作成していました。同じクエリを実行しようとすると、次のメッセージが表示されます。

"error_code":190、 "error_msg": "アクセストークンの検証エラー:ユーザーがパスワードを変更したため、セッションが無効になりました。"

自分のアカウントでクエリを実行していますが、パスワードは変更されていません。なぜこれが起こっているのかについての提案はありますか?

今、私はこのエラーを受け取っています。

「アクセストークンの検証エラー:セッションが現在保存されているセッションと一致しません。これは、セッションが作成されてからユーザーがパスワードを変更したか、セキュリティ上の理由でFacebookがセッションを変更したことが原因である可能性があります。」

4

1 に答える 1

2

上記のコメントに基づいて、これはこの問題になります。

Android のシングル サインオン (SSO) を使用すると、ユーザーはアプリを承認できます。認証が完了すると、電話/タブレットのアプリケーションで Facebook にサインインしている場合は、その後のアクセスで直接サインインされます。

これの欠点は、SSO がトークンを記憶しており、(ユーザーがアプリの認証を解除したり、パスワードやその他の詳細を変更したりして) トークンが無効になった場合でも、トークンを使用しようとすることです。「isSessionValid() は true を返すので、これら 2 つのエラーを特にチェックする必要があります。これらの 2 つのエラーのいずれかをキャッチした場合は、authorize メソッドを再度呼び出します。

したがって、あなたの場合、そのエラーをトラップして、authorize() を呼び出します。

Facebook のドキュメント: http://developers.facebook.com/docs/mobile/android/build/#sso

于 2012-05-27T08:27:20.497 に答える