gpt4 book ai didi

android - 在 Facebook SDK 3.0 的某些 Android 设备中无法访问 Facebook 用户电子邮件

转载 作者:搜寻专家 更新时间:2023-11-01 08:58:05 25 4
gpt4 key购买 nike

我按照此 link 在我的应用程序中集成了 Facebook SDK 3.0 .我在收到用户的电子邮件时遇到一个问题。

对于某些设备,我可以收到电子邮件,但对于某些设备(例如我现在知道的三星 Note 2、三星的 Google Nexus。)我没有收到电子邮件。我已经添加了接收电子邮件的权限。

任何人都可以向我建议一些指导方针吗?任何类型的帮助都值得赞赏。我正在尝试通过以下方式获取用户信息。

     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);

任何形式的帮助或指南都是有帮助的。

最佳答案

我终于得到了我的问题的答案我检查了我 friend 的一个 Facebook id,发现他没有在他的 中输入他的 Email Id Facebook 帐户。如果我们使用了获取电子邮件的权限,我们仍然无法获取它。要获取电子邮件,我们需要添加此 link 中提到的权限或者我们可以像我在问题中使用的那样明确添加权限。重要的是,只有在那边提到时,您才能收到电子邮件。

希望这对某些人有帮助。

关于android - 在 Facebook SDK 3.0 的某些 Android 设备中无法访问 Facebook 用户电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17419479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com