Срок действия токена доступа Facebook истекает по неизвестной причине

РЕДАКТИРОВАТЬ от @avs099:Я начинаю награду за этот пост, так как у меня точно такая же проблема. Я резюмирую проблему здесь и оставляю сам пост без каких-либо изменений внизу для справки.


Что у нас есть:Токен доступа к странице Facebook, полученный, как описано здесь:Аутентификация в качестве страницы , срок действия которого был продлен до 60 дней с новым токеном fb _exchange _запрос.

В чем проблема:этот токен работает какое-то время -иногда я могу разместить сотни фотографий на своей фан-странице в течение нескольких дней;иногда это буквально несколько фотографий -, а затем я начинаю получать

(OAuthException )Ошибка, аннулирующая токен доступа :Сеанс был недействительным, поскольку пользователь изменил пароль.

или

(OAuthException )Ошибка аннулирования токена доступа :Сеанс не соответствовать текущему сохраненному сеансу. Это может быть связано с тем, что пользователь изменил пароль с момента создания сеанса или Facebook изменил сеанс из соображений безопасности.

исключения из Facebook -но, конечно, я не менял пароль и не деавторизовал приложение.

Дополнительная информация:Не уверен, что это имеет значение, но:

  1. Иногда я начинаю использовать токен через несколько дней после того, как запрошу его в Facebook
  2. Токен запрашивается (бэкендом C #)с сервера который находится в другом географическом регионе от рабочего стола приложение, которое публикует фотографии на фан-странице.
  3. Бывает, иногда , что несколько разных настольных приложений публикуют фотографии с разных компьютеров (т. е., наверное, с разных IP-адресов)

Кто-нибудь знает, что происходит и как это решить?

Спасибо.


У меня есть приложение facebook, которое служит двум целям:

1 )Позволяет пользователям facebook подключаться к моему сайту 2 )Разрешить моему сайту размещать сообщения на стене фан-страницы моих сайтов в Facebook

Что меня беспокоит, так это 2-е использование. Раньше я мог установить разрешения для приложения на фан-странице, чтобы просто разрешить публикацию (через php sdk ), не беспокоясь о токене доступа. Теперь я создал несколько новых фан-страниц, и эта функциональность, похоже, была удалена. Хорошо,поэтому я прохожу весь процесс получения токена доступа (успешно )для пользователя (всегда меня или другого администратора моих фан-страниц в Facebook )и использую этот токен, чтобы получить токены доступа для фаната страницы, которыми я управляю (У меня есть разрешение на управление _страницами, как и у других администраторов страниц, на которые я хочу публиковать ). Однако движок может публиковать контент на моих фан-страницах, срок действия токенов истек с одним из двух сообщений об ошибках:

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

или

OAuthException :Ошибка аннулирования токена доступа :Сеанс был аннулирован, поскольку пользователь изменил пароль.

Но этот токен доступа зависит не от внешних пользователей, а только от внутренних (меня и еще одного парня ). Мы не меняем пароли и ничего не делаем. Я даже проверил это, выйдя из Facebook после получения токенов, и все работает нормально. Просто через некоторое время они истекают без причины, которую я могу определить. Когда я получу токены, я могу проверить их в инструменте отладки, и согласно документу )они должны длиться 60 дней (, хотя инструмент говорит, что срок их действия не истекает.

Я настроил систему таким образом, что когда она не публикует сообщения на странице, я получаю электронное письмо со ссылкой на мой сайт для обновления токенов.

Кто-нибудь знает, что происходит?

8
задан avs099 14 May 2012 в 05:06
поделиться