getLoginStatus未通过从FB canvas调用触发
正在尝试客户端站点授权,并尝试在画布中运行。如果我直接访问我的网站,一切正常。如果我尝试通过画布运行,它会运行,但getLoginStatus根本不会启动getLoginStatus未通过从FB canvas调用触发,canvas,facebook-javascript-sdk,facebook-canvas,Canvas,Facebook Javascript Sdk,Facebook Canvas,正在尝试客户端站点授权,并尝试在画布中运行。如果我直接访问我的网站,一切正常。如果我尝试通过画布运行,它会运行,但getLoginStatus根本不会启动 var curLoc = window.location; FB.init({ appId: 'xxxxxxxxxxxxxxx', // App ID channelUrl: curLoc.protocol + "//" + curLoc.hostname + ":" + curLoc.port + "/channel.ht
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运行,因为我没有
有什么想法吗?我一直面临同样的问题,我就是这样解决的: 即使getLoginStatus()在http网站中工作,getLoginStatus()也不会在fb画布中启动,除非您提供有效的安全画布URL()! 这意味着您需要在https服务器(端口443)上运行应用程序
如果不想购买证书,可以创建并自签名证书(请参见此处:)
我希望这会有所帮助您解决过这个问题吗?我现在也有同样的问题,你在控制台中有错误吗?应在
window.fbasyninit=function(){FB.init(…);}