Facebook标签/页面身份验证问题:getLoginStatus总是返回not_authorized
Facebook Tab / Page Authentication issues: getLoginStatus always returns not_authorized
我的Facebook应用程序有以下代码:
window.fbAsyncInit = function() {
FB.init({
appId : 'XXXXXX', // App ID
channelUrl : '/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// Additional initialization code here
//***************************************************
//* FanGate for Facebook
//***************************************************
var hideLogin = function(){
$("#login-fb").hide();
}
var showLogin = function(){
$("#login-fb").show();
}
var doLogin = function(){
FB.login(function(response) {
if (response.session) {
hideLogin();
checkLike(response.session.uid)
} else {
// user is not logged in
}
});
}
var checkLike = function(user_id){
var page_id = "XXXXXXXXX"; //coca cola
var fql_query = "SELECT uid FROM page_fan WHERE page_id = "+page_id+"and uid="+user_id;
var the_query = FB.Data.query(fql_query);
the_query.wait(function(rows) {
if (rows.length == 1 && rows[0].uid == user_id) {
$("#thirsty_thursdays").show();
} else {
$("#fan_gate").show();
}
});
}
FB.getLoginStatus(function(response) {
console.log(response.status);
if (response.status == 'connected') {
hideLogin();
checkLike(response.authResponse.userID)
} else {
showLogin();
}
}, true);
$("#login-fb a").click(doLogin);
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
response.status
总是返回not_authorized
我真的不清楚为什么。 我已登录Facebook,该应用程序是一个简单的页面选项卡。我最近在Facebook上添加了应用程序,看看是否有帮助,但没有运气。
我没有在Facebook JS SDK文档中看到任何提供任何信息的其他信息。
如果用户已登录并且是某个页面的粉丝,我基本上希望显示内容,如果不是,则隐藏内容。 (通常称为风扇门)
会将其作为评论发布,但我还不能...
在您的选项卡加载并且FB.getLoginStatus()响应指示"not_authorized"(因此,我假设显示您的登录按钮)后 - 如果您然后单击登录按钮会发生什么? 它是否提供Facebook弹出窗口提示以授权该应用程序?(我犹豫要不要问这个问题,但你真的确定你已经授权了这个应用程序吗? 还是它什么都不做?
-在FB.login的回调中。 如果您添加控制台.log(响应.authResponse),它会输出什么?
-我相信channelUrl应该是完全限定的,而你有它的根相对。 不确定这会对您的问题产生任何影响,但可能想尝试一下。. 见 https://developers.facebook.com/docs/javascript/gettingstarted/#channel
相关文章:
- 节点导出返回一个空对象
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 控制台返回var不是't定义,但它是
- 从函数返回角度承诺
- Javascript返回值只在循环中返回一次
- 从控制器返回后Ajax启动事件激发
- CKFinder 3为所选文件返回错误的URL
- 如何在d3.js中返回路径的y坐标
- 如何从jquery函数返回变量
- Angular js-返回一个包含类似
- jQuery is not loaded
- AngularJS JSON not arriving php
- 布尔对象上的逻辑 NOT 在 Javascript 中总是返回 false
- JavaScript文件在IIS上返回404 Not Found
- 为什么我'我得到的是Not-A-Number,而不是函数返回的Value
- 如何验证 ajax 返回值的 javascript “not null”
- 异步Javascript/async:应立即返回not interrupt函数
- 我得到了错误“返回绑定”.PBKDF2(密码、盐、迭代、keylen、回调);^ TypeError: Not a bu
- 节点路由器.delete函数返回404 Not Found