0

私はFacebookログインも持つWebアプリを開発しています.同じappIDを持つ別のページでFacebookログインを2回使用しています. . fb.init has already been called error in 1 page. スタック オーバーフローに記載されているすべての解決策を試しました。それでも同じエラーが発生します。

4

1 に答える 1

0

SDK を再度初期化する代わりに FB.getLoginStatus()関数を使用しない理由-

FB.getLoginStatus を使用すると、ユーザーが Facebook にログインしてアプリを認証したかどうかを判断できます。ユーザーには次の 3 つの状態があります。

  • ユーザーが Facebook にログインし、アプリケーションを認証しました (接続済み)
  • ユーザーは Facebook にログインしていますが、アプリケーションを認証していません (not_authorized)
  • この時点でユーザーは Facebook にログインしていないため、ユーザーがアプリケーションを認証したかどうかはわかりません (不明)

これらの 3 つのオプションと、ユーザーをシステムに認証するために使用するメカニズムは、Facebook での認証に関するすべてのシナリオをカバーする必要があります。

ユーザーの現在のステータスを確認するには、次のようなコードを使用できます -

FB.getLoginStatus(function(response) {
  if (response.status === 'connected') {
    // logged in and authenticated 
    var fbid = response.authResponse.userID;
    var accessToken = response.authResponse.accessToken;
  } else if (response.status === 'not_authorized') {
    // logged but not authorized
  } else {
    // the user isn't logged in to Facebook.
  }
});
于 2012-09-08T06:22:23.323 に答える