-1

Я хотел отобразить количество просмотров статей в моем блоге (wordpress) читателям. Поэтому я решил позвонить в api напрямую:facebook api open graph

$fb_call = "https://graph.facebook.com/fql?q=SELECT%20share_count,%20total_count%20FROM%20link_stat%20WHERE%20url='".$url."'" ; 
$response = wp_remote_request ($fb_call ) ; 

Это нормально работало, когда я сам тестировал. Но время от времени есть 100 пользователей, пытающихся одновременно получать доступ к различным сообщениям, что приводит к достижению предела ошибки - запроса приложения. Текущий предел составляет 600 вызовов за 600 секунд, за токен & за IP. Это может произойти, потому что график api обрабатывает все эти запросы, как будто они поступают от одного и того же пользователя. Поэтому мне нужно добавить токен доступа в вызов. Как сгенерировать токен без какой-либо информации на сервере, поскольку статьи разделяются с использованием сценариев на стороне клиента, которые я не должен изменять. PHP SDK имеет функцию генерации, но я считаю, что пользователь должен также войти в систему, используя это. Спасибо за помощь, и я приношу свои извинения, если вопрос является мирским/не организованным.

ответ

0

Вам не нужно «добавлять токен», вам нужно уменьшить количество вызовов API. В любом случае вы не можете генерировать токены на сервере, за исключением App Token, но для этого вам нужно будет создать отдельное приложение.

В любом случае, решение намного проще: вам нужно кэшировать результаты на своем сервере - не используйте один и тот же вызов API для каждого отдельного пользователя. Он просто не масштабируется. Кроме того, это сделает вашу страницу быстрее, потому что каждый вызов API требует времени. И последнее, но не менее важное: FQL устарел, он перестанет работать для всех приложений очень скоро (7 августа 2016 года). Вам нужно использовать Graph API.