我正在开发一个Java应用程序,该应用程序使用GitHub API下载用户存储库的Zip,但每次执行时都会超过速率限制。如何授权我的Java应用程序达到每小时5000个请求?
- 我不想使用其他库,只想使用纯GitHub API
- 我有一个令牌可以用来授权
来自https://developer.github.com/v3/
提高OAuth应用程序的未经身份验证的速率限制
如果您的OAuth应用程序需要使用更高的费率限制,您可以将应用程序的客户端ID和机密作为查询字符串的一部分。
卷曲-i'https://api.github.com/users/whatever?client_id=xxxx&client_secret=yyyy'
来自https://developer.github.com/v3/一旦你有了OAUTH代币,有两种方法
- OAuth2令牌(在标头中发送)
curl-H"授权:令牌OAUTH-token"https://api.github.comOAuth2令牌(作为参数发送)
- 卷曲https://api.github.com/?access_token=OAUTH-代币
例如卷曲https://api.github.com/rate_limit?access_token=xxxxxxxxxxxxx
正在获取OAUTH(访问)令牌参考-https://developer.github.com/v3/oauth_authorizations/#create-新授权
方法1
使用您的用户id和密码(用于登录网络)
卷曲-X POSThttps://api.github.com/authorizations-d'{"scopes":["public_repo"],"note":"admin script"}'-u:
方法2
使用应用程序的客户端id和机密
卷曲-X POSThttps://api.github.com/authorizations-d"{"scopes":["public_repo"],"note":"admin script","client_id":","client_secret":"}">
方法3
卷曲-X PUThttps://api.github.com/authorizations/clients/-d'{"scopes":["public_repo"],"note":"admin script","client_secret":"}'
在对上述任意调用的响应中,您将获得一个值"token":"abcdefgh12345678",
这是OAUTH或访问令牌。保留此令牌的副本。
您也应该能够使用web生成令牌https://github.com/blog/1509-personal-api-tokens
由于我们获得的代币只能访问公共回购,因此在TPS中使用它来获取收益应该是安全的。