5

最初に、私はoffline_access拡張アクセス許可を要求したくないことに注意したいと思います。それは理由がありますが、これはそうではありません。期限切れ後にページを再読み込みせずに新しいアクセストークンを取得するにはどうすればよいですか?

Facebook Javascript APIを使用してhtml5アプリを作成しています。ユーザは、長い時間ゲームをプレイするために単一のページ上にある。 FB.getLoginStatusを使用してフローの開始時にアクセストークンを取得しますが、このトークンはある時点で期限切れになるため、ユーザーのためにFacebookに問い合わせることができません。

私は最初のトークンが失敗したときにFB.getLoginStatusを再度呼び出そうとしましたが、これは私に新しいアクセストークンを与えているようには見えません。

ページをリロードする唯一の方法はありますか?ユーザーの状態が中断されているので、気分が悪い

答えて

4

FB.getLoginStatusはユーザーをアプリケーションに再認証し、新しいアクセストークンを提供します。あなたはresponse.authResponse.accessTokenから新しいトークンを取得できるはずです。

最初のトークンに失敗した後で特定のエラーが発生していますか?

+0

ありがとうございました。事前にこれを手動でリフレッシュする方法はありますか? 15分ごとに1回言ってください。私は数分ごとにFB.getLoginStatusを呼び出すsetIntervalを持っていますが、FB.getLoginStatusが期限切れのキーで呼び出される前に、ユーザーが期限切れのトークンで呼び出しているということが考えられます。先制的に新しいものを手に入れることが大きな助けになるでしょう。 –

+1

アプリケーションが行うべきことは、FB.getLoginStatusを再試行することによって例外を処理することです。ロジックは、FBインタラクションを試みることです。インタラクションが成功すれば、素晴らしい。対話が成功しない場合は、FB.getLoginStatus()を実行して再認証し、再度FB対話を試みます。 – Jordan

+0

Roger。試してみましょう。ありがとう。 –

関連する問題