【问题标题】:Microsoft Graph: how to get Data from users of an organisation through web app?Microsoft Graph:如何通过 Web 应用从组织的用户那里获取数据?
【发布时间】:2017-07-18 15:58:16
【问题描述】:

我正在构建一个 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": "访问被拒绝。检查凭据并重试。", “内部错误”:{ “请求 ID”:“5831bd5b-8fd1-4f77-b49b-c976ddffab3f”, “日期”:“2017-07-18T15:42:49” } } }

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

【问题讨论】:

    标签: azure office365 microsoft-graph-api outlook-restapi


    【解决方案1】:

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

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

    【讨论】:

    • 如果我组织中的每个人都与我共享他们的 Outlook 任务文件夹,我是否可以通过此呼叫访问他们的所有任务? graph.microsoft.com/beta/me/outlook/tasks
    • 理论上,当然。但是,如果您正在寻找更统一的任务模型,则可能需要考虑使用 Planner。它可能更符合您的要求。
    • 我连自己的任务都搞不定?!如何在中间件(.NET Core Web API)中提供这些范围?
    • 对于任何寻找的人,这是suggestion on User Voice。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-27
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    相关资源
    最近更新 更多