私は自分のアプリで Facebook のバッチ リクエストをかなり使用しています。ほとんどの場合、それは非常にうまく機能しますが、私を混乱させることの 1 つは、API が時々 null を返すのはなぜですか? この「nulls」応答が返された場合は、しばらくしてからもう一度試すだけで機能します。
次に例を示します。
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]
1 秒後に同じリクエストを行うと、適切な応答が得られます。
[{"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回試してみる必要があります。この問題は 1 日に数十回発生し、覚えている限りずっと続いています。Facebook でアプリの診断を確認しましたが、アプリには制限がなく、API スロットリングもありません。また、Facebook はこれらを「API エラー」レポートにリストしていません。なぜこれが起こるのか分かりますか?