如何使用图形API在O365共享点文件夹上获取文件内容

时间:2019-05-02 21:00:41

标签: microsoft-graph sharepoint-online

使用Python和adal并请求软件包,我试图使用MS graph API在共享点上查找文件(当提供共享点站点名称,预期文件所在的文件夹名称以及文件名时。< / p>

使用各种通话,我可以做到以下

  1. 获取身份验证令牌(对具有使用用户凭据的全部权限并对所访问文件进行所有读/写的应用程序使用用户auth)

  2. 建立有效的会话

  3. 搜索站点并获取我当前站点上的详细信息

microsoft_info = SESSION.get('https://graph.microsoft.com/v1.0/sites?search=nameOfSite')
  1. 获取与该站点关联的驱动器信息
for site in microsoft_info['value']:
    if site['displayName'] == siteDisplayNameInput:
        siteId = site['id']
        drives = SESSION.get("https://graph.microsoft.com/v1.0/sites/"+siteId+"/drives")
        drives = drives.json()
  1. 从感兴趣的驱动器中获取文件信息
        for drive in drives['value']:
            if(drive['name']) == folderNameInput:
                driveId = drive['id']
                files = SESSION.get("https://graph.microsoft.com/v1.0/drives/" + driveId +"/root/search(q='')")
                files = files.json()

然后在第6点,一切都崩溃了,我返回404错误,说找不到资源-尽管使用了API提供的标识符,这些标识符清楚地表明资源的存在。

                    if file['name'] == 'Pipeline Pilot Forms.pptx':
                        print("List of properties on file")
                        for x in file:
                            print(x+" "+str(file[x]))
                        fileId = file['id']
                        print(fileId)
callToDLFile = SESSION.get("https://graph.microsoft.com/v1.0/drives/"+driveId+"/items/"+fileId+"/content"

似乎是适用于此的代码(缩进似乎无法将内容复制到其中,但这一切都很好),但它返回404错误-对此,任何帮助将不胜感激,我看不到(经过相当长时间的搜索)与该问题完全匹配的任何内容。

0 个答案:

没有答案