0

这是我的代码:

   <div id="fb-root"></div>
   <body>
   <script>
            window.fbAsyncInit = function() {
                FB.init(
                {
                    appId: 'XXX',
                    status: true,
                    cookie: true,
                    xfbml: true,
        channelUrl: 'fbsite.url'

                });
            };

            (function() {
                var e = document.createElement('script');
                e.src = document.location.protocol + '//connect.facebook.net/en_US  /all.js';
                e.async = true;
                document.getElementById('fb-root').appendChild(e);
            }());
        //LOGIN FUNCTION 
   function login() {
    FB.login(function(response) {
        if (response.authResponse) {
            alert('Success!');
        }else{
            alert('Login Failed!');
        }
    }, {scope: 'email'});
 }

  </script>
  <div onclick="login();">Login with Facebook</div>

如果我在 div 上单击使用 Facebook 登录,我得到错误,是这样的:

应用程序配置不允许给定 URL。:应用程序的设置不允许一个或多个给定 URL。它必须与网站 URL 或画布 URL 匹配,或者域必须是应用程序域之一的子域。

这是为什么?

4

1 回答 1

1

问题可能与回调网址有关。检查您在创建 Facebook 应用程序时提供的网站 url 和回调 url。它们都应该是相同的或子域(基本域应该相同)。如果您从 localhost 调用 fb login,请将回调 url 也提供为 localhost/....

于 2013-07-11T13:07:28.443 回答