Я часто использую пакетный запрос Facebook в своем приложении. По большей части это работает очень хорошо, но меня смущает то, почему их API иногда возвращает нули? Если я получу этот «нулевой» ответ, я могу повторить попытку через несколько секунд, и он будет работать.
Вот пример:
URL:
https://graph.facebook.com/?access_token={access_token}
Тело запроса (до кодирования):
batch=[{"method":"GET","relative_url":"{page_id}?return_ssl_resources=1"},{"method":"GET","relative_url":"{page_id}?return_ssl_resources=1"},{"method":"GET","relative_url":"{page_id}?return_ssl_resources=1"},{"method":"GET","relative_url":"{page_id}?return_ssl_resources=1"}]
Вот что иногда возвращает Facebook:
[null,null,null,null]
Если я сделаю тот же запрос через секунду, я получу правильный ответ:
[{"code":200,"headers":[...headers here...],"body":{...body here...},{"code":200,"headers":[...headers here...],"body":{...body here...},{"code":200,"headers":[...headers here...],"body":{},{"code":200,"headers":[...headers here...],"body":{...body here...}}]
Поведение не всегда соответствует. Большую часть времени я могу попробовать еще раз и получить правильный ответ. Иногда мне нужно попробовать 2-3 раза. Эта проблема случается десятки раз в день, и она продолжается столько, сколько я себя помню. Я проверил диагностику своего приложения на Facebook, и у моего приложения нет никаких ограничений, нет регулирования API, и Facebook даже не перечисляет их в своем отчете «Ошибки API». Есть идеи, почему это происходит?