Facebook Graph API不返回性别

时间:2019-04-09 13:06:27

标签: android facebook-graph-api facebook-login facebook-graph-api-v2.0

我正在使用Facebook SDK登录用户。为了获得性别,我在权限列表中添加了header权限。

user_gender

之后,我将获得访问令牌。现在,我将此访问令牌传递给后端团队。后端团队正在使用Facebook Graph API来获取用户详细信息,例如生日,性别,电子邮件等。

他们点击了以下API来获取用户详细信息。

List<String> accessPermissions = Arrays.asList("user_gender", "email", "user_birthday");
LoginManager.getInstance().logInWithReadPermissions(activity, accessPermissions);

他们能够获取电子邮件和生日之类的详细信息。但是他们无法获得用户的性别。由于它是GET API,因此我还可以看到我们没有得到用户的性别。

但是,如果我们尝试在Android本身中获取详细信息,而不是将访问令牌传递给后端,那么它将正常工作。

https://graph.facebook.com/me?access_token=dummyaccesstoken&fields=name,gender,birthday,email

那么Facebook Graph API的问题是什么?为什么不能返回性别?还有其他人遇到这个问题吗?

1 个答案:

答案 0 :(得分:0)

List<String> accessPermissions = Arrays.asList("user_gender", "email", "user_birthday");
LoginManager.getInstance().logInWithReadPermissions(activity, accessPermissions);

write instead of user_gender and email and user_birthday   

LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile", "email"));

and write the Bundle request params

 Bundle parameters = new Bundle();
        parameters.putString("fields", "id,name,email,gender,birthday");
        request.setParameters(parameters);
        request.executeAsync();