Ограничения на количество API Instagram с использованием HTTP-заголовка


Согласно Instagram, вы можете проверить оставшееся количество ограничений API, используя заголовки HTTP, которые они предоставляют при вызове. Я совершенно новичок в этом и не могу найти соответствующие данные о том, как получить доступ к этой информации с помощью PHP. Не мог бы кто-нибудь, пожалуйста, прояснить это для меня?

Я нашел следующее на форуме разработчиков API Instagram в группах Google:

" Мы только что запустили это в производство; все вызовы API теперь имеют дополнительные заголовки HTTP:

  • X-Ratelimit-Limit ( общее количество возможных звонков в час)
  • X-Ratelimit-Remaining ( сколько вызовов осталось для этого конкретного токена или идентификатора клиента)"
Author: stakx, 2012-08-27

1 answers

Если вы используете 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";
 2
Author: user113215, 2012-08-27 15:47:30