r - 在 R 中访问共享点文件夹

标签 r sharepoint

我目前正在尝试访问 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 库因为这样做。

我基本上做的是:

  • >
    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)

关于r - 在 R 中访问共享点文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61600652/

相关文章:

Azure DevOps 项目 SharePoint 门户 : Document Repository

azure - SharePoint/Azure - 在租户级别授予应用程序权限

r - R 中不区分大小写的列表搜索

reshape 相关矩阵,每对变量仅包含一次

sharepoint - 使用 SPQuery 检索不同/唯一值的最佳方法是什么?

c# - 使用 SharePoint Web 部件访问远程文件

R 迭代列表中的连续对

c - 从 R 调用这个 C 函数(libqp_gsmo.c)的方法是什么?

r - ggplot几何点,修改文本

java - 使用 NTLM 和 Wildfly 的 HTTP 响应 '401: Unauthorized'