Facebook API - auth.login不会触发
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Facebook API - auth.login不会触发相关的知识,希望对你有一定的参考价值。
我一直在用我的应用程序使用代码连接到Facebook,当我再次检查它时它突然无法正常工作。更具体地说,我能够连接到Facebook,但auth.login订阅没有触发,我需要在登录Facebook后做一些事情。这是我的代码:
window.fbAsyncInit = function () {
FB.init({ appId: facebookAppId,
status: true, // check login status
cookie: true, // enable cookies to allow server to access session
xfbml: true, // enable XFBML and social plugin
oauth: true // enable OAuth 2.0
});
$('#sender').val('linked');
FB.getLoginStatus(function (response) {
if (response.authResponse) {
FB.logout();
}
});
FB.Event.subscribe('auth.login', function (response) {
if (response.status == 'connected') {
//Get data Facebook returned and save
//Hide button
//Display Success Message
}
else {
//Display Failed Message
}
});
};
(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'));
我的html页面中有这个按钮:
<fb:login-button scope="publish_stream,offline_access">{0}</fb:login-button>
一些额外的信息:
我注意到连接到Facebook时还添加了其他步骤。最后我查了一下,我只需要使用我的凭据登录,但我注意到当前的登录程序有两个额外的步骤。我不知道这些额外的步骤是否与它有关,但我只是把它扔出去:
- 一个对话框,其中包含有关应用程序的一些信息以及一个显示“使用Facebook登录”的按钮。
- 应用程序要求用户发布权限的另一个对话框。
那么,我做错了什么?:(
答案
两件事情:
- 我开始认为facebook在'auth.login'中做了一些改变,现在慢慢地对越来越多的人不起作用。看到有关它的相关问题 -
FB.Event.Subscribe not working for some users
Auto login facebook - FB.Event.subscribe auth.login doesn't work
- 既然你很久以前就问过它,你可能需要刷新你的SDK文件,如果你使用php sdk,因为它不断变化。
以上是关于Facebook API - auth.login不会触发的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 55 - Passport & Vue - auth/login/logout
维护用户会话(在 Facebook O-Auth、服务器端登录之后)
Symfony 4.4 FOS user-bundle api/auth/login 在 null 上调用成员函数 findOneBy()
“gcloud auth application-default login”和“gcloud auth login”之间的区别