Office365 由于401未经授权,使用Graph API(按应用程序)访问Office 365 Planner数据时出现问题
我一直在努力使用我在Azure中安装的应用程序从office 365访问planner数据。我已经能够成功检索许可和用户信息,但无法(从Planner)获取用户任务列表 进一步澄清:Office365 由于401未经授权,使用Graph API(按应用程序)访问Office 365 Planner数据时出现问题,office365,office365api,microsoft-graph-api,Office365,Office365api,Microsoft Graph Api,我一直在努力使用我在Azure中安装的应用程序从office 365访问planner数据。我已经能够成功检索许可和用户信息,但无法(从Planner)获取用户任务列表 进一步澄清: 我正在尝试访问其他用户planner数据任务,而不是我自己的任务 这不是面向用户的应用程序,用户从不登录。我正在使用我注册的应用程序客户端/密钥使用REST接口,以获取用于后续请求的令牌。我不是以用户身份登录,我是以应用程序身份登录,因为使用“我”将无法像在graph api explorer中那样工作 通信正在
- 我正在尝试访问其他用户planner数据任务,而不是我自己的任务
- 这不是面向用户的应用程序,用户从不登录。我正在使用我注册的应用程序客户端/密钥使用REST接口,以获取用于后续请求的令牌。我不是以用户身份登录,我是以应用程序身份登录,因为使用“我”将无法像在graph api explorer中那样工作
- 通信正在成功进行,我能够毫无问题地读取和写入任何其他用户数据。问题似乎清楚地说明了,正在使用的应用程序没有查看planner数据的权限,但我已授予此应用程序所有权限,并且在尝试读取planner数据时仍获得401
- 我不确定所使用的技术是否相关,但为了提供尽可能多的细节,我使用nodejs和adal节点()
{错误:
{代码:'未知错误',
消息:“…401-未经授权:由于凭据无效,访问被拒绝。\r\n您没有使用您提供的凭据查看此目录或页面的权限…”,
内部错误:
{“请求id”:“09ef3a04-7fc2-48a0-9570-7f04171e45ed”,
日期:“2016-05-11T14:18:12”
我在这方面花了很多时间,使用图形浏览器
我查看了跟踪日志,看看这里发生了什么。如上所述,您正在使用仅应用程序流(在OAuth2.0术语中也称为client_凭证流,但基本上应用程序在没有任何用户上下文的情况下以自身身份调用)调用Microsoft Graph(这里还有任务API)。在使用应用程序只读流时管理API的权限是您在中间列(应用程序权限)中的UX截图中选择的权限。p> Microsoft Graph目前不支持仅应用程序访问任务API。这就是为什么你会得到一个未经授权的401。为了访问Microsoft Graph下的任务API(在组中),您需要在“委派权限”(UX中的右栏)下选择group.ReadWrite.All和Tasks.ReadWrite权限,并使用代码流获取具有已登录用户上下文的访问令牌。ADAL for node.js应支持在app+用户模式下调用 如果您的场景需要仅应用程序访问Microsoft Graph,请为Microsoft Graph提交功能请求,以支持组和任务仅应用程序访问
希望这能有所帮助,您用图形浏览器试用过吗?两者都可以正常工作。您要查询的用户是您自己还是组织中的某个随机用户?更新了问题以进一步澄清。@fuzion9您能够检索到所有用户的planner数据吗?我也在开发一个类似的应用程序,有很多困惑。一个想法或路线图对我来说很好。谢谢你的回复!我现在可以不再把头撞在墙上了:)嗨@Dan Microsoft Graph现在是否支持仅应用程序访问任务API?
{ error:
{ code: 'UnknownError',
message: '...<h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2>\r\n <h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3>...',
innerError:
{ 'request-id': '09ef3a04-7fc2-48a0-9570-7f04171e45ed',
date: '2016-05-11T14:18:12' } } }