我将通过Facebook注册用户到我的网站上,并在移动设备上遇到了一个问题。首先,我要说明我对Facebook用户登录过程还比较陌生。整个过程如下:
首先,当用户点击按钮时,我会调用fb.login函数来启动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.');
}
});
});
一旦用户登录并接受应用程序,我就会调用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 */
}
);
};
这个过程在桌面上完全正常,但移动端遇到了一些问题:
- 如果用户没有在他们的移动浏览器中登录,我会收到以下错误消息:
未登录:您尚未登录。请登录后重试。
- 如果用户通过其移动浏览器登录,我会收到以下错误消息:
"URL已阻止:此重定向失败,因为应用的客户端OAuth设置中未列入白名单的重定向URI。确保“客户端”和“Web OAuth登录”打开,并将所有应用程序域添加为有效的OAuth重定向URI。"
不确定为什么桌面上没有问题,却会出现这些错误。如何在移动端顺利地收集某人的详细信息?我使用这种方法是正确的吗?值得注意的是,我没有使用 Facebook 登录按钮。
感谢和欣赏我能得到的帮助!