Facebook登录移动投掷错误屏幕而不是登录屏幕

red*_* 87 5 javascript facebook facebook-graph-api

我正在通过Facebook向我的网站注册用户,并且在移动设备上遇到了一个问题.我首先要说的是我对Facebook用户登录过程相当新.旅程如下:

首先,我点击一个按钮调用fb.login函数启动facebook弹出窗口,让他们像这样登录:

jQuery(".welcome-cta-facebook span").on("click",function(){     
    FB.login(function(response) {
        if (response.authResponse) {
            getFbUserDetails();
        } else {
            console.log('User cancelled login or did not fully authorize.');
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

然后,我们在登录后调用getFbUserDetails函数并接受应用程序,如下所示:

function getFbUserDetails(){
    FB.api(
      '/me',
      'GET',
      {"fields":"id,name,picture{url},email"},
      function(response) {
          console.log(response);
          fbParameters = "?facebookID=" + response.id + "&facebookName=" + response.name + "&facebookEmail=" + response.email + "&facebookProfilePictureURL=" + response.picture.url;

          /* then send the fb parameters to my DB */
      }
    );
};
Run Code Online (Sandbox Code Playgroud)

这个旅程的工作原理与桌面应用完全相同,但是我遇到了移动设备的一些问题,我不确定如何解决:

  • 如果用户没有登录他们的移动浏览器,我会收到以下错误:

未登录:您尚未登录.请登录并重试

  • 如果用户通过他们的移动浏览器登录,我会收到以下错误:

"URL已阻止:此重定向失败,因为重定向URI未在应用的客户端OAuth设置中列入白名单.请确保启用了客户端和Web OAuth登录,并将所有应用域添加为有效的OAuth重定向URI."

不知道为什么我看到这些错误,如果它在桌面上正常工作.如何在移动设备上收集某人的详细信息?我使用这种方法是对的吗?值得注意的是我没有使用facebook登录按钮.

谢谢,感谢我能得到的帮助!

Lio*_*l B 4

您需要为您的 Facebook 应用程序添加白名单字段中的所有 URI

Facebook Developers -> Settings -> Advanced -> Security
Run Code Online (Sandbox Code Playgroud)

在安全块中,您将看到“IP 允许的服务器”

在此字段中添加所有 URI