我按照link在我的应用中集成了Facebook SDK 3.0
。我在收到用户的电子邮件时遇到了一个问题。
对于某些设备,我可以收到电子邮件,但是对于某些设备(例如三星Note 2,我现在知道的三星Google Nexus。)我没有收到电子邮件。我已经添加了获取电子邮件的权限。< / p>
任何人都可以建议我这方面的任何类型的帮助表示赞赏。我正在尝试以下列方式获取用户信息。
Request request = Request.newMeRequest(session,
new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
// If the response is successful
if (session == Session.getActiveSession()) {
if (user != null) {
String userName = user.getName();
String userEmail = user.asMap().get("email").toString();
userEmail = (String)user.getProperty("email");
String userId = user.getId();
Session session = Session.getActiveSession();
String userAccessToken = session.getAccessToken();
}
}
if (response.getError() != null) {
// Handle errors, will do so later.
}
}
});
String NAME = "name";
String ID = "id";
String PICTURE = "picture";
String EMAIL = "email";
String FIELDS = "fields";
String REQUEST_FIELDS = TextUtils.join(",", new String[] {ID, NAME, PICTURE, EMAIL});
Bundle parameters = new Bundle();
parameters.putString(FIELDS, REQUEST_FIELDS);
request.setParameters(parameters);
Request.executeBatchAsync(request);
我也尝试过收发电子邮件,但仍无效。
Bundle params = request.getParameters();
params.putString("fields", "email");
params.putString("basic_info", "email,name");
request.setParameters(params);
Request.executeBatchAsync(request);
任何形式的帮助或指南都是有帮助的。
答案 0 :(得分:3)
最后,我得到了我的问题的答案,我使用了我朋友的Facebook
个ID,发现他没有在Email Id
帐户中输入Facebook
。如果我们使用了获取电子邮件的权限仍然是我们因此而无法获取。要获取电子邮件,我们需要添加此link中提及的权限,或者我们可以明确添加我在问题中使用的权限。还有一个重要的事情是,只有当它在那里提到时,你才能收到电子邮件。
希望这对某些人有用。
答案 1 :(得分:0)
在我看来,你应该创建一个OpenRequest对象,如Stack Overflow的这个链接所示。它可能会解决您的问题。 : - Set permission for getting User's email ID from Facebook Login