无效的受众URI错误服务应用服务,onedrive for business

时间:2016-02-23 17:14:08

标签: python oauth-2.0 onedrive office365api

我正在尝试从Office 365企业版帐户中检索文件。

按照以下说明操作:

https://msdn.microsoft.com/en-us/library/azure/dn645543.aspx

我已经能够为我的应用程序成功获取访问令牌。

但是,当我尝试使用令牌进行API调用时,我收到错误

"https://[tenant redacted]-my.sharepoint.com/_api/v2.0/drive/ - 401: {"error":"invalid_client","error_description":"Invalid audience Uri 'http:\/\/[redacted]-spreadsheet-test-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配置中的App ID URI匹配,并且我已委派了相应的sharepoint权限(在所有网站集中读取和写入项目,读取和写入用户文件) 到应用程序。

我一直在尝试各种API端点,不同的"资源"参数值,并多次重读各种文档。

我也可以通过Graph API发出请求,但它不具备我需要的功能(用户onedrive中的访问/更新文件)。

不确定我错过了什么,我们将不胜感激。

1 个答案:

答案 0 :(得分:1)

我有同样的问题。

我使用OneDrive for Business API(而不是office 365管理API)来下载\上传文件,这意味着您在检索访问令牌时提供的resource参数应为:

https://[tenant redacted]-my.sharepoint.com

请尝试使用JWT解码器打开访问令牌(格式为JWT),以验证受众群体(我使用online JWT decoder这样做,您在下面查看的参数{ {1}} payload}是你所期待的。