【问题标题】:Access sharepoint folders in R访问 R 中的共享点文件夹
【发布时间】:2020-11-03 21:18:49
【问题描述】:

我目前正在尝试访问 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(不仅仅是单个文档)。真正有帮助的是将我的 sharepoint 文件夹设置为我的工作目录并使用 base::list.files() 函数列出我文件夹中的文件,但我怀疑这是可能的。

有人知道我该怎么做吗?

【问题讨论】:

    标签: r sharepoint


    【解决方案1】:

    为此,我创建了一个名为 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)
    

    【讨论】:

      猜你喜欢
      • 2021-10-27
      • 1970-01-01
      • 2015-01-07
      • 2011-06-07
      • 2016-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多