Heres метод im using и возвращает id и имя без проблем.Android - Facebook API не возвращает ни одного адреса электронной почты
// Private method to handle Facebook login and callback
private void onFblogin() {
callbackmanager = CallbackManager.Factory.create();
// Set permissions
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("email", "public_profile"));
LoginManager.getInstance().registerCallback(callbackmanager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
System.out.println("Success");
GraphRequest.newMeRequest(
loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject json, GraphResponse response) {
if (response.getError() != null) {
// handle error
System.out.println("ERROR");
} else {
System.out.println("Success");
try {
String jsonresult = String.valueOf(json);
System.out.println("JSON Result" + jsonresult);
// String str_email = json.getString("email");
String str_email = json.getString("email");
String str_name = json.getString("name");
String str_id = json.getString("id");
//
// Save your info
settings = getSharedPreferences("login_details", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("name", str_name);
editor.putString("email", str_email);
editor.commit();
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}).executeAsync();
Intent openNewActivity = new Intent(getApplicationContext(), MainActivity.class);
startActivity(openNewActivity);
}
@Override
public void onCancel() {
Log.d("TAG_CANCEL", "On cancel");
}
@Override
public void onError(FacebookException error) {
Log.d("TAG_ERROR", error.toString());
}
});
}
Проблема у меня есть, что письмо не возвращается.
Ive проверил разрешения с другим приложением, которое может получить мою электронную почту, когда я вхожу в аккаунт, так что разрешения кажутся прекрасными. Я предполагаю, что я назвал это неправильно сейчас.
Необходимо указать поле электронной почты, если вы этого хотите. – WizKid