Я пытаюсь реализовать facebook login с помощью последней версии 3.0 для facebook. Он возвращает только User-ID и User-name. Ниже приведен код, который я реализовал с использованием API-интерфейсов GRAPH.Facebook Android SDK 4.0 не возвращает адрес электронной почты
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
LoginButton loginButton = (LoginButton) view.findViewById(R.id.login_button);
textView = (TextView) view.findViewById(R.id.textView);
List<String> permissions = new ArrayList<>();
//permissions.add("user_friends");
permissions.add("email");
//permissions.add("user_birthday");
loginButton.setReadPermissions(permissions);
loginButton.setFragment(this);
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
GraphRequest.newMeRequest(
loginResult.getAccessToken(),new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject jsonObject, GraphResponse graphResponse) {
if (graphResponse.getError() != null) {
// handle error
} else {
String email = jsonObject.optString("email");
String id = jsonObject.optString("id");
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/" + id,
null,
HttpMethod.GET,
new GraphRequest.Callback() {
@Override
public void onCompleted(GraphResponse graphResponse) {
Log.d("FACEBOOK LOGIN","graph response" +graphResponse.toString());
}
}
).executeAsync();
Log.d("FACEBOOK LOGIN ","email id and the user_id of the looged in user is = ::" + email+" ::"+id+"" +
"JsonObject from facebook i am getting is :" +jsonObject.toString());
// send email and id to your web server
}
}
}).executeAsync();
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException e) {
}
});
}
Также я попытался с помощью API GRAPH EXPLORER, где он показывает мне свой адрес электронной почты, а также день рождения и пол тоже. Ниже приведен снимок его
он не будет отображать идентификатор электронной почты до тех пор, пока пользователь не станет администратором или не проверит пользователя приложения – TheGreat004