#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. Но это не может