Ich mag den E-Mail des Benutzers bekommen von Facebook Android SDK 4.3.0
kann nicht E-Mail von Facebook Android SDK 4.x erhalten, auch wenn der Benutzer die Erlaubnis erteilt hat
Es gibt viele Fragen zu diesem Thema, aber die markierten Antworten erzählen dass der Benutzer die Berechtigung manchmal nicht erteilt.
Ich verwende meine Facebook acc zum Testen und ich habe die Erlaubnis erteilt. Trotzdem kann ich es nicht verstehen.
Der Code:
public static final List<String> FACEBOOK_PERMISSIONS = Arrays.asList("public_profile", "email", "user_birthday");
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
callbackManager = CallbackManager.Factory.create();
buttonLogin = (LoginButton) view.findViewById(R.id.button_fb_login);
buttonLogin.setReadPermissions(AppConstants.FACEBOOK_PERMISSIONS);
buttonLogin.setFragment(this);
buttonLogin.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
GraphRequestAsyncTask request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject user, GraphResponse response) {
if (user != null) {
Log.d("FacebookSDK", user.optString("email"));
}
}
}).executeAsync();
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
}
});
}
Ich bezweifle über Graph API-Version des SDK 4.3.0, aber Ihre Ratschläge annehmen kann mir den Himmel.
Seit API v2.4, müssen Sie explizit für die Felder, die Sie bekommen zurückgegeben werden soll fragen. Ich sehe nicht, dass du das irgendwo in deiner Anfrage tust, die die Benutzerdetails erhält. – CBroe
Es wäre besser, wenn Sie uns zeigen, wie wir explizit nach den Feldern im Code fragen ... @CBroe –