Javascript Facebook登录在Andriod Facebook应用程序浏览器中不起作用
从一开始,我就在我的网站上使用Facebook登录Javascript SDK,但最近它在Android Facebook应用程序浏览器中停止工作。当我单击登录按钮时,它会重新加载整个页面以转到授权页面,然后返回,它什么也没有得到 Facebook提供的示例也有相同的问题,已经使用甚至FB.login函数以及Facebook登录按钮()进行了测试。两人的结果都一样。它只是刷新页面 示例代码:Javascript Facebook登录在Andriod Facebook应用程序浏览器中不起作用,javascript,facebook,facebook-javascript-sdk,facebook-login,facebook-browser,Javascript,Facebook,Facebook Javascript Sdk,Facebook Login,Facebook Browser,从一开始,我就在我的网站上使用Facebook登录Javascript SDK,但最近它在Android Facebook应用程序浏览器中停止工作。当我单击登录按钮时,它会重新加载整个页面以转到授权页面,然后返回,它什么也没有得到 Facebook提供的示例也有相同的问题,已经使用甚至FB.login函数以及Facebook登录按钮()进行了测试。两人的结果都一样。它只是刷新页面 示例代码: <script> function LoggedFb(){ FB.login(
<script>
function LoggedFb(){
FB.login(function (response) {
FB.api(`/me?fields=id,email&access_token=${response.authResponse.accessToken}`, function
(userResponse) {
alert(userResponse.email);
});
}, { scope: 'email' })
}
</script>
function signIn() {
FB.getLoginStatus((response: any) => {
if (response.status !== 'connected') {
return FB.login((response: any) => {
handleFbResponse(response);
}, {
scope: 'public_profile,email',
enable_profile_selector: true,
auth_type: 'rerequest',
return_scopes: true
});
} else {
handleFbResponse(response);
}
});
}
function handleFbResponse(response) { ... }
函数LoggedFb(){
FB.登录(功能(响应){
api(`/me?fields=id,email&access_-token=${response.authResponse.accessToken}`,函数
(用户响应){
警报(userResponse.email);
});
},{作用域:'电子邮件'})
}
除了Android Facebook应用程序浏览器之外,该代码在所有平台上都有效
谢谢。对我来说,这是一个持续循环:登录、刷新并重试,但从未登录 我可以通过使用
FB.getLoginStatus
而不仅仅是FB.login
来解决这个问题
如果用户已经通过fb登录,它将通过。如果没有,将有一个刷新,但登录将工作
如果有人能解决这个问题,我将不胜感激,这样就不会有任何刷新
示例代码:
<script>
function LoggedFb(){
FB.login(function (response) {
FB.api(`/me?fields=id,email&access_token=${response.authResponse.accessToken}`, function
(userResponse) {
alert(userResponse.email);
});
}, { scope: 'email' })
}
</script>
function signIn() {
FB.getLoginStatus((response: any) => {
if (response.status !== 'connected') {
return FB.login((response: any) => {
handleFbResponse(response);
}, {
scope: 'public_profile,email',
enable_profile_selector: true,
auth_type: 'rerequest',
return_scopes: true
});
} else {
handleFbResponse(response);
}
});
}
function handleFbResponse(response) { ... }
我遇到了完全相同的问题,但仅限于Android 9设备。你能确认一下吗?你找到解决方案了吗?@a.I.这个问题还没有解决方案,现在,我已经通过facebook实现了手动登录。谢谢。由于Facebook提供的示例也有同样的问题,我认为这应该是应用程序内Facebook浏览器的一个bug。我最近向Facebook报告了这个bug。如果你找到了解决方案,请在这里分享。我也会这样做。谢谢。是的,这是由于Facebook Android应用程序最近的更新,由于令牌请求刷新页面。