Javascript Facebook登录在Andriod 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(

从一开始,我就在我的网站上使用Facebook登录Javascript SDK,但最近它在Android Facebook应用程序浏览器中停止工作。当我单击登录按钮时,它会重新加载整个页面以转到授权页面,然后返回,它什么也没有得到

Facebook提供的示例也有相同的问题,已经使用甚至FB.login函数以及Facebook登录按钮()进行了测试。两人的结果都一样。它只是刷新页面

示例代码:

<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应用程序最近的更新,由于令牌请求刷新页面。