Ограничение размера ответа API графа Facebook (код ошибки 1)

Просто делюсь некоторой информацией, с которой я столкнулся при тестировании своего приложения.

Facebook Graph API реализует ограничение скорости, как описано на их странице документации. Сегодня я пытался получить канал со страницы Facebook CNN и получил следующую ошибку 500:

{"error":{"code":1,"message":"Please reduce the amount of data you're asking for, then retry your request"}}

Это запрос, который я пытался проверить:

https://graph.facebook.com/v2.3/5550296508/feed?fields=id,actions,application,caption,created_time,description,from,icon,is_hidden,link,message,message_tags,name,object_id,picture,place,privacy,properties,source,status_type,story,story_tags,to,type,updated_time,with_tags,shares,likes.limit(50),comments.filter(stream).limit(50){attachment,created_time,from,id,like_count,message,message_tags,comments{attachment,created_time,from,id,like_count,message,message_tags}}&access_token=xxxxxxx


person Dieghito    schedule 19.04.2016    source источник
comment
Я даже видел эту ошибку в собственном редакторе Facebook. Power editor, кажется, имеет меньше проблем, но я подозреваю, что это просто проблема ограничения API, о которой не сообщается должным образом. Я получил сообщение об ошибке после обновления нескольких пользовательских аудиторий через API, а затем попытался изменить таргетинг на сайте business.facebook.com.   -  person Simon_Weaver    schedule 11.06.2017
comment
До сих пор получаю :-(   -  person Simon_Weaver    schedule 07.02.2018


Ответы (2)


Я пытался установить разные значения limit, чтобы уменьшить размер, и в итоге это сработало. Изучив размер ответа и немного поэкспериментировав с ним, я обнаружил, что ошибка возникает, когда ответ достигает (примерно) порога 200k.

Я тестировал с Graph API версий 2.3 - 2.4 - 2.5 - 2.6.

Я не нашел документации об этом ограничении размера ответа в документации по API facebook, поэтому возможно, что в будущем она будет изменена.

Просто подумал, что может быть полезно поделиться, если вы моделируете что-то, используя их API.

person Dieghito    schedule 19.04.2016
comment
каков безопасный предел, который вы используете? - person aks; 07.07.2017
comment
@aks Я установил его на 200 КБ - person Dieghito; 09.07.2017

Первоначально я неправильно истолковал сообщение об ошибке Please reduce the amount of data you're asking for, then retry your request и предположил, что у меня ограничена скорость, т.е. я делаю слишком много вызовов API за короткий период времени. Спасибо Dieghito за ваш ответ, который помог мне понять, что ошибка связана с размером ответа.

В моем случае это была выборка /comments, которая превышала лимит размера ответа. У меня было установлено ограничение на 1000, что было нормально для большинства сообщений. Но для постов с большим количеством длинных комментариев размер ответа становился слишком большим. У меня уже была настроена подкачка, поэтому простой запрос меньшего количества комментариев на странице (ограничение: 50 или 100) решил проблему для меня. Просто публикую это здесь для людей, чья проблема может быть связана с комментариями.

person Todd Price    schedule 03.02.2017