在R中访问SharePoint文件夹

3

我目前正在尝试在R中访问SharePoint文件夹。我读了多篇文章来解决这个问题,但所有提出的解决方案似乎在我的情况下都无法运作。

我首先尝试使用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与SharePoint连接的方法,但这两种方法似乎是最直接的。(另外,我的URL看起来并不是问题,因为当我在Web浏览器中运行它时它可以正常工作)。

最终,我想要能够上传整个SharePoint文件夹到R中(不仅仅是单个文档)。设置我的SharePoint文件夹为工作目录,并使用base :: list.files()函数列出文件夹中的文件将非常有帮助,但我怀疑是否可能。

有人知道我该如何做吗?

1个回答

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)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接