我使用以下代码来获取用户的电子邮件:
AccessToken accessToken = AccessToken.getCurrentAccessToken();
GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject jsonObject, GraphResponse graphResponse) {
// Obtaining
}
}).executeAsync();
通过调试器检查以下内容:
- AccessToken 实例包含权限“email”和“public_profile”
- AccessToken 实例拒绝的权限集为空
- 生成的 JSONObject 仅包含用户 ID 和姓名,但不包含电子邮件
个人资料有电子邮件 - 我正在通过电子邮件进行身份验证。
我正在使用 Facebook SDK 4.5
编辑:通过直接 HTTP 图形 API 调用的请求返回电子邮件。但 Android SDK 没有。
如何解决?
最佳答案
尝试一下,您需要发送“电子邮件”作为 GraphRequest
参数的一部分。
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject object,
GraphResponse response) {
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email");
request.setParameters(parameters);
request.executeAsync();
关于android - Facebook Android SDK — meRequest 中没有 'email',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32172410/