我正在整合Facebook登录并访问用户的数据,我已经这样做了,但是有一个问题 - 它没有重新调整电子邮件ID或联系号码。
private String buildUserInfoDisplay(GraphUser user) {
StringBuilder userInfo = new StringBuilder("");
userInfo.append(String.format("Name: %s\n\n",
user.getName()));
userInfo.append(String.format("Birthday: %s\n\n",
user.getBirthday()));
userInfo.append(String.format("Email: %s\n\n",
user.getUsername()));
userInfo.append(String.format("Gender: %s\n\n",
user.getProperty("gender")));
userInfo.append(String.format("Iddddddd: %s\n\n",
user.getId()));
userInfo.append(String.format("Location: %s\n\n",
user.getLocation().getProperty("name")));
userInfo.append(String.format("Locale: %s\n\n",
user.getProperty("locale")));
System.out.println("User info"+userInfo);
}
用户信息会返回所有数据,但不会返回电子邮件ID或联系号码
答案 0 :(得分:1)
好的,首先是第一件事:
public static final String[] PERMISSIONS = new String[] {"email"};
String response=authenticatedFacebook.request("me");
JSONObject obj = Util.parseJson(response);
useremail=obj.getString("email");`
其中authenticatedFacebook是Facebook对象。
Util将与Facebook SDK一起提供。但是,我认为util
可能会被取消,因此您可以随时使用:user.getInnerJSONObject().getString("email");
确保您提供了电子邮件权限。