[英]Facebook Graph API not returning Gender
我正在使用Facebook SDK登录用户。 为了获得性别,我在权限列表中添加了user_gender
权限。
List<String> accessPermissions = Arrays.asList("user_gender", "email", "user_birthday");
LoginManager.getInstance().logInWithReadPermissions(activity, accessPermissions);
之后我获得了访问令牌。 现在我将此访问令牌传递给后端团队。 后端团队正在使用Facebook Graph API来获取用户详细信息,如生日,性别,电子邮件等。
他们点击以下API来获取用户详细信息。
https://graph.facebook.com/me?access_token=dummyaccesstoken&fields=name,gender,birthday,email
他们能够获得电子邮件和生日等详细信息。 但他们无法获得用户的性别。 由于它是一个GET API,我还可以看到我们没有得到用户的性别。
但是,如果我们尝试在Android本身获取详细信息而不是将访问令牌传递给后端,那么它可以正常工作。
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject object,
GraphResponse response) {
Log.d("Response", "response is "+response.getJSONObject().toString());
// Application code
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,link, gender");
request.setParameters(parameters);
request.executeAsync();
那么Facebook Graph API的问题是什么? 为什么它无法归还性别? 其他人都面临这个问题?
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();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.