0

我正在使用 Facebook JavaScript SDK。

当我单击网页上的 Facebook 分享按钮时,会弹出 Facebook 登录窗口。我输入用户名和密码,登录,然后消息

“用户取消登录或未完全授权”

出现了。我确实成功登录,但不知何故,请求的权限未被授权。

当我再次单击 Facebook 分享按钮时,消息

“用户已登录 Facebook,但未连接到应用程序”

出现了。

使用 App ID 和 App Secret 成功创建 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

0

我忘记在 Facebook 应用设置中禁用沙盒模式。禁用沙盒模式后一切正常。

于 2013-09-02T03:47:31.883 回答