python - 使用 Python 下载 Sharepoint 文件夹中的所有文件?

标签 python sharepoint-rest-api

我有一个 Sharepoint 文件夹,每周都会转储几个文件。我想使用 python 将所有文件下载到本地文件夹位置,进行一些转换并将单个合并文件上传回 Sharepoint 上的不同位置。但无论我进行什么调用,都会返回一个空的 JSON 文件。

这是我迄今为止尝试过的代码:

import sharepy
sess = sharepy.connect(site='company.sharepoint.com', username='username', password='password')

site = r'https://company.sharepoint.com/'
path = r'/some-site/Documents/Folder1/Folder2/Folder3/'

r = sess.get(site + """_api/web/GetFolderByServerRelativeUrl('"""+path+"""')/Files""")
r
r.json()['d']['results']

r对象是 <Response [200]> .我想下载Folder3中的所有文件,但它返回空。如果我访问 Sharepoint 网站,我可以看到使用用于创建 sess 的相同用户名的所有文件。对象。

我得到path详细信息 Pane 底部的变量。我尝试过除 GetFolderByServerRelativeUrl 之外的许多其他选项,但似乎无法工作。

我是 Python 新手,对 Rest API 毫 headless 绪。

感谢您的帮助。

最佳答案

您需要获取文件列表

# Get list of all files and folders in library
files = s.get("{}/_api/web/lists/GetByTitle('{}')/items?$select=FileLeafRef,FileRef"
          .format(site, library)).json()["d"]["results"]

要获得完整的解决方案,请检查以下内容:

https://github.com/JonathanHolvey/sharepy/issues/5

关于python - 使用 Python 下载 Sharepoint 文件夹中的所有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59662472/

相关文章:

python - 使用 Pandas 将多行转换为单行

python - 同时声明多个变量的更优雅的方式

SharePoint 使用 SharePoint Online REST API 获取所有网站和所有子网站

javascript - 尝试获取超链接列表项 SharePoint 2016 REST API

odata - Sharepoint 2013 REST API GetFolderByServerRelativeUrl 不会返回作者详细信息

sharepoint-2013 - 使用 SharePoint REST API 将值设置为多值托管元数据字段类型时出错

java - 有没有办法从 SharePoint 检索没有文件名的文件?

python - 根据另一列中的值将一列中的 NaN 替换为字符串

python - 多线程 TCP 套接字

python - 在 Python 中以管理员身份编辑文件