在私有github文件夹中获取R文件

问题描述 投票:0回答:1

我希望在私有github文件夹中获取一些R脚本,并通过R在某些环境中使其可用。

使用公共github文件夹时,这两个命令都执行以下任务:get_URL和source_url(来自devtools)。

但是,当文件夹是私有的并且需要身份验证时,事情变得复杂。

有没有办法实现这一点,并在这些函数中放入登录详细信息,如果需要进行一些github autenthication,会自动传递用户名和密码?

谢谢你的进步,

塔马斯

r authentication github devtools
1个回答
0
投票

TL; DR:有可能,请看下面的代码。


对于任何人将来的使用,这里有一个方法从私有Github仓库中使用httrdevtools来源R脚本。

我搜索了足够多的东西来找到解决方案的各个部分,然后将它们拼接在一起。所以功劳归于其他多个线程和网站。

一些来源是hereherehere

见下面的代码:

library(httr)

# Source R script from Github
script <-
  GET(
    url = "https://api.github.com/repos/{user_name}/{repo_name}/contents/{script_name}.R",
    authenticate({github_email}, {github_personal_access_token}),     # Instead of PAT, could use password
    accept("application/vnd.github.v3.raw")
  ) %>%
  content(as = "text")

# Evaluate and parse to global environment
eval(parse(text = script))

这可能仅适用于您拥有的私人仓库。我不确定它是否适用于与您共享的私人仓库。

See this link创建一个Github个人访问令牌(PAT)。如果需要,您还可以将其保存为R中的环境变量。 devtools::github_pat()在这里很有用。

您的电子邮件和PAT(或密码)都需要引用。

© www.soinside.com 2019 - 2024. All rights reserved.