Разумные решения по удалению разрешения offline_access

Я возвращаюсь к созданию приложения FB через некоторое время вдали от платформы FB, и я вижу, что старое разрешение offline_access было удалено и заменено на длинные (ish) -expiry токены [1].

Таким образом, теперь кажется, что любое внешнее приложение, которому необходимо отправить данные в Facebook, скажем, по расписанию или по каким-либо действиям во внешнем приложении, должно справиться с истечением срока действия маркера с длинным доступом. Это делает более расстраивающим, потому что теперь пользователь, выходящий из FB, также уничтожит любой токен с длительным сроком действия [2], тогда как раньше offline_access оставался включенным, даже когда пользователь вышел из системы.

Я все еще нахожусь в стадии обдумывания решения, но на ум приходят две идеи:

1) Всякий раз, когда мое приложение связывается с пользователем, у которого есть интеграция с FB, его просят щелкнуть ссылку, которая вызовет повторную авторизацию с FB, чтобы получить новый токен с длинным доступом. С моими пользователями обычно связываются несколько раз в течение срока службы токена с длинным доступом, так что этоshould эффективно обновлять токен с длинным доступом столько, сколько им нужно (даже если это добавляет раздражающее трение к моему приложению)

2) Поскольку я не могу гарантировать, что 1) будет работать всегда (из-за того, что пользователи не нажимают ссылку повторной авторизации в уведомлении по электронной почте моего приложения или когда они выходят из Facebook, например), мне также придется справиться с ошибкой FB взаимодействует, помещая их в очередь хранения и отправляя пользователю электронное письмо с явным предложением снова предоставить маркер с длинным доступом. Не круто, но другого варианта не вижу. Если они не ответят на запрос после того, как X попытается попросить их повторно предоставить разрешение, мне просто нужно скопировать задачу и отправить по электронной почте им, чтобы объяснить, что это связано с ограничением FB, а не моим приложением. Опять не круто.

Кому-нибудь приходилось придумывать какие-либо более эффективные решения для обеспечения возможности взаимодействия с учетной записью пользователя с аутентификацией / явными разрешениями? Я хотел бы услышать, что вы сделали.

(Конечно, все это ожидает, пока я перечитываю FB ToS - вполне возможно, что это противоречит правилам, что было бы еще более неприятно)

РЕДАКТИРОВАНИЕ / ОБНОВЛЕНИЕ: данные, которые мне нужно отправить, представляют собой изображения в фотоальбом, которые поступают на мой сервер из различных источников, а затем помещаются в соответствующий альбом пользователя (с их предварительно предоставленным разрешением, конечно). Я не смогу гарантировать какого-либо взаимодействия с конечным пользователем через Интернет в тот момент, когда изображения попадают на мой сервер, чтобы конечный пользователь предоставил мне новый токен с коротким сроком службы. В принципе,offline_access действительно было бы идеально для этого ИМО.

ОБНОВЛЕНИЕ 2: NB: это действительно ключ к моему случаю использования, что пользователь не обязательно будет использовать мое приложение или Facebook, когда токен должен быть предоставлен или расширен.

[1] https://developers.facebook.com/roadmap/offline-access-removal/ [2] http://developers.facebook.com/blog/post/2011/05/13/how-to--handle-expired-access-tokens/

Ответы на вопрос(3)

Ваш ответ на вопрос