Хотя API-интерфейс facebook не очень хорошо документирован, он допускает бесконечные сеансовые ключи . Использование бесконечного сеансового ключа позволит вам запрашивать данные для каждого пользователя вашего приложения (и находить любые дельты), которые затем могут храниться в течение не более 1 дня с помощью механизма кэширования на вашем конце. Теоретически это позволяет вам ежедневно выполнять cronjob и кэшировать вновь найденные данные, не нарушая TOS Facebook API.
Я использовал описанный выше метод для получения бесконечного сеансового ключа, и он работает, как описано, хотя я заметил, что он может истечь при неизвестных обстоятельствах. Я полагаю, что если вы не будете периодически использовать сгенерированный ключ (т. Е. Ежедневно выполнять cronjob), срок его действия истечет и его необходимо будет восстановить.
Вы можете получить доступ к ограниченному набору пользовательских данных, запросив расширенные разрешения , когда пользователь первоначально «устанавливает» ваше приложение. Некоторые вещи, которые вы можете получить без фактического входа пользователя, включают фотографии галереи пользователя и их обновления статуса. Вы хотите, чтобы пользователь предоставил вам привилегию offline_access для получения таких данных.