web-dev-qa-db-ja.com

Facebook JavaScript SDKを使用してログインする際のアクセストークン警告

debug.jsを使用していて、FB.loginを実行すると次のメッセージが表示されます。

現在のアクセストークンを上書きしています。つまり、他のアプリが別のアクセストークンを予期しているため、おそらく問題が発生します。グローバル設定をオーバーライドするのではなく、APIパラメータに直接access_tokenを渡すことを検討してください。

手がかりはありますか?

14
Ney

私は問題を解決しました。問題は、アプリが承認されていない許可を要求していて、アプリに関連付けられているFBアカウントを使用していないことでした。問題のユーザーをテストユーザーとして追加することで、問題は解決しました。この場合、Facebookが返すエラーがまったく役に立たないのは残念です。お役に立てれば!

9
Jim Edelstein

FB.getLoginStatusに続いてFB.loginを呼び出したためと考えられます。このエラーは、最初に.getLoginStatusを呼び出したときにアクセストークンを受け取り、次に.loginを呼び出したときに上書きされたことを意味します。

これを修正するには、.getLoginStatusを削除するか(.loginを呼び出す場合はおそらく不要)、代わりに.getLoginStatusからアクセストークンを再利用して.login関数に渡します。

3
willsmanley

次のことを確認してください。

window.fbAsyncInit = function() {
        FB.init({
          appId      : '{tu_id}',
          cookie     : true,
          status     : true,
          xfbml      : true,
          version    : 'v3.3'
        });
0
Jesus González

私たちにとって、サーバーを新しいクラウドプロバイダーに移行した後、IPアドレスをホワイトリストに載せることができませんでした。 Facebook開発者ダッシュボードからのIPアドレスホワイトリストの更新:

設定->詳細->セキュリティ

問題を解決しました

0
bhatiaravi

本当の答えは、あなたが報告したようなFB javascript SDK自体に問題があることです。あなたは何も間違っていない可能性があります、エラーはおそらくFBのSDKにあります(AND/OR彼らのドキュメントで)

私はFB開発者コミュニティフォーラムで同様のエラーを報告して文書化しましたが、すぐに解決されるとは思っていません。 https://developers.facebook.com/community/threads/445494736399091/ これは、ChromeとFB JS SDK v5.0を使用している2019年12月に発生しました

更新:いくつかの変数が含まれていることがわかりました。たとえば、Chromeを使用しているときに、一部のコールバックが複数回実行され、異なるaccessToken、および質問で報告されたエラーメッセージ。

Edge Browserに切り替えたところ、アプリがテストモードのときに通常のFacebookユーザーは許可されないことが報告されました。 wtf? (Chromeでは、通常のfbユーザーが許可されていました)。そのため、開発者のダッシュボードでテストユーザーを作成しましたが、再度ログインすると、質問で報告されているエラーメッセージが表示されませんでした。

さて、Chromeに戻り、通常のfbユーザー(特別なテストユーザーではない)を使用しましたが、エラーメッセージが表示されないか、コールバックが何度も発生しません。 (これは、自分自身をリセットするためにいつかそれを与えたためですか?誰が知っていますか?)

0
joedotnot