2

我有一个 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从详细信息窗格的底部得到变量。我尝试了许多其他选项GetFolderByServerRelativeUrl,但似乎无法正常工作。

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

谢谢您的帮助。

4

1 回答 1

2

您需要获取文件列表

# 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

于 2020-01-13T14:39:00.130 回答