为用户电子邮件获取null - restfb

时间:2014-10-11 17:42:44

标签: java facebook facebook-graph-api restfb

我最近开始研究facebook的manual login flow。然后按此blog获取访问令牌,并使用restfb访问用户信息 以下是提到的代码段 - Fetching Single Objects

FacebookClient facebookClient = new DefaultFacebookClient(ACCESS_TOKEN, APP_SECRET);
User user = facebookClient.fetchObject("me", User.class);

我已成功获取用户的姓名,名字和姓氏,但它会为nullemail)返回user.getEmail();

我的脸书应用拥有默认权限: permissions

任何人都可以帮助我如何访问用户电子邮件?

更新

我一直在尝试使用graph-api资源管理器查看我为email获取的内容 graph-api explorer 它说Field is empty or disallowed by the access token。我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:8)

试试这个

User me = client.fetchObject(yourId, User.class,Parameter.with("fields", "email"));

答案 1 :(得分:0)

用户未列出其电子邮件,或者您未在范围内请求email权限。

检查您对email

的请求是否具有me/permissions权限

在提到的博文中,应email设置getLoginRedirectURL。要在通过登录对话框时确保这一点,请检查Facebook登录对话框是否要求提供电子邮件权限。

手动流程

中也对此进行了描述

https://www.facebook.com/dialog/oauth? client_id={app-id} &redirect_uri={redirect-uri}&scope=email