在 R 中访问共享点文件夹

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

我目前正在尝试访问 R 中的共享点文件夹。我阅读了多篇解决该问题的文章,但所有建议的解决方案似乎都不适用于我的情况。

我首先尝试使用httr包上传单个.txt文件,如下:

URL <- "<domain>/<file>/<subfile>/document.txt"
r <- httr::GET(URL, httr::authenticate("username","password",type="any"))

我收到以下错误:

Error in curl::curl_fetch_memory(url, handle = handle) : 
  URL using bad/illegal format or missing URL

然后我尝试了另一个使用类似语法的包(RCurl):

URL <- "<domain>/<file>/<subfile>/document.txt"
r <- getURL(URL, userpwd = "username:password")

我收到以下错误:

Error in function (type, msg, asError = TRUE)  : 

我尝试了许多其他将 R 链接到共享点的方法,但这两种似乎是最直接的。 (另外,我的 URL 似乎不是问题,因为当我在网络浏览器中运行它时它可以工作)。

最终,我希望能够将整个共享点文件夹上传到 R(而不仅仅是单个文档)。真正有帮助的是将我的共享点文件夹设置为我的工作目录并使用 base::list.files() 函数列出我的文件夹中的文件,但我怀疑这是可能的。

有人知道我该怎么做吗?

r sharepoint
2个回答
3
投票

我创建了一个名为 sharepointr 的 R 库来实现这一点。

我基本上做的是:

    1. 创建应用程序注册
    1. 添加权限
    1. 获取凭证
    1. 拨打 REST 电话

存储库的 Readme.md 有完整的描述,这里是一个示例:

# Install 
install.packages("devtools")
devtools::install_github("esbeneickhardt/sharepointr")

# Parameters
client_id <- "insert_from_first_step"
client_secret <- "insert_from_first_step"
tenant_id <- "insert_from_fourth_step"
resource_id <- "insert_from_fourth_step"
site_domain <- "yourorganisation.sharepoint.com"
sharepoint_url <- "https://yourorganisation.sharepoint.com/sites/MyTestSite"

# Get Token
sharepoint_token <- get_sharepoint_token(client_id, client_secret, tenant_id, resource_id, site_domain)

# Get digest value
sharepoint_digest_value <- get_sharepoint_digest_value(sharepoint_token, sharepoint_url)

# List folders
sharepoint_path <- "Shared Documents/test"
get_sharepoint_folder_names(sharepoint_token, sharepoint_url, sharepoint_digest_value, sharepoint_path)

0
投票

有人尝试过这个解决方案吗?什么是“insert_from_step_one”、第四个等?

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