尝试客户端站点授权,并尝试在画布内运行。如果我直接访问我的网站http://mysite.com/一切正常。如果我尝试通过画布运行https://apps.facebook.com/myapp它会运行但 getLoginStatus 根本不会触发。
var curLoc = window.location;
FB.init({
appId: 'xxxxxxxxxxxxxxx', // App ID
channelUrl: curLoc.protocol + "//" + curLoc.hostname + ":" + curLoc.port + "/channel.html",
cookie: true, // enable cookies to allow the server to access the session
status: true,
oauth: true,
xfbml: true
});
FB.getLoginStatus(function (response) {
if (response.status === 'connected') {
smloader.gameVariables.smUserid = response.authResponse.userID;
facebook.isLoaded = true;
} else {
facebook.authUser();
}
}, true);
如果需要,请登录。
function facebook.authUser() {
FB.login(function (response) {
if (response.authResponse) {
smloader.gameVariables.smUserid = response.authResponse.userID;
facebook.isLoaded = true;
}
else {
facebook.authUser();
}
}, { scope: 'email,publish_actions' });
}
一旦 Facebook.isLoaded 为真,我就知道我们已登录并准备继续。但它永远不会直接从画布页面到达那里。
我处于沙盒模式,目前通过 http 而不是 https 运行,因为我没有
有任何想法吗?