r - 使用 httr 从私有(private) GitHub 仓库加载 csv 文件

标签 r

我想从私有(private) GitHub 存储库下载一个 csv 文件并将其加载到当前环境。我不想简单地 read_csv("raw_git_url") 因为脚本将是公开的并且复制/粘贴 raw_git_url 将给我留下 filename.csv?token=AHh_HT3Aetc.... 并且我不想公开我的 token 号。

相反,我获得了 GitHub 身份验证 token 并将其作为 .Renviron 文件放入我的工作目录中。

我可以像这样将文件写入磁盘/工作目录:

library(httr)
url <- "https://raw.githubusercontent.com/username/privatereponame/master/dataname.csv"
GET(url, write_disk("mynew.csv", overwrite=TRUE))

但我不想写副本 - 只需在当前环境中提供 csv 文件即可。我错过了一些明显的东西吗?将 write_disk.... 更改为 readr::read_csv 命令无效。

我可以做一件骇人听闻的事——像这样访问原始内容:

x=GET(url, authenticate(Sys.getenv("GITHUB_PAT1"), ""))
enc<-stringi::stri_enc_detect(content(x, "raw"))
content(x, "text", encoding = enc[[1]]$Encoding[1])

...然后编写一些脚本将文本转换为 csv...但这感觉太冗长了。

最佳答案

有时你必须提出一个问题才能找到答案:

x=GET(url, authenticate(Sys.getenv("GITHUB_PAT1"), ""))
content(x, type="text/csv")

content() 中使用 type 参数设置 MIME 类型。

关于r - 使用 httr 从私有(private) GitHub 仓库加载 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41814897/

相关文章:

javascript - R github渲染js文件看googleVis html

r - fortify()之后如何从shapefile中保留信息

r - 为什么 .env 代词在 dplyr::slice_max 中不起作用?

windows - ggplot-s 是否依赖于上一个桌面 session 属性?

r - 从R中多列的df中仅​​选择一个字符值

r - R 中的多重 T 检验

r - 无法在R上加载rJava

r - 用 NA 进行汇总和减法

r - 在 geom_smooth、ggplot2 中设置不同的线型

R 在多个图之间交互识别来自同一数据集的点