Ограничения подсчета 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";
Другие вопросы по тегам