0
我有网站iOS Cookies在哪里我把用Swift编写的库(当前为190)分为几类。当显示类别时,我将显示具有多个GitHub星号和说明的库的列表。GitHub API限制
由于这些明星数量并不一定准确,我决定一次性使用CRON工作(每天一次)为每个图书馆购买。问题是我由于某种原因正在达到API限制:
您已达到GitHub小时限制!实际限制是:5000
这是很奇怪的,因为还有不到200个库,并为每一个它被称为只有一次,就像这样:
// GitHub API
$this->github = new GitHub($page);
// list of libraries stored in .yaml file
$libraries = $this->config->get('plugins.swift-version.libraries');
$arrlength = count($libraries);
$array = Array();
for($x = 0; $x < $arrlength; $x++) {
$link = $libraries[$x]['link'];
$path = parse_url($link, PHP_URL_PATH);
$segments = explode('/', $path);
$author = $segments[1];
$repo = $segments[2];
// actual API calling to get number of stars for library
$libraries[$x]['stargazers_count'] = $this->github->client->api('repo')->show($author, $repo)['stargazers_count'];
}
我缺少的东西?
只是因为你只能调用'Github'对象上的一个功能,并不意味着它只会让一个API调用。尝试将其分成两个或更多更小的作业,并安排它们运行一小时以保持API限制。或者找到一个更高效的API客户端。或者编写你自己的API客户端。 – Sammitch
噢,好的。说得通。我会尝试写我自己的客户端。 –
特别是在客户端的自动分页可以轻松超过你的限制。除了防止不必要的呼叫之外,还有一种方法可以提高未认证呼叫的速率限制。 https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications – iltempo