javascript - Facebook 登录在应用程序浏览器中的 Android Facebook 中不起作用

标签 javascript facebook facebook-javascript-sdk facebook-login facebook-browser

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

Facebook 给出的示例也有同样的问题,甚至使用 FB.login 函数和 Facebook 登录按钮(https://developers.facebook.com/docs/facebook-login/web/login-button)进行了测试。他们两个得到了相同的结果。它只是刷新页面。

示例代码:

<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>

该代码适用于除 Android Facebook 应用内浏览器以外的所有平台。

谢谢。

最佳答案

对我来说,它一直在循环:登录、刷新并重试,但从不登录。

我能够通过使用 FB.getLoginStatus 而不是仅仅使用 FB.login 来解决这个问题。

如果用户已经通过 fb 登录,它将通过。如果没有,将进行一次刷新,然后登录即可。

如果有人能解决这个问题,我将不胜感激,这样根本就不会刷新。

示例代码:

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) { ... }

关于javascript - Facebook 登录在应用程序浏览器中的 Android Facebook 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59135674/

相关文章:

css - 导致水平滚动的 Facebook 发送按钮

javascript - FB.getLoginStatus 显示我在删除权限后已连接?

asp.net - Facebook C# SDK : "Invalid signed request" exception when parsing fbsr cookie

javascript - 如何检测 Chrome 是否认为当前页面是安全来源?

javascript - 是否有一个集合映射 jquery 函数,其中 end 方法适用于基本查询

javascript - FB.ui 回调未调用/FB.ui 流发布永久加载

java - 我可以在不安装 facebook.apk 的情况下使用适用于 Android 的 facebook sdk 吗?

facebook-javascript-sdk - 带有 Facebook SDK 的 HotTowel SPA

javascript - 为javascript中的全局变量赋值

javascript - Selectpicker(引导选择)不起作用,显示禁用菜单?