这是我的代码:
<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或Canvas URL匹配,或者域必须是App域之一的子域。
为什么?
答案 0 :(得分:1)
问题可能与回调网址有关。检查您的网站网址,并在创建您的Facebook应用程序时回拨您提供的网址。它们都应该是相同的或子域(基域应该相同)。如果您从localhost调用fb登录,请将回调URL也提供为localhost /....