Вопрос

Мы используем

Permission[] permissions = new Permission[] {
        Permission.PUBLIC_PROFILE,
        Permission.EMAIL,
        Permission.USER_FRIENDS,
        Permission.PUBLISH_ACTION
    };
SimpleFacebookConfiguration configuration = new SimpleFacebookConfiguration.Builder()
        .setAppId(getResources().getString(R.string.app_id))
        .setNamespace("ournamespace")
        .setPermissions(permissions)
        .build();

        SimpleFacebook.setConfiguration(configuration);   

В операции входа в систему:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    mSimpleFacebook.onActivityResult(this, requestCode, resultCode, data); 
    super.onActivityResult(requestCode, resultCode, data);
}

@Override
public void onResume() {
    super.onResume();
    mSimpleFacebook = SimpleFacebook.getInstance(this);     
}
@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    ctx = this;

    ImageView fbBtn = (ImageView) findViewById(R.id.authButton);
    fbBtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            mSimpleFacebook.login(onLoginListener);
        }
    });
}   

Однако сгенерированный токен доступа не включает разрешение publish_actions...что здесь не так?

Спасибо!

Это было полезно?

Решение

В одном из последних изменений этой библиотеки добавлен новый вариант для SimpleFacebookConfiguration.Это называется setAskForAllPermissionsAtOnce.Если значение верно, то он запрашивает все разрешения сразу, и у вас будут разрешения публикации в Access
если пользователь примет его на логин.

Если это ложное, то он ведет себя по-другому.Только когда пользователь делает свое первое действие публикации, только тогда диалоговое окно с разрешениями будет отображаться впервые.Значение по умолчанию не является ложным, поскольку этот лучше соответствует политике Facebook.Но вы можете изменить это.Узнайте все варианты здесь: https://github.com/sromku/android-simple-Facebook # Параметры конфигурации

Вы также можете использовать метод SimpleFacebook.requestNewPermissions(), чтобы снова попросить разрешения или для нового в середине вашего приложения, когда вы решите, что это хорошо, чтобы попросить от пользователя.

Другие советы

Ваше приложение должно быть просмотрено пользователями FaceBook, если вам нужно publish_actions разрешение.

Просмотр не требуется, если вам нужно только public profile, Email, App friends разрешение.

И я предполагаю сгенерировать accessToken на основе publish_actions с вашего разрешения, ваше приложение необходимо просмотреть.

Смотрите ссылку для разработчиков facebook,

https://developers.facebook.com/docs/facebook-login/permissions/v2.0

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top