我一直在我的应用中使用Facebook登录一段时间没有任何问题。我们对我们的网站进行了重大更新,现在我不断收到某些用户的错误,只在我们的Android cordova应用中
(OAuthException - #100)(#100)尝试在节点类型(AnonymousUser)上访问不存在的字段(first_name)
我无法重现错误,尝试了许多不同的东西,安装了或不安装Facebook应用,不同的用户,不同的手机。
我在C#中使用此代码来获取用户
var fb = new Facebook.FacebookClient(accessToken);
fb.Version = "v2.8";
dynamic me = fb.Get("me?fields=first_name,last_name,id,email, gender");
但如果我这样做
dynamic me = fb.Get("me?fields=id");
然后它工作并给我一个id,但我认为first_name和last_name始终可用。
我在更新中看不到任何会破坏这一点的内容,我无法确定令牌对于AnonymousUser的方式。你怎么能得到这样的代币?
修改 这是cordova登录代码
facebookConnectPlugin.login(
["email"], // array of permissions
function (response: any) { ... },
function (response: any) { ... }
);
答案 0 :(得分:3)
我也遇到了同样的问题,有人向facebook报道 https://developers.facebook.com/bugs/173424853153369/
答案 1 :(得分:0)
直到facebook修复其错误的解决方法是将public_profile添加到要求的权限列表中
facebookConnectPlugin.login(
["public_profile", "email"], // array of permissions
function (response: any) { ... },
function (response: any) { ... }
);