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

Download all files in a Sharepoint folder using Python?

我有一个 Sharepoint 文件夹,每周都会有几个文件被转储到其中。使用 python,我想将所有文件从下载到本地文件夹位置,进行一些转换并将单个合并文件上传回 Sharepoint 上的不同位置。但是无论我打什么电话,returns 一个空的 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中的所有文件,但是returns是空的。如果我转到 Sharepoint 网站,我可以看到所有使用用于创建 sess 对象的相同用户名的文件。

我正在从详细信息窗格的底部获取 path 变量。我尝试了 GetFolderByServerRelativeUrl 以外的许多其他选项,但似乎无法正常工作。

我是 Python 的新手,对 Rest API 一无所知。

感谢您的帮助。

您需要获取文件列表

# 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