Android Facebook SDK — имя пользователя становится нулевым

#android #android-facebook #android-simple-facebook

#Android #android-facebook #android-простой-facebook

Вопрос:

Я использую простой facebbok для интеграции facebook в мое приложение.мне нужно отправить имя пользователя facebook на сервер. но я получил имя пользователя как null из списка профилей. вот мой код

    public void loginToFacebook(View v){
    mSimpleFacebook.login(this);
}
OnLoginListener listner = new OnLoginListener() {
    @Override
    public void onLogin() {
        mSimpleFacebook.getProfile(onProfileListener);
    }
};
OnProfileListener onProfileListener = new OnProfileListener() {         
    @Override
    public void onComplete(Profile profile) {
        System.out.println(profile.getUsername());//getting null here
    }
};
  

Я также пробовал с кодом,

 OnLoginListener listner = new OnLoginListener() {
    @Override
    public void onLogin() {
    Profile.Properties properties = new Profile.Properties.Builder()
    .add(Properties.USER_NAME)
    .add(Properties.ID)
    .build();
    mSimpleFacebook.getProfile(properties, onProfileListener);
    }
};
  

Но в этом случае список не увольняется.

Это разрешение, которое я дал в классе приложения

 private void configureFacebook() {
       Permission[] permissions = new Permission[] {
                Permission.USER_ABOUT_ME,
                Permission.PUBLIC_PROFILE,
                Permission.READ_STREAM,
                Permission.EMAIL,
                Permission.PUBLISH_ACTION
            };
       SimpleFacebookConfiguration configuration = new SimpleFacebookConfiguration.Builder()
        .setAppId(Constants.FB_APPID)
        .setNamespace("namespace")
        .setPermissions(permissions)
        .build();
       SimpleFacebook.setConfiguration(configuration);
}
  

Ответ №1:

Вы не можете получить имя пользователя в API версии 2.0

Комментарии:

1. Правдивая история. Библиотека должна быть обновлена, а свойство username должно быть удалено.

2. Но в ios они получают имя пользователя.

3. И это тот же app_id, который вы используете?

4. Нет app_id отличается

5. Это объясняет это. Ваше другое приложение является старым, поэтому оно все еще может использовать API версии v1.0. Но это не может