Microsoft Graph returns 403 禁止第二次尝试创建订阅

Microsoft Graph returns 403 Forbidden on a second attempt to create a subscribtion

我确实为以下资源成功订阅了一次 Microsoft Graph 推送通知:

然而,当我现在尝试做同样的事情时,我得到:

403 Forbidden https://graph.microsoft.com/v1.0/subscriptions

{
  "error": {
    "code": "ExtensionError",
    "message": "Operation: Create; Exception: [Status Code: Forbidden; Reason: Forbidden]",
    "innerError": {
      "request-id": "7afa93f6-f616-4ea7-9bbe-c977ffd1e239",
      "date": "2017-07-14T16:23:35"
    }
  }
}

我的请求如下所示:

{
  "resource": "me/calendars/{ID}/events",
  "notificationUrl": "https://myapp/MyService/notifications/",
  "clientState": null,
  "changeType": "created,updated,deleted",
  "expirationDateTime": "2017-07-17T14:53:33Z"
}

我使用的文档: https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/webhooks

我怀疑 Microsoft Graph 会给出这样的错误,因为在我第一次订阅后有一个当前有效的订阅。但是,当我使用 outlook API 时,我可以获得任意数量的订阅。

问题是,Graph API 是否支持对一个资源的多个订阅?如果是,那么在这种情况下 403 Forbidden 的原因可能是什么?

是的,Microsoft graph 支持对一个资源的多个订阅。我们调查了这个请求。 Exchange 拒绝访问。请确保您使用的是正确的凭据。如有必要,请反应这个问题。谢谢你。

添加额外的 范围 后错误已修复。

之前:

Calendars.ReadWrite.Shared Files.ReadWrite.All User.Read openid offline_access profile

之后:

Calendars.Read Calendars.ReadWrite.Shared Calendars.ReadWrite Files.ReadWrite.All User.Read openid offline_access profile