3

根据 Instagram 的说法,您可以使用他们在调用中提供的 HTTP 标头检查剩余的 API 限制计数。我对此很陌生,无法找到有关如何使用 PHP 访问此信息的相关数据。谁能为我澄清一下?

我从 Google Groups 上的 Instagram API 开发者论坛中发现了以下内容:

“我们刚刚将其推广到生产环境;所有 API 调用现在都有额外的 HTTP 标头:

  • X-Ratelimit-Limit(每小时可能的呼叫总数)
  • X-Ratelimit-Remaining(此特定令牌或客户端 ID 还剩多少次调用)”
4

1 回答 1

2

如果您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";
于 2012-08-27T15:38:36.653 回答