相关疑难解决方法(0)

如何使用github的R脚本?

我尝试使用github 插件创建的源码.如何使用这个blugin?

r github leaflet.draw

6
推荐指数
4
解决办法
2552
查看次数

使用httr对github私有存储库进行身份验证

我正在尝试使用Github访问私有存储库httr.如果我添加我的github令牌(存储为环境变量GITHUB_TOKEN),我可以毫无问题地执行此操作:

httr::GET("https://api.github.com/repos/aammd/miniature-meme/releases/assets/2859674",
                 httr::write_disk("test.rds", overwrite = TRUE),
                 httr::progress("down"),
                 httr::add_headers(Authorization = paste("token", Sys.getenv("GITHUB_TOKEN"))))
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试指定另一个标头,我会收到错误.在这种情况下,我想下载与发布相关联的二进制文件("资产",在github术语中):

httr::GET("https://api.github.com/repos/aammd/miniature-meme/releases/assets/2859674",
                 httr::write_disk("test.rds", overwrite = TRUE),
                 httr::progress("down"),
                 httr::add_headers(Authorization = paste("token", Sys.getenv("GITHUB_TOKEN"))),
                 httr::add_headers(Accept = "application/octet-stream"))


?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidArgument</Code><Message>Only one auth mechanism allowed; only the X-Amz-Algorithm query parameter, Signature query string parameter or the Authorization header should be specified</Message>
Run Code Online (Sandbox Code Playgroud)

这只是消息的一部分(其余包括我的令牌).

显然我的授权被发送了两次!我怎么能阻止这个?它与...有关httr::handle_pool()

编辑 - 连接信息

看来原始请求收到一个包含签名的回复.然后将此签名与我的令牌一起发回,从而导致错误.这些人也发生了类似的事情

-> GET /repos/aammd/miniature-meme/releases/assets/2859674 HTTP/1.1
-> Host: api.github.com
-> User-Agent: libcurl/7.43.0 r-curl/2.3 httr/1.2.1.9000
-> Accept-Encoding: gzip, deflate
-> Authorization: …
Run Code Online (Sandbox Code Playgroud)

r github httr

6
推荐指数
1
解决办法
570
查看次数

标签 统计

github ×2

r ×2

httr ×1

leaflet.draw ×1