Эффективная обработка данных в 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)
Используя эти методы, вы можете избежать этого полностью.