Java-为GitHub授权应用程序



我正在开发一个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代币,有两种方法

  1. OAuth2令牌(在标头中发送)

curl-H"授权:令牌OAUTH-token"https://api.github.comOAuth2令牌(作为参数发送)

  1. 卷曲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中使用它来获取收益应该是安全的。

最新更新