Microsoft Graph:如何通过Web应用程序从组织用户获取数据?

时间:2017-07-18 15:58:16

标签: azure office365 microsoft-graph outlook-restapi

我正在构建一个Web应用程序,需要从我组织的某些用户的Outlook任务中访问任务。我知道这个功能对于Microsoft Graph来说是相当新的:

https://developer.microsoft.com/en-us/graph/docs/concepts/changelog#outlook-tasks

当我使用Graph Explorer时,我可以通过此调用获得所有任务:

https://graph.microsoft.com/beta/me/outlook/tasks

但是我的任务或当前用户的任务不是我需要的。我需要访问组织中Outlook任务的所有用户的任务列表,无论当前谁在应用程序中连接。我知道我可以使用这样的东西来获取特定用户的任务:

GET /users/{id|userPrincipalName}/outlook/tasks

但我总是接受以下回应:

  

{       “错误”:{           “code”:“ErrorAccessDenied”,           “message”:“访问被拒绝。检查凭据然后重试。”,           “innerError”:{               “request-id”:“5831bd5b-8fd1-4f77-b49b-c976ddffab3f”,               “日期”:“2017-07-18T15:42:49”           }       }   }

我已授予每个管理员的权限,但我仍然收到相同的回复。我跳过重要的步骤了吗?如果是这样,那些步骤是什么?我可以在Graph Explorer中测试此功能,还是必须在我的应用程序中测试它?

1 个答案:

答案 0 :(得分:2)

目前,您只能使用委派的权限(即代表当前用户)访问Outlook任务。您可以使用Tasks.Read.Shared范围访问自己的任务,但同样,这仅提供对与当前用户共享的Outlook任务的其他访问权限。

您在这里寻找的是Tasks.Read.AllTasks.ReadWrite.All权限。这些将属于应用程序权限并需要行政同意。目前这个功能不可用,虽然我确信它正在考虑之中。我当然会建议在User Voice中发布此建议。