SharePoint API调用文件上载
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SharePoint API调用文件上载相关的知识,希望对你有一定的参考价值。
我正在Django中构建一个应用程序并尝试将文件上传到SharePoint Online站点,但我确信我(至少)得到了API调用的错误。我在dev.microsoft.com中拥有分配给应用程序的相应权限,但在尝试上传时返回500响应。
这是我尝试使用PUT / sites / {site-id} / drive / items / {parent-id}的基本api调用:/ {filename}:/ content
我有点使用这两个资源来构建url但不确定site-id或parent-id。对于{YourSharepointTenant},我从属性的Azure门户获得了租户ID。它是我在我发布的代码中省略的一长串字符
https://www.coderedcorp.com/blog/uploading-files-to-sharepoint-with-django-and-pyth/
https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_put_content
这是我的代码
def save(self, *args, **kwargs):
# Get the authenticated user credentials from office365-allauth
social = request.user.social_auth.get(provider='office365')
access_token = social.extra_data['access_token']
# build our header for the api call
headers = {
'Authorization' : 'Bearer {0}'.format(access_token),
}
# build the url for the api call
# Look at https://dev.onedrive.com/items/upload_put.htm for reference
url = 'https://{YourSharepointTenant}.sharepoint.com/sites/ITSupport/drive/root:/' + design_document + ':/content'
# Make the api call
response = requests.put(url, data=open(design_document, 'rb'), headers=headers)
return response
super(LaserMaskDesign, self).save(*args, **kwargs)
当您定位图表时,您应该使用该网址而不是https://graph.microsoft.com/beta/sites/siteid/drive ....这是您的入口点的网站API,它将为您提供对驱动器的访问权限。请记住,API处于测试阶段,因此尚未准备就绪。有关此API的更多文档,请访问https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/sharepoint
以上是关于SharePoint API调用文件上载的主要内容,如果未能解决你的问题,请参考以下文章
powershell 在客户端对象模型的sharepoint中设置文件上载大小
powershell 完整的Sharepoint Framework SPFX Bundle使用Gulp和Powershell构建上载部署过程
如何在 SharePoint 框架 Web 部件中调用 SharePoint 搜索 API 以获取最近的新闻?