gpt4 book ai didi

javascript - Facebook 选项卡/页面身份验证问题 : getLoginStatus always returns not_authorized

转载 作者:行者123 更新时间:2023-12-02 04:58:15 25 4
gpt4 key购买 nike

我的 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 文档上看到任何提供任何信息的附加信息。

如果用户登录并且是某个页面的粉丝,我基本上希望显示内容,否则 Conceal 内容。 (俗称扇门)

最佳答案

本可以将此作为评论发布,但我还不能...

在您的选项卡加载并且 FB.getLoginStatus() 响应指示“not_authorized”(因此,我假设,显示您的登录按钮)之后——如果您随后单击您的登录按钮会发生什么?是否给 facebook 弹出提示授权应用程序? (我不太想问这个问题,但你真的确定你已经授权了该应用程序吗?)还是它什么都不做?

-在 FB.login 的回调中.. 如果你添加一个 console.log(response.authResponse) 会输出什么?

-我相信 channelUrl 应该是完全合格的,而你有它的根相对。不确定这会对你的问题产生任何影响,但可能想尝试一下。参见 https://developers.facebook.com/docs/javascript/gettingstarted/#channel

关于javascript - Facebook 选项卡/页面身份验证问题 : getLoginStatus always returns not_authorized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19437773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com