我目前正在尝试访问 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() 函数列出我的文件夹中的文件,但我怀疑这是可能的。
有人知道我该怎么做吗?
我创建了一个名为 sharepointr 的 R 库来实现这一点。
我基本上做的是:
存储库的 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)
有人尝试过这个解决方案吗?什么是“insert_from_step_one”、第四个等?