2016-06-11 2 views
1

Я хочу получить идентификатор пользователя Facebook в android по учетной записи Facebook. Я не могу получить Ид правильно. Пожалуйста, помогите мне, как я могу ее получить. Мой код есть.Получить идентификатор пользователя Facebook по учетной записи Facebook с андроидом

public void onSuccess(LoginResult loginResult) { 
        // App code 

GraphRequest.newMeRequest(
     loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() { 
     @Override 
     public void onCompleted(JSONObject object, GraphResponse response) { 
       if (response.getError() != null) { 
       // handle error 
       } else { 
       String name= object.optString("name"); 
       String id = object.optString("id"); 

       Intent i = new Intent(Login.this, MainActivity.class); 
       startActivity(i); 
     } 
    } 

    }).executeAsync(); 
} 

ответ

2

Ваш код выглядит правильно, это код, который я использую для этого, возможно, это помогает.

loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
      @Override 
      public void onSuccess(LoginResult loginResult) { 
       // App code 
       GraphRequest request = GraphRequest.newMeRequest(
         AccessToken.getCurrentAccessToken(), 
         new GraphRequest.GraphJSONObjectCallback() { 
          @Override 
          public void onCompleted(JSONObject object, GraphResponse response) { 

           String email=object.optString("email"); 
           String id=object.optString("id") 
          } 
         }); 
       Bundle parameters = new Bundle(); 
       parameters.putString("fields", "email"); 
       request.setParameters(parameters); 
       request.executeAsync(); 

      } 
+0

Этот код работает правильно, но я хочу получить имя и адрес электронной почты от пользователя facebook id. Ваш код содержит только одно имя или адрес электронной почты. Как я могу получить как имя, так и адрес электронной почты одновременно? –

+1

@nabiasaroosh Вы должны поставить на запрос то, что хотите. parameters.putString ("поля", "электронная почта, имя"); то имя и адрес электронной почты будут частью объекта. String name = object.optString ("name"); –

+0

waoo ... блестящий. Я получил имя, адрес электронной почты и идентификатор одновременно, что я хочу. Спасибо. –

Смежные вопросы