如何使用python获取上传到sharepoint的文件的动态url?

问题描述

我的代码每天执行以下任务:

  1. 在sharepoint上创建一个日期文件夹。完成
  2. 在共享点的日期文件夹中创建一个类别文件夹。完成
  3. 在相应的类别文件夹中上传文件。完成

4。查找文件的URL。待处理

  1. 通过电子邮件发送网址。完成

     def upload_files(base_url,site,access_token,fileName,filePath,fileFolderUrl):
         try:
             fileHandle = open(filePath,'rb')
    
             #fileFolderUrl = f'Shared Documents/Output/{subFolder}'
             requestFileUploadUrl = f"{base_url}/{site}/_api/web/GetFolderByServerRelativeUrl('{fileFolderUrl}')/Files/add(url='{fileName}',overwrite=true)"
    
             headers = {
                'Accept':'application/json; odata=verbose','Content-Type':'application/json; odata=verbose','Authorization': 'Bearer {}'.format(access_token)
            }
             uploadFileResult = requests.post(requestFileUploadUrl,headers=headers,data=fileHandle)
             if uploadFileResult.status_code == 200:
                 return "success"
             else:
                 return "failure"
         except Exception as e:
             print(f"Error in uploading files to sharepoint:{e}")
             return "error"
    

有人可以帮助我了解使用python3 +在共享点上动态创建的文件夹中上传文件的URL的过程吗? 因此,结构为:SharedDocuments / Output / Today's Date / CategoryA / file.xlsx

解决方法

一种解决方案可能是手动创建 URL,因为您已经知道 URL、站点和文件名称。

我发现您可以创建链接以使用此模式共享文件: <base_url>/<site>/<FileFolderUrl>/<File>?&web=1

例如:https://company.sharepoint.com/sites/test/Documents%20partages/testing.jpg?&web=1

它只适用于已经可以访问它的人。

我还没有在自动解决方案中进行过测试,只是以经验的方式手动进行了测试