android - Facebook Android SDK — meRequest 中没有 'email'

标签 android facebook facebook-sdk-4.0 facebook-sdk-4.x

我使用以下代码来获取用户的电子邮件:

    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/

相关文章:

android - 在 Android 中查找进程线程对资源(CPU 和内存)的使用情况

java - 尝试通过 https 调用服务时出现异常

ios - Facebook Paper like 动画

Android、Facebook 登录按钮导致崩溃 (SDK 4.0.0)

android - 如何更改 'Log in with Facebook' 按钮的高度?

java - Android getAllCellInfo() 返回 null

android - 在一个 OUTER JOIN 查询中获取所有联系人及其详细信息(例如邮政地址)

c# - facebooksdk.net 发布不起作用 - 无法将 LoginButton.CurrentSession 发布到

javascript - 如何创建一个滑动的 FB Like Box

ios - Swift:处理 Facebook token 错误