Ограничения подсчета API Instagram с использованием заголовка HTTP
Согласно Instagram, вы можете проверить количество оставшихся лимитов API, используя HTTP-заголовки, которые они предоставляют при вызове. Я новичок в этом и не могу найти соответствующие данные о том, как получить доступ к этой информации с помощью PHP. Может ли кто-нибудь уточнить это для меня?
Я нашел следующее на форуме разработчиков Instagram API в группах Google:
"Мы только что развернули это в производство; все вызовы API теперь имеют дополнительные заголовки HTTP:
X-Ratelimit-Limit
(общее количество возможных звонков в час)X-Ratelimit-Remaining
(сколько вызовов осталось для данного конкретного токена или идентификатора клиента)
1 ответ
Решение
Если вы используете file_get_contents
чтобы сделать запрос (или все, что использует обертку HTTP в этом отношении), специальная переменная $http_response_header
содержит массив строк с заголовками ответа HTTP самого последнего запроса.
Может быть, что-то вроде этого:
// Make your API request here
...
file_get_contents('http://example.com', false, $context);
// Check HTTP response headers
foreach ($http_response_header as $line) {
if(preg_match('!X-Ratelimit-Remaining: ([0-9]+)!i', $line, $matches)) {
$remaining = $matches[1];
break;
}
}
// Do something based on the number of remaining attempts
echo "Remaining attempts: $remaining";