我正在尝试将Facebook API集成到android中的登录功能。我需要各个用户的电子邮件ID。我收到JSON作为回应,但它没有电子邮件ID。如何才能获得电子邮件ID。
public void getProfileInformation() {
mAsyncRunner.request("me", new RequestListener() {
@Override
public void onComplete(String response, Object state) {
Log.d("Profile", response);
String json = response;
try {
// Facebook Profile JSON data
JSONObject profile = new JSONObject(json);
// getting name of the user
final String name = profile.getString("name");
// getting email of the user
final String email = profile.getString("email");
runOnUiThread(new Runnable() {
// Dayanand plzz check this log n let me know.
@Override
public void run() {
Toast.makeText(getApplicationContext(), "Name: " + name + "\nEmail: " + email, Toast.LENGTH_LONG).show();
}
});
} catch (JSONException e) {
e.printStackTrace();
}
}
这是代码,我在Toast中得到null。它去捕捉方法。请帮忙
答案 0 :(得分:0)
您必须向用户请求权限:email
。
答案 1 :(得分:0)
您需要向用户请求email
权限,否则您无法获得该权限。
用户授予您权限后,您会在申请me
时看到它。
请参阅http://developers.facebook.com/docs/reference/login/email-permissions/
答案 2 :(得分:0)
当您第一次登录时,您正在传递一个权限数组。所以,你必须传递这个数组以获得电子邮件许可..
private String[] permissions = {"publish_stream","email","user_about_me","user_status"};