401使用HttpBuilder未经授权访问Github API(Groovy)

伯克

我编写了一个Groovy脚本来管理Github上的一些组织存储库。直到几周前,当同一脚本开始失败时,它的工作情况还是不错的。也许Github改变了他们API的某些方面?也许我正在做一些愚蠢的事情。我已将问题缩小到以下简化示例(需要有效的github帐户):

@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.6' )

import groovyx.net.http.HTTPBuilder

String username = System.console().readLine 'Username: '
char[] password = System.console().readPassword 'Password: '

def github = new HTTPBuilder('https://api.github.com')
github.auth.basic username, password.toString()
def emails = github.get(path: '/user/emails', 
    headers: ['Accept': 'application/json', 'User-Agent': 'Apache HTTPClient'])
println emails

输出:

$ groovy GithubHttpBuilderTest.groovy
用户名:用户名
密码:
捕获:groovyx.net.http.HttpResponseException:未经授权的
groovyx.net.http.HttpResponseException:未经授权
的groovyx.net.http.HTTPBuilder.defaultFailureHandler(
HTTPBuilder.java:x。) groovyx.net上的net.http.HTTPBuilder.doRequest(HTTPBuilder.java:508)
。groovyx.net
上的http.HTTPBuilder.get(HTTPBuilder.java:292)
groovyx上的http.HTTPBuilder.get(HTTPBuilder.java:262).net.http.HTTPBuilder $ get.call(未知源)
位于GithubHttpBuilderTest.run(GithubHttpBuilderTest.groovy:10)

使用相同的凭据,curl可以工作:

$ curl -u username https://api.github.com/user/emails

输出:

[
  “ [email protected]
]

我是否缺少有关如何使用HttpBuilder正确验证Github API的信息?

编辑:修复了我的代码中的错误,其中我将其System.console().readPassword视为字符串而不是其实际返回类型:char []。哎呀。

蚊子

github.auth.basic username, password似乎没有工作时,你需要手动设置:

String userPassBase64 = "$username:$password".toString().bytes.encodeBase64()    
def github = new HTTPBuilder('https://api.github.com')
def emails = github.get(path: '/user/emails', headers: ["Authorization": "Basic $userPassBase64"])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当我尝试使用PHP访问JIRA REST API时未经授权(401)

来自分类Dev

使用Graph API访问与我共享项目会显示401未经授权

来自分类Dev

Asana API个人访问令牌返回401(未经授权)

来自分类Dev

使用OAuth的api.github.com的Groovy HTTPBuilder

来自分类Dev

使用OAuth的api.github.com的Groovy HTTPBuilder

来自分类Dev

401未经授权的Dropbox API

来自分类Dev

使用简单访问API(API密钥)在我的YouTube帐户中上传视频时出现错误“ 401未经授权”

来自分类Dev

使用Google Calendar API返回401(未经授权)

来自分类Dev

使用UpgradableApp API时显示“ 401未经授权”

来自分类Dev

无法使用TFS 2015 API。收到401未经授权的错误

来自分类Dev

401-未经授权:由于凭据无效,访问被拒绝。IIS 10新发布POST API

来自分类Dev

Azure AD API请求401未经授权

来自分类Dev

解析REST api注销401未经授权

来自分类Dev

Identity Server 4的API授权不断返回401未经授权

来自分类Dev

DotNetNuke服务API授权抛出401未经授权的代码

来自分类Dev

未经授权使用 API 密钥

来自分类Dev

使用JSON API将文件上传到Google Cloud Storage,错误401未经授权

来自分类Dev

使用jQuery的$ .get和GMail API时出现401(未经授权)错误

来自分类Dev

使用Java检索Riot API信息时获取401(未经授权)

来自分类Dev

(401)未经授权使用tweetinvi调用https://api.twitter.com/oauth/access_token

来自分类Dev

使用python查询youtube api的播放列表时出现“ HTTP错误401:未经授权”

来自分类Dev

使用s3 API进行Swift Openstack时未经授权401

来自分类Dev

您使用youtube-data-api将视频上传到“ 401未经授权”

来自分类Dev

使用python查询youtube api的播放列表时出现“ HTTP错误401:未经授权”

来自分类Dev

远程服务器返回错误:(401)未经授权。在使用Paypal Rest APi时

来自分类Dev

使用 Passport 的 Laravel API 身份验证导致 401(未经授权)

来自分类Dev

未经授权访问此资源/ API(GCP)

来自分类Dev

未经授权:通过Web API拒绝访问

来自分类Dev

VSTS REST API:401 工作项 API 未经授权

Related 相关文章

  1. 1

    当我尝试使用PHP访问JIRA REST API时未经授权(401)

  2. 2

    使用Graph API访问与我共享项目会显示401未经授权

  3. 3

    Asana API个人访问令牌返回401(未经授权)

  4. 4

    使用OAuth的api.github.com的Groovy HTTPBuilder

  5. 5

    使用OAuth的api.github.com的Groovy HTTPBuilder

  6. 6

    401未经授权的Dropbox API

  7. 7

    使用简单访问API(API密钥)在我的YouTube帐户中上传视频时出现错误“ 401未经授权”

  8. 8

    使用Google Calendar API返回401(未经授权)

  9. 9

    使用UpgradableApp API时显示“ 401未经授权”

  10. 10

    无法使用TFS 2015 API。收到401未经授权的错误

  11. 11

    401-未经授权:由于凭据无效,访问被拒绝。IIS 10新发布POST API

  12. 12

    Azure AD API请求401未经授权

  13. 13

    解析REST api注销401未经授权

  14. 14

    Identity Server 4的API授权不断返回401未经授权

  15. 15

    DotNetNuke服务API授权抛出401未经授权的代码

  16. 16

    未经授权使用 API 密钥

  17. 17

    使用JSON API将文件上传到Google Cloud Storage,错误401未经授权

  18. 18

    使用jQuery的$ .get和GMail API时出现401(未经授权)错误

  19. 19

    使用Java检索Riot API信息时获取401(未经授权)

  20. 20

    (401)未经授权使用tweetinvi调用https://api.twitter.com/oauth/access_token

  21. 21

    使用python查询youtube api的播放列表时出现“ HTTP错误401:未经授权”

  22. 22

    使用s3 API进行Swift Openstack时未经授权401

  23. 23

    您使用youtube-data-api将视频上传到“ 401未经授权”

  24. 24

    使用python查询youtube api的播放列表时出现“ HTTP错误401:未经授权”

  25. 25

    远程服务器返回错误:(401)未经授权。在使用Paypal Rest APi时

  26. 26

    使用 Passport 的 Laravel API 身份验证导致 401(未经授权)

  27. 27

    未经授权访问此资源/ API(GCP)

  28. 28

    未经授权:通过Web API拒绝访问

  29. 29

    VSTS REST API:401 工作项 API 未经授权

热门标签

归档