我通过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.');
}
});
});
然后我在登录后调用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已阻止:此重定向失败,因为重定向URI不是 已在应用的客户端OAuth设置中列入白名单。确保客户端和 已启用Web OAuth登录,并将所有应用程序域添加为有效OAuth 重定向URI。"
如果在桌面上工作正常,我不确定为什么我会看到这些错误。如何在移动设备上收集某人的详细信息?我使用这种方法是对的吗?值得注意的是我没有使用facebook登录按钮。
感谢并感谢我能得到的帮助!
答案 0 :(得分:4)
您需要为您的Facebook应用添加白名单fied中的所有URI
Facebook Developers -> Settings -> Advanced -> Security
在“安全性”块中,您将看到“允许使用IP的服务器”
在此字段中添加所有URI