Oauth 2.0 Office365 Rest API 401“;受众声明值无效";

Oauth 2.0 Office365 Rest API 401“;受众声明值无效";,oauth-2.0,outlook,office365,Oauth 2.0,Outlook,Office365,我有一个可以成功刷新的microsoft令牌,但是当我尝试在授权的范围内进行基本调用时,我得到了一个401。呼叫是:以下是服务器返回的详细信息: https://outlook.office365.com/api/v2.0/me>@request=#@request_headers={“Authorization”=>“Bearer mytokengoesher”,“Accept”=>“application/json”,“User Agent”=>“Faraday”,“client reque

我有一个可以成功刷新的microsoft令牌,但是当我尝试在授权的范围内进行基本调用时,我得到了一个401。呼叫是:以下是服务器返回的详细信息:

https://outlook.office365.com/api/v2.0/me>@request=#@request_headers={“Authorization”=>“Bearer mytokengoesher”,“Accept”=>“application/json”,“User Agent”=>“Faraday”,“client request id”=>“221e4530-9075-11e8-abc0-186590cf8dc9”,“return client request id”=>“true”@ssl=@response=.@response#response#_headers={“server”=>“Microsoft IIS/10.0”,“request id”=>“7624eddb-b6ab-42ca-beff-c1132f64ded9”,“客户端请求id”=>“221e4530-9075-11e8-abc0-186590cf8dc9”,“x-calculatedbetarget”=>“BY1PR15MB0055.NAMPRD15.PROD.OUTLOOK.COM”,“x-backendhttpstatus”=>“401”,“x-rum-validated”=>“1”,“x-ms-diagnostics”=>“2000003;原因=\“受众声明值无效”“,”错误U类别=\“无效的资源”,“x-besku”=>“Gen8”、“x-diaginfo”=>“BY1PR15MB00055”、“x-beserver”=>“BY1PR15MB00055”、“x-POWER-by”=>“ASP.NET”、“x-feserver”=>“BYAPR01CA0019”、“www-authenticate”=>“承载客户端id=”Myidgoesher\”,受信任的发行者=”0000000 1-0000-0000-c000-000000*”,应用程序类型=”应用程序断言用户服务“”,应用程序断言uri“”,应用程序授权“”,错误=\“无效的令牌\”,基本域=\“\”,基本域=\“\”,“日期=>”2018年7月26日星期四01:42:26 GMT”,“连接=>“关闭”,“内容长度=>“0”}@status=401>>
我现在有很多用户使用相同的代码路径,但有一些用户遇到了这个问题,这让我认为这是他们自己的配置问题,但是错误消息没有告诉我们太多…请帮助

出于安全原因,Microsoft内部范围的管理已更改。我们使用了诸如Mail.Read之类的作用域,它们是Microsoft图形作用域,但我们使用它们来访问outlook.com端点。直到上周这还是允许的,但现在不再允许了


修复方法是预先设置新的作用域,并且outlook REST API端点上允许使用此作用域格式。请注意不要混合使用graph和outlook作用域,因为您似乎无法获得一个可以同时适用于这两个API的令牌。

此外,我刚刚注意到“声明”似乎指向我们甚至没有授权的“”(它不是作用域之一),此url也没有请求访问该端点。有什么想法吗?嗨,这也影响到我们了。你有决心吗?谢谢你的回答!您是如何发现这一点的,我们可以参考Microsoft的文档来源吗?Microsoft支持帮助我们找到了这一点,但据我所知,这些更改等都没有在线文档记录。如果您查看outlook.com REST API文档,它们确实列出了带有URL前缀的作用域,但我可以找到的任何地方都没有列出其余的作用域。