图Api – 401未经授权

刚开始使用图形/办公室API,哇,这是一个雷区!

只是想知道是否有人可以给我任何建议? 当我尝试联系https://graph.microsoft.com/beta/me/files时,我得到401。

我的JWT如下:

{ "aud": "https://graph.windows.net/", "iss": "https://sts.windows.net/916970f4-e570-4036-a353-8ae647af1d3e/", "iat": 1444794383, "nbf": 1444794383, "exp": 1444798283, "ver": "1.0", "tid": "916970f4-e570-4036-a353-8ae647af1d3e", "oid": "c454b826-612f-4525-8995-87f1a24dc3df", "sub": "c454b826-612f-4525-8995-87f1a24dc3df", "idp": "https://sts.windows.net/916970f4-e570-4036-a353-8ae647af1d3e/", "appid": "568d0906-4131-4b97-8b08-9efdbe1636c4", "appidacr": "1" } 

我的令牌以一种相当奇怪的方式被获取…我有一个web项目azure AD,谁的令牌用于获取web api Azure Ad令牌,然后该令牌用于生成图api jwt,如上所示。

下面是怎么回事:

在此处输入图像描述

对不起,您在这里遇到问题。 两件事情…

  1. 您获得401是因为令牌的受众是针对Azure AD Graph API的,但它需要用于Office 365统一API,因为这些是两种不同的API。 要获取统一API的令牌,您需要将令牌获取请求中的资源指定为https://graph.microsoft.com 。 基本上,令牌不能互换用于不同的服务 – 令牌是受众/资源特定的。 我们应该在http://dev.office.com/unifiedapis上提供一些额外的信息和样本。
  2. Office 365统一API仅支持代码流(即app +用户或委派流)。 您的令牌似乎是客户端凭据流令牌(即仅限应用程序 – 无用户上下文)。 使用统一的api这种令牌/流是不可能的,但这是我们正在努力的事情。 敬请关注。

希望这可以帮助,