1

在我的一个解决方案中,我打算从使用应用程序客户端凭据进行身份验证的 Azure 函数创建对组日历事件资源的 Microsoft Graph 订阅

授予应用程序主体的权限是Calendars.ReadWriteGroup.ReadWrite.All 在此处输入图像描述

所以调用的有效负载看起来像

{
  "changeType": "updated",
  "resource": "groups/a619f4ce-7538-47c3-8feb-f5df845c5e96/calendar/events",
  "expirationDateTime": "2020-03-20T00:00:00Z",
  "notificationUrl": "https://4ed2bafd.ngrok.io/api/Webhook"
}

我得到的错误 400 是

Exception: Error: Error making HttpClient request in queryable [400] Bad Request ::> {
[18/03/2020 19:19:39]   "error": {
[18/03/2020 19:19:39]     "code": "InvalidRequest",
[18/03/2020 19:19:39]     "message": "Subscription to a group's 'conversations' is not supported with Application-level permissions.",
[18/03/2020 19:19:40]     "innerError": {
[18/03/2020 19:19:40]       "request-id": "6337f57d-a266-4947-9f3b-289c8d8c9c9e",
[18/03/2020 19:19:40]       "date": "2020-03-18T19:19:40"
[18/03/2020 19:19:40]     }
[18/03/2020 19:19:40]   }
[18/03/2020 19:19:40] }

使用 Graph Explorer 创建订阅时,同样的调用效果很好(因此我的登录用户是该组的一部分)。

我了解,我无法使用仅限应用程序的权限从群组中获取对话,并且共享 Outlook 对象存在限制,但我本可以期望能够订阅特定群组日历事件(顺便说一句,这不是“对话”,如错误消息中所述)。有可能吗,还是应该以不同的方式完成?

干杯,

雅尼克

4

1 回答 1

0

这是今天记录在案的已知问题。有一个uservoice 想法要求能够阅读仅包含应用程序上下文的群组对话(这与您的请求高度相关),也许您也可以添加评论以请求订阅支持并支持该想法以帮助确定请求的优先级。

于 2020-03-26T12:42:20.800 回答