Facebook(OAuthException - #100)尝试在节点类型(AnonymousUser)上访问不存在的字段(first_name)

时间:2017-02-16 16:25:41

标签: c# android facebook cordova facebook-graph-api

我一直在我的应用中使用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) { ... }
);

2 个答案:

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