gpt4 book ai didi

android - 无法通过 Facebook Android SDK 获取电子邮件地址

转载 作者:行者123 更新时间:2023-11-29 15:49:06 26 4
gpt4 key购买 nike

我尝试使用以下代码通过我的应用程序获取我的 Facebook 电子邮件地址,但返回值为空。

我不知道是什么原因,但我可以使用 Graph API explorer 获取电子邮件地址。有人知道这段代码有什么问题吗?

@Override

public void onCreate(Bundle savedInstanceState) {

// Request email address

GraphRequest.newMeRequest(

loginResult.getAccessToken(),new GraphRequest.GraphJSONObjectCallback() {

public void onCompleted(JSONObject me, GraphResponse response) {

Log.d("TEST", response.toString());
if (response.getError() != null) {
// handle error
} else {
Log.d("TEST", me.toString());
String email = me.optString("email");
String id = me.optString("id");
Log.d("TEST", "Email:" + email);
}
}
}).executeAsync();

LoginButton authButton =(LoginButton) findViewById(R.id.login_button);

List<String> permissions = new ArrayList<>();

permissions.add("public_profile");

permissions.add("email");

authButton.setReadPermissions(permissions);

}

最佳答案

最后我找到了解决方案,使用 newMeRequest 方法从用户对象中获取字段。在这种情况下,我需要将电子邮件作为附加字段,因此将“电子邮件”添加到字段参数中并请求特定字段:

GraphRequest request = GraphRequest.newMeRequest( 

//...

});

Bundle parameters = new Bundle();

parameters.putString("fields", "id,name,email");

request.setParameters(parameters);

request.executeAsync();

关于android - 无法通过 Facebook Android SDK 获取电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31434674/

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