fuz*_*on9 2 office365 office365api microsoft-graph
我一直在努力使用我在Azure中设置的应用程序从Office 365访问计划数据.我已经能够成功检索许可和用户信息,但无法获得用户任务列表(来自Planner).
进一步澄清:
图文档:https://graph.microsoft.io/en-us/docs/api-reference/beta/api/user_list_tasks
该文档明确指出执行此操作所需的范围是Group.ReadWrite.All AND Tasks.ReadWrite,我已经提供给应用程序(以及大量其他权限,因为我变得绝望和恼火).对于下面列出的每个应用程序,将检查所有应用程序权限和所有委托权限.在我开始工作之后,我将删除必要的,但我认为这将有助于缓解"你有没有尝试过检查这个...或那个......回复"
我意识到这是测试版,但希望能够利用它,并认为也许别人有更好的运气.
我尝试通过以下两种方式形成请求: https : //graph.microsoft.com/beta/users/[username]/plans https://graph.microsoft.com/beta/tasks?$ filter = createdBy eq '[用户名]'
两者都产生以下结果(大部分消息由于长度而被删除):
{ 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' } } }
Run Code Online (Sandbox Code Playgroud)
我看了一下跟踪日志,看看这里发生了什么.如上所述,您正在使用仅应用程序流(在OAuth2.0中将其称为client_credential流程)调用Microsoft Graph(此处为任务API),但基本上该应用程序在没有任何用户的情况下自行调用上下文).在使用仅应用程序流时,管理对API的访问权限的权限是您在中间列的UX屏幕截图中选择的权限(应用程序权限).
Microsoft Graph目前不支持仅应用程序访问Tasks API.这就是你获得401 Unauthorized的原因.为了访问Microsoft Graph下的Tasks API(在一个组中),您需要在"Delegated Permissions"(UX中的右栏)下选择Group.ReadWrite.All AND Tasks.ReadWrite权限并使用用于获取具有签名用户上下文的访问令牌的代码流.node.js的ADAL应该支持在app +用户模式下调用的功能.
如果您的方案需要仅限应用程序访问Microsoft Graph,那么请提交Microsoft Graph的用户语音功能请求,以支持组和任务仅限应用程序访问.
希望这可以帮助,
归档时间: |
|
查看次数: |
3190 次 |
最近记录: |