Обновление истекающих access_tokens с помощью cron

Я изучаю возможность автоматического обновления Facebook access_tokens для всех моих пользователей из задания cron до истечения срока их действия, и в рамках этого я прочитал следующую ссылку, касающуюся автономного доступа: https://Developers.facebook.com/roadmap/offline-access-removal/ В ссылке написано следующее : «Примечание. Пользователь должен получить доступ к вашему приложению, прежде чем вы сможете получить действительный «код авторизации», чтобы снова выполнить вызов OAuth на стороне сервера. Приложения не смогут настроить фоновое задание / задание cron, которое пытается для автоматического продления срока действия, потому что «код авторизации» недолговечен и уже истек.

Почему здесь упоминается код авторизации и почему невозможно просто автоматически обновить access_tokens для моих пользователей из задания cron, если рассматриваемые access_tokens все еще действительны? Согласно ссылке, для обновления access_token необходимо выполнить следующий вызов:

https://graph.facebook.com/oauth/access_token?             
client_id=APP_ID&
client_secret=APP_SECRET&
grant_type=fb_exchange_token&
fb_exchange_token=EXISTING_ACCESS_TOKEN 

Нет необходимости предоставлять код авторизации. Единственная необходимая информация о клиенте — это параметр EXISTING_ACCESS_TOKEN. Другие параметры, такие как APP_ID, зависят только от приложения. Любые предложения относительно того, что мне нужно сделать, чтобы получить эту работу, будут высоко оценены.

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


person Ger Loughnane    schedule 04.04.2012    source источник


Ответы (1)


Почему здесь упоминается код авторизации и почему невозможно просто автоматически обновить access_tokens для моих пользователей из задания cron, если рассматриваемые access_tokens все еще действительны?

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

Я просмотрел существующие сообщения об этом

Хорошо, потому что то же самое, о чем вы спрашиваете, не было объяснено ранее уже несколько раз. Плохо, что вы этого не поняли.

и я нашел объяснение тому, что невозможно обновить access_tokens с помощью задания cron, когда срок действия токенов уже истек.

Правильный.

Однако мои access_tokens все еще действительны, поэтому они не применяются ко мне.

Вы можете обменять только краткосрочные токены доступа на долгоживущие. Вы не можете продлить уже существующий долгоживущий.

person CBroe    schedule 21.12.2012