Как избежать ограничения API Facebook Graph с миллионами пользователей - PullRequest
0 голосов
/ 03 июня 2018

У меня есть веб-страница WordPress с сообщениями, полученными с общедоступной страницы Facebook.Страница FB не моя.Однако проблема в том, что у меня миллионы посетителей на моей веб-странице, и каждый раз, когда пользователь заходит на веб-страницу, он выполняет API-вызов FB Page.Поскольку facebook позволяет ограниченное количество вызовов API за определенный промежуток времени, Мой лимит мгновенно достигает такого огромного количества посетителей.Есть ли решение этой проблемы.у меня в голове мысль:

1.извлекать сообщения из Facebook и хранить их локально и отображать их каждый раз, когда пользователь посещает.Является ли это возможным?Если да, с чего начать?

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

1 Ответ

0 голосов
/ 03 июня 2018

Существует несколько возможных решений этой проблемы

Хранение ответов в базе данных

Вы можете добавить промежуточную точку к своим запросам в Facebook API, используя ваше приложение.Это будет означать, что у вас будет таблица базы данных, в которой хранится информация, связанная с Facebook, возможно, наряду с временем жизненного цикла, например:

facebook_data (user_id, lifecycle_time, ...)

Всякий раз, когда вам теоретически необходимо отправить запрос в API Facebook, вы можете проверить таблицу базы данных, чтобы узнать, есть ли у пользователя запись в этой таблице и является ли она действительной.Если это так, предоставьте эти данные пользователю.Если нет, отправьте запрос API в Facebook и сохраните ответ в этой таблице.

Хранение ответов в localStorage / memory / file

Вы также можете хранить данные, связанные с Facebook, в localStorageвеб-браузер памяти приложения или файла или даже локальной базы данных, специфичной для каждого пользователя.Это предотвратит большую коммуникацию и нагрузку на сервер, которое ваше приложение отправляет на ваши серверы.

Очередь пользовательских запросов для отправки

Если данные, связанные с Facebook, не очень срочны,ваши пользователи, вы можете ставить в очередь запросы на отправку и отправлять один запрос вместо запроса для каждого пользователя при каждом посещении.Вы можете сделать это с помощью задания cron.

Периодическая отправка запросов в Facebook

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

Комбинация

Естественно, вы можете комбинировать подходы, например, вы можете хранить значения в локальной памяти, файле или localStorage и в базе данных в одно и то же время, поэтому сначала ищется локально сохраненная информация,не требуется даже запрос, если он существует и все еще действует.Если нет, то проверяет запись базы данных и использует ее, если она существует и все еще действительна.А если данные не найдены ни в локальных ресурсах, ни в вашей базе данных, вы можете отправить запрос API.

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