我想知道github搜索API是否对请求数量有限制,而且我想知道是否可以将检索到的数据保存在我自己的数据库中,或者之间存在一些策略。
谢谢。
答案 0 :(得分:3)
http://developer.github.com/v3/#rate-limiting说以下
对于未经身份验证的请求,我们将请求限制为每小时60次。对于使用基本身份验证或OAuth的请求,我们将请求限制为每小时5,000次。您可以检查任何API请求的返回HTTP标头,以查看您当前的状态:
$ curl -i https://api.github.com/users/whatever
至于保存数据,如果它是你的,那就没关系,如果它是其他的也可以,但我不是律师:
GitHub terms of services的F.1部分:
我们对您提供的材料声明没有知识产权 到服务。您上传的个人资料和资料仍属于您。 但是,通过将您的网页设置为公开查看,即表示您同意 允许其他人查看您的内容。通过设置您的存储库 公开查看,您同意允许其他人查看和分享您的内容 库。
答案 1 :(得分:2)
添加@CharlesB给出的答案,unauthenticated requests can also enjoy higher rate limits,因为它们在查询字符串中包含客户端ID和密码
$ curl -i https://api.github.com/users/whatever?client_id=xxxxxxxxxxxxxx&client_secret=yyyyyyyyyyyyyyyyyyyyy
HTTP/1.1 200 OK
Status: 200 OK
X-RateLimit-Limit: 12500
X-RateLimit-Remaining: 11966
答案 2 :(得分:0)
添加到上一个答案后,now (2d July 2013)可以准确了解 rate limit重置时间何时有效。
现在,新
X-RateLimit-Reset
响应标题中提供了该信息。
$ curl -I https://api.github.com/orgs/octokit
HTTP/1.1 200 OK
Status: 200 OK
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1372700873
...
X-RateLimit-Reset标头提供Unix UTC timestamp,让您知道新的新费率限制的确切时间。
重置时间戳也可用作
/rate_limit
资源的部分。
$ curl https://api.github.com/rate_limit
{
"rate": {
"limit": 60,
"remaining": 42,
"reset": 1372700873
}
}