Эффективная обработка данных в Facebook

Есть несколько похожих вопросов, но я не нашел полезного ответа. Я создал приложение Facebook и собираю данные из страницы/сообщения из Facebook от имени этого приложения.  - У меня есть специальные разрешения read_insights на странице.  - Я создал токен доступа с этим разрешением для своего Facebook-приложения. (который будет автоматически расширен). Сегодня я столкнулся с проблемой получения временных ошибок:

Error, Code: 4, Message: Application request limit reached  
Error, Code: 17, Message: User request limit reached

Есть ответы, связанные с этими проблемами (Facebook api: (# 4) Достигнутый предел приложения, Facebook Ошибка OAuth: Предел хода заявки достигнут).

В соответствии с политикой платформы Facebook вы должны связаться с ними, Если вы превысите или планируете превысить любой из следующих пороговых значений, пожалуйста, свяжитесь с нами, так как вам могут быть предоставлены дополнительные условия: ( > 5M MAU) или ( > 100M вызовов API в день) или ( > 50M показов в день). Мое приложение выполнило 300 тыс. Звонков в течение недели, поэтому оно не должно превышать эти ограничения. Я связался с Facebook, но они еще не ответили.

Я хотел бы знать, какие лучшие методы для сбора данных из Facebook. Мне нужно получить

1. /page_id?fields...
2. /page_id/posts?fields...
3. /post_id/likes?fields...
4. /post_id/comments?fields...
5. /page_id/insights/
6. /post_id/insights/

В течение 2-4 я не могу использовать пакетные запросы из-за разбитых на страницы результатов, я принимаю с limit = 100, для 5-6 я создал пакетные запросы с конкретными URL-адресами понимания, которые мне нужны, и уже не может уменьшить количество вызовов больше.

Когда я столкнулся с

Error, Code: 4, Message: Application request limit reached 

Я создал новое приложение и для получения Insights я предоставил разрешение read_insights тем же пользователям Facebook. Затем я столкнулся с

Error, Code: 17, Message: User request limit reached

Поэтому я предполагаю, что если токен будет сгенерирован другим пользователем, у которого есть разрешение read_insights для нового приложения, оно может работать.

Кто-нибудь может предложить, какой будет лучший подход к решению моей проблемы? Должен ли я настраивать токены доступа к сети для моего приложения (сгенерированные разными пользователями) и переключаться между ними, если для одного из токенов Ошибка №4 или Ошибка № 17?

Ответ 1

Вы пробовали следующее?

  • Использование API обновлений в реальном времени для уведомления о новых сообщениях и новых комментариях к сообщениям, а не опроса
  • (похоже, что вы это делаете). Убедитесь, что вы используете токен доступа к странице для получения страницы для этой страницы, а не токен пользователя или другой страницы.
  • Данные кэширования, которые вряд ли будут изменены, чтобы избежать повторной выборки
  • Запрос нескольких сообщений в одном вызове, а не один пост за вызов (с использованием синтаксиса? ids = x, y, z, описанного здесь: https://developers.facebook.com/docs/graph-api/making-multiple-requests)

Используя эти методы, вы можете избежать этого полностью.