首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Github API:过早获取超过速率限制的问题

Github API:过早获取超过速率限制的问题
EN

Stack Overflow用户
提问于 2015-11-11 16:57:23
回答 1查看 13.2K关注 0票数 9

我正在构建一个应用程序,获取超过1K的github repos的问题和撤回请求,如下所示。

代码语言:javascript
复制
$ curl -i "https://api.github.com/repos/user/repo/issues?state=closed"

我的问题是,在最初的60次迭代之后,我得到了一个速率限制错误:

代码语言:javascript
复制
{
    "message": "API rate limit exceeded for xxx.xxx.xxx.xxx. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)",
    "documentation_url": "https://developer.github.com/v3/#rate-limiting"
}

文档说,我可以使用身份验证发出多达5000个请求,我注册了oauth,并获得了Client IDClient Secret令牌。

https://api.github.com/repos/{repo.name}/issues?client_id=...&client_secret=...

尽管如此,只有在大约60次请求之后才会出现利率限制。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-12 09:25:00

公共GitHub API请求仅限于60 /小时/ ip,正如您所观察到的。这就是为什么你需要认证。

当您使用多种身份验证方法 API时,会出现GitHub。

基本认证

基本上,您提供用户名和密码。

代码语言:javascript
复制
curl -u your-username "https://api.github.com/repos/user/repo/issues?state=closed"

这将提示您输入密码。

如果您不想使用密码,可以使用个人令牌

代码语言:javascript
复制
curl -u username:token "https://api.github.com/repos/user/repo/issues?state=closed"

使用个人访问令牌

这是我的最爱,但请确保您不与其他人共享令牌代码。要生成一个新的令牌,打开这个页面,您将创建令牌。

然后你可以像这样使用它:

代码语言:javascript
复制
curl "https://api.github.com/repos/user/repo/issues?state=closed&access_token=token"

(用令牌代码替换url末尾的token代码段)

OAuth

如果要为其他用户实现身份验证,则应使用OAuth。文档在这个方向上是好的。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33655700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档