Интеграция входа в Facebook Android, чтобы получить подробности пользователя - PullRequest
0 голосов
/ 16 мая 2018

Сейчас я работаю над интеграцией входа в Facebook в своем приложении. Я не могу получить идентификатор электронной почты, дату рождения и аватарку. Я уже видел некоторые сообщения, исправляющие этот вопрос, они устарели. Это не работает должным образом.я пытаюсь

  fb_login.setReadPermissions(Arrays.asList("public_profile", "email", 
 "user_birthday,user_gender"));
    callbackManager = CallbackManager.Factory.create();
    fb_login.registerCallback(callbackManager, new 
   FacebookCallback<LoginResult>() {

        @Override
        public void onSuccess(LoginResult loginResult) {
            GraphRequest request = GraphRequest.newMeRequest(
                    AccessToken.getCurrentAccessToken(),
                    new GraphRequest.GraphJSONObjectCallback() {
                        @Override
                        public void onCompleted(
                                JSONObject object,
                                GraphResponse response) {
                            // Application code
                            getDate(object);
                            Log.d("REsponse",response.toString());
                            Intent in = new Intent(MainActivity.this,Form.class);
                            startActivity(in);
                            finish();

                        }
                    });
            Bundle parameters = new Bundle();
            parameters.putString("fields", "id,name,link,gender");
            request.setParameters(parameters);
            request.executeAsync();
        }
        @Override
        public void onCancel() {

        }
        @Override
        public void onError(FacebookException error) {

        }
    });
}
private void getDate(JSONObject object){
    try {
        URL profile_pic = new 
  URL("https://graph.facebook.com/"+object.getString("id")+"/picture?width = 
 250&height=250");
        Picasso.with(this).load(profile_pic.toString()).into(image);
        id.setText(object.getString("id"));
        name.setText(object.getString("name"));
        email.setText(object.getString("email"));
        gende.setText(object.getString("gender"));
        birthday.setText(object.getString("birthday"));

    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (JSONException e) {
        e.printStackTrace();
    }
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent 
data) {
    callbackManager.onActivityResult(requestCode, resultCode, data);
    super.onActivityResult(requestCode, resultCode, data);


}

я получаю только имя и фейсбук id.i мне нужна ваша помощь, ребята.

1 Ответ

0 голосов
/ 16 мая 2018

import com.facebook.Profile;

Из класса профиля вы получите изображение

Profile profile = Profile.getCurrentProfile();

используйте метод ниже, вы получите изображение URI, укажите ширину и высоту.

profile.getProfilePictureUri (200200) .ToString ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...