Python 无效的访问群体URI错误服务到服务应用程序,onedrive for business
我正在尝试从Office 365 for Business帐户检索文件 以下说明如下: 我已成功获取应用程序的访问令牌 但是,当我尝试使用令牌进行API调用时,我收到了错误消息Python 无效的访问群体URI错误服务到服务应用程序,onedrive for business,python,oauth-2.0,onedrive,office365api,Python,Oauth 2.0,Onedrive,Office365api,我正在尝试从Office 365 for Business帐户检索文件 以下说明如下: 我已成功获取应用程序的访问令牌 但是,当我尝试使用令牌进行API调用时,我收到了错误消息 “https://[tenant-redacted]-my.sharepoint.com//u-api/v2.0/drive/-401:{“错误”:“无效的客户端”,“错误描述”:“无效的访问群体Uri”http:\/\/[redacted]-电子表格测试webapi.[tenant-url-redacted].com
“https://[tenant-redacted]-my.sharepoint.com//u-api/v2.0/drive/-401:{“错误”:“无效的客户端”,“错误描述”:“无效的访问群体Uri”http:\/\/[redacted]-电子表格测试webapi.[tenant-url-redacted].com\/'.}
我对sharepoint URL的调用是一个简单的GET请求,其标题设置如下:
headers = {
'User-Agent' : 'python_tutorial/1.0',
'Authorization' : 'Bearer {0}'.format(access_token),
'Accept' : 'application/json',
}
我已确认我使用的资源URI与Active Directory配置中的应用程序ID URI匹配,并已将适当的sharepoint权限(所有网站集中的读写项目、读写用户文件)委派给应用程序
我一直在尝试各种API端点、不同的“资源”参数值,并多次重新阅读各种文档
我还可以通过Graph API发出请求,但是它没有我需要的功能(访问/更新users onedrive中的文件)
我不知道我错过了什么,如果有任何帮助,我们将不胜感激。我也有同样的问题
我使用OneDrive for business API(而不是office 365管理API)下载\上载文件,这意味着在检索访问令牌时提供的资源参数应为:
https://[tenant redacted]-my.sharepoint.com
请尝试使用JWT解码器打开访问令牌(JWT格式),以验证受众(我曾经这样做过,您在有效负载下查看的参数是aud
)这正是您所期望的。谢谢您的回答,我在Microsoft开发人员支持的帮助下解决了这个问题,他们让我完全按照您的建议去做。我不知道JWT只是一个不透明的令牌,能够解包并检查细节非常有用。