facebook publish_stream против offline_access в приложении Android

#android #facebook #facebook-android-sdk

#Android #Facebook #facebook-android-sdk

Вопрос:

Я создаю приложение для Android, которое публикует сообщения в Facebook. Я хочу, чтобы он публиковал сообщения в любое время, когда пользователь нажимает кнопку «Отправить».

Согласно странице разрешений разработчика Facebook, разрешение offline_access «Позволяет вашему приложению выполнять авторизованные запросы от имени пользователя в любое время. По умолчанию срок действия большинства токенов доступа истекает через короткий промежуток времени, чтобы гарантировать, что приложения делают запросы только от имени пользователя, когда они активно используют приложение. Это разрешение делает токен доступа, возвращаемый нашей конечной точкой OAuth, долговечным «.

Страница разработчика Facebook описывает разрешение «publish_stream», которое позволяет вашему приложению публиковать контент, комментарии и лайки в потоке пользователя и в потоках друзей пользователя. С этим разрешением вы можете публиковать контент в ленте пользователя в любое время, не требуя offline_access. Однако, пожалуйста, обратите внимание, что Facebook рекомендует модель совместного использования, инициируемую пользователем «.

Итак, насколько я понимаю, для отправки сообщений на стену Facebook мне нужно только «разрешение на публикацию потока», однако, когда я запрашиваю только разрешение publish_stream, мой токен доступа действует недолго (два часа)

Кто-нибудь может объяснить, как я могу публиковать сообщения на Facebook в любое время, не используя «разрешение offline_access»?

Ответ №1:

Опубликовать поток позволяет публиковать на стене пользователей. Это необходимо для создания сообщений на стене.

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

В вашем случае вам, вероятно, нужен как автономный доступ, так и публикация потока.

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

1. Спасибо за ваш ответ. Я все еще немного смущен, поскольку в документации говорится: «вы можете публиковать контент в ленте пользователя в любое время, не требуя offline_access». Кроме того, такие приложения, как TweetDeck, не запрашивают автономный доступ. Причина, по которой я неохотно использую разрешение «offline_access», заключается, во-первых, в том, что оно выглядит пугающим для пользователей, во-вторых, мне нужен доступ только при использовании приложения, и, наконец, когда я использую разрешение offline_access, я получаю ошибки, такие как (341) достигнут предел запроса на действие подачи. Любые другие предложения приветствуются…

2. Я должен признать, что этот ответ кажется правильным. Без разрешения «offline_access» срок действия моего токена составляет менее 2 часов. (Теперь я также понимаю, что был неправ, говоря, что TweetDeck не запрашивает разрешение offline_access, это так). Тем не менее, я думаю, что документация Facebook вводит в заблуждение, поскольку в ней говорится, что с разрешением publish_stream вы можете «публиковать контент в ленте пользователя в любое время, не требуя offline_access». 🙁

3. @Mel добро пожаловать в разработку Facebook. Документация часто неверна, устарела или вводит в заблуждение. К сожалению.