我们有几个Facebook应用程序已经工作了很多年。非常简单的画布应用。最近,我们决定修改一些应用程序,所以我正在尝试安装测试版本,以便我可以开始探索。FB.getLoginStatus已停止工作?
但由于某种原因,我被拒绝。在我的应用程序的启动,此Javascript运行:
(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/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
// Load the Facebook SDK asynchronously
window.fbAsyncInit = function() {
FB.init({
appId : appId, // MY APP ID
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse social plugins on this page
version : 'v2.8' // set default SDK version
});
FB.getLoginStatus(function(response) {
handleLoginStatusChange(response);
});
};
但调用getLoginStatus一贯返回和对象有:
authResponse: undefined
status: "undefined"
好吧,我认为这是与流动的问题......它用于工作,但现在......
总之,应用程序做到这一点:
一)初始化Facebook的API
二)调用FB.getLoginStatus确定认证状态
C)如果返回“未授权”,我把登录屏幕
d)如果返回“连接”,我做图电话
e)如果返回“未知”,我只是打印一个错误。 (我在FB.getLoginStatus的Doc页面上使用了这个例子)。
我已经修复了“e)”,因此它在这种情况下放置了登录页面,并且进一步进入了杂草。我的登录函数调用FB.login,然后再次进入处理程序,这将获得“连接”状态。这可以调用图表来获取有关帐户页面的信息,然后在我的(PHP,顺便)应用程序中重定向到另一个页面,让用户将我的应用程序附加到他/她想要的任何页面。但是,这个重定向 - 处理访问令牌(如果需要更新),然后重新开始。初始化FB API,并调用getLoginStatus。即使我刚刚完成登录过程,它仍会返回未知状态。
???这是工作,我们有应用程序安装在近500个Facebook帐户,目前正在使用,即使在今天我看到点击。
不知道我在这里错过了什么。
_“如果我不能让过去的很初始; FB登录,我宁愿沉没“_ - 你没有_implement_登录(至少不在你显示的代码中)。 – CBroe
真的,对不起我的不精确的语言。直到最近,我确实实施了一些工作正常的事情。 –