Facebook Javascript API在画布中失败,但在我直接访问应用程序时工作正常。每当我尝试创建一个Facebook查询时,我都会收到“访问令牌需要请求此资源”错误。我试过getLoginStatus
,但回调从未在画布中被调用。但它确实在直接网页中被调用。看到这段代码:Facebook:仅在画布中请求“访问令牌才能请求此资源”
window.fbAsyncInit = function() {
FB.init({
appId : '{{ app_id }}', // App ID
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
frictionlessRequests : true
});
console.log("INIT");
FB.getLoginStatus(function(response) {
alert("GOT STATUS");
alert(response);
},true);
};
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(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'));
“INIT”总是输出,但警报仅在我直接访问页面时调用。
编辑:这是有问题的应用程序:https://apps.facebook.com/quirkyversaries/
当您尝试创建一个新的机会和搜索好友时出现问题。由于上面解释的问题,搜索失败。当您尝试创建页面场合时,它也会失败,因为页面无法加载。
您将放入JS代码中的应用程序ID与实际在画布中加载的应用程序相同?你能给我们链接到FB上的应用程序吗? – CBroe
是的,应用程序ID是正确的。我将禁用沙盒模式并在问题中发布链接... –
嗯,当我尝试时搜索工作正常。 –