0

Facebook JavaScript SDK を使用しています。

Web ページの Facebook 共有ボタンをクリックすると、Facebook ログイン ウィンドウが表示されます。ユーザー名とパスワードを入力してログインし、メッセージ

「ユーザーがログインをキャンセルしたか、完全に承認しませんでした」

現れた。正常にログインできましたが、何らかの理由で要求されたアクセス許可が承認されていません。

Facebookの共有ボタンをもう一度クリックすると、メッセージ

「ユーザーは Facebook にログインしていますが、アプリには接続されていません」

現れた。

アプリ ID とアプリ シークレットを使用して Facebook アプリが正常に作成されました。また、[App Domains] の下にドメイン名を入力し、[Website with Facebook Login] の下に自分のサイトを入力しました。

何がうまくいかなかったのかわかりません。

どんな助けでも大歓迎です!


これは Facebook のログイン ウィンドウですが、ユーザーに許可を求めることはありません。

Facebook ログインウィンドウ

コードは次のとおりです。

<body>
     <div id="fb-root"></div>
     <script>
          window.fbAsyncInit = function() {
               FB.init({
                    appId          : 'myAppId',
                    channelUrl     : '/www.mydomain.com/channel.html',
                    oauth          : true,
                    cookie         : true,
                    status         : false
               });

               facebookLogin();
          };

          function facebookLogin() {
               FB.login(function(response) {
                    if (response.authResponse) {
                         console.log('Welcome!');
                    } else {
                         console.log('User cancelled login or not fully authorized');
                    }
               },
               {scope:'email,publish_actions'});
          }

          function checkLoginStatus() {
               FB.getLoginStatus(function(response) {
                    if (response.status === 'connected') {
                         // Do something
                    } else if (response.status === 'not_authorized') {
                         // Do something
                         console.log("User is logged in to Facebook, but not connected to app");
                    } else {
                         // Do something else
                    }
               });
          }

          (function(d, s, id) {
               var js, fjs = d.getElementByTagName(s)[0];
               if (d.getElementById(id)) {
                    return;
               }
               js = d.createElement(s);
               js.id = id;
               js.src = "//connect.facebook.net/en_US/all.js";
               fjs.parentNode.insertBefore(js, fjs);
          }(document, 'script', 'facebook-jssdk'));
     </script>

     .
     .
     .
</body>

ボタンのコードは次のとおりです。

$('#fb-button').click(function() {
     checkLoginStatus();
}
4

1 に答える 1