Facebook – скачивание платежных отчетов через API
API Facebook предоставляет очень много возможностей. В том числе дает скачивать отчеты о платежах посредством вызова API (https://developers.facebook.com/docs/games_payments/reports?hc_location=ufi#api).
Но здесь возникает неожиданное поведение. Если попытаться скачать отчет с PHP сервера (используя file_get_contents или curl), то вместо требуемого архива с отчетом будет возвращена html страница, с предложением обновить браузер.
Если же открывать адрес в браузере, то отчет скачивается, как ожидалось.
Исправляется такое поведение посредством добавления User-Agent строки к запросу. Но это решение представляется странным: почему вдруг к API запросу надо добавлять user-agent? Почему к другим API запросам не надо его добавлять? Почему об этом ни слова в документации?
Для того, чтобы удостовериться в правильности решения, я отправил баг репорт (https://developers.facebook.com/bugs/219248268457103/), в результате которого получил подтверждение, что все верно, нужно добавлять User-Agent. Ну и еще узнал, что исправлять они ничего не будут =)