使用Python和adal并请求软件包,我试图使用MS graph API在共享点上查找文件(当提供共享点站点名称,预期文件所在的文件夹名称以及文件名时。< / p>
使用各种通话,我可以做到以下
获取身份验证令牌(对具有使用用户凭据的全部权限并对所访问文件进行所有读/写的应用程序使用用户auth)
建立有效的会话
搜索站点并获取我当前站点上的详细信息
microsoft_info = SESSION.get('https://graph.microsoft.com/v1.0/sites?search=nameOfSite')
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()
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错误-对此,任何帮助将不胜感激,我看不到(经过相当长时间的搜索)与该问题完全匹配的任何内容。