различия между reauthorizeWithPublishPermissions и openActiveSessionWithPublishPermissions?

Начиная с Facebook iOS SDK 3.1.1, Facebook разделил openActiveSessionWithPermissions на 2 части: openActiveSessionWithReadPermissions и openActiveSessionWithPublishPermissions (объяснение здесь).

Однако в документации Facebook говорится, что сначала нужно вызвать openActiveSessionWithReadPermissions, а затем reauthorizeWithPublishPermissions. Я не вижу никаких объяснений, когда мне следует использовать openActiveSessionWithPublishPermissions.

Пожалуйста, помогите мне понять разницу между двумя методами и когда я должен их использовать.

Заранее спасибо,


person Min Kim    schedule 19.10.2012    source источник


Ответы (2)


Вот несколько возможных сценариев:

  1. Пользователь, впервые зашедший в ваше приложение и никогда не авторизовавший ваше приложение.
  2. Пользователь возвращается в ваше приложение и ранее авторизовал ваше приложение. Кэшированный токен доступен для открытия сеанса. Кэшированный токен также хранит ранее предоставленные разрешения.

В случае (1) вы можете открыть сеанс только для чтения. Вы не можете запрашивать разрешения на публикацию в первый раз.

В случае (2) вы можете запросить разрешение на публикацию. Вам нужно будет проверить, был ли кешированный токен.

В любом случае (1) или (2) вы всегда можете вызывать методы повторной авторизации после первоначального открытия сеанса.

person C Abernathy    schedule 14.11.2012

Есть 2 подхода, которым вы можете следовать:

  • О. Вы можете запрашивать у пользователей разрешения на публикацию действий, когда они подключаются к Facebook и авторизуют ваше приложение в первый раз.

В этом случае вам нужно будет использовать reauthorizeWithPublishPermissions:..

  • Б. Альтернативой является запрос разрешений, когда они хотят выполнить определенное действие публикации.

В этом случае вам потребуется сначала использовать reauthorizeWithPublishPermissions, а затем reauthorizeWithPublishPermissions.

ИМХО, первый подход более плавный, но может привести к плохим результатам, поскольку некоторые пользователи не хотят давать разрешения при первой авторизации приложения. Второй подход требует от пользователя большего взаимодействия, но дает ему больше контроля.

Facebook рекомендует второй подход, но на самом деле это ваш выбор.

Ваше здоровье

person Lio    schedule 29.10.2012
comment
Вы не можете запрашивать разрешения на публикацию при первом открытии сеанса, вы должны запросить базовое разрешение на чтение, а затем выполнить повторную проверку подлинности для получения дополнительных разрешений. - person Maurizio; 22.02.2013
comment
@Maurizio, это утверждение больше не соответствует действительности - person Pochi; 19.08.2014