我目前正在尝试访问 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 链接到 Sharepoint,但这两种似乎是最直接的。 (另外,我的 URL 似乎不是问题,因为当我在网络浏览器中运行它时它可以正常工作)。
最终,我希望能够将整个共享点文件夹上传到 R(不仅是单个文档)。真正有用的方法是将我的共享点文件夹设置为我的工作目录,并使用 base::list.files() 函数列出我文件夹中的文件,但我怀疑这是否可行。
有人知道我该怎么做吗?
最佳答案
我创建了一个名为 sharepointr 的 R 库因为这样做。
我基本上做的是:
- >
- 创建应用注册
- >
- 添加权限
- >
- 获取凭据
- >
- 进行 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)
关于r - 在 R 中访问共享点文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61600652/