【问题标题】:Microsoft Graph Subscriptions - Not receiving calendar events notificationsMicrosoft Graph 订阅 - 未收到日历事件通知
【发布时间】:2019-05-28 20:13:57
【问题描述】:

我们正在使用多租户应用程序。 我们创建了一个订阅来收听特定用户的日历事件,但我们没有收到通知。

用户接受以下范围:Calendars.Read Calendars.ReadWrite Calendars.Read.Shared Calendars.ReadWrite.Shared offline_access User.Read.All

当我们调用 POST https://graph.microsoft.com/v1.0/subscriptions 身体:

{  
"resource": "/users/31c61efc-bc28-4552-9f0d-1a8735767c4e/calendars/AAMkAGRjZjY3OGRmLWU3MjAtNGExYy1hOTk0LTNkNjExOWVhZmYyNQBGAAAAAAD3yBF0B84VRJLe9CCZ4-ajBwDf5J1F10FqQ6VkC14neUWZAAAAAAEGAADf5J1F10FqQ6VkC14neUWZAABEL_2XAAA\u003d/events",  
"changeType": "created,updated,deleted",  
"clientState": "XXXXXX",  
"notificationUrl": "https://XXXXX.ngrok.io/notification/event",  
"expirationDateTime": "2019-05-31T14:42:08.651Z"
}

然后调用 notificationUrl 并且我们收到验证令牌: Validation: Testing client application reachability for subscription Request-Id: 9d020355-7589-4485-ba29-62d1ec899723

但是当我们登录31c61efc-bc28-4552-9f0d-1a8735767c4e 帐户并更新或创建事件时,不会发送任何通知。

如果我们调用 GET https://graph.microsoft.com/v1.0/subscriptions,则创建订阅:

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#subscriptions",
    "value": [
        {
            "id": "b92d909e-b1b5-49b8-af54-74b7956d6565",
            "resource": "/users/31c61efc-bc28-4552-9f0d-1a8735767c4e/calendars/AAMkAGRjZjY3OGRmLWU3MjAtNGExYy1hOTk0LTNkNjExOWVhZmYyNQBGAAAAAAD3yBF0B84VRJLe9CCZ4-ajBwDf5J1F10FqQ6VkC14neUWZAAAAAAEGAADf5J1F10FqQ6VkC14neUWZAABEL_2XAAA=/events",
            "applicationId": "XXXX",
            "changeType": "created,updated,deleted",
            "clientState": null,
            "notificationUrl": "https://XXXX.ngrok.io/notification/event",
            "expirationDateTime": "2019-05-31T14:42:08.651Z",
            "creatorId": "31c61efc-bc28-4552-9f0d-1a8735767c4e"
        }
    ]
}

监控 ngrok 调用,没有对通知事件端点的调用失败。

是否有任何控制台日志可供我们验证以了解问题所在?

我们尝试为不同的帐户创建订阅,但没有成功。 我们也尝试订阅/me/events

【问题讨论】:

    标签: microsoft-graph-api microsoft-graph-calendar


    【解决方案1】:

    只是想知道这是否可能是原因,但是您订阅的日历 id\u003d 而不是 = 结尾。编码的东西。可能不是它,但对我来说它很好用。

    希望只是这个! JS

    【讨论】:

    • 我有时会收到一些通知,但并非总是如此。例如,我昨天下午一直收到通知,但今天早上……什么都没有。我没有进行任何代码更改。我什至没有重新启动服务器。
    • 我遇到了与您提到的@PrashantSaraswat 相同的问题。昨天晚上我收到了一堆通知,但今天没有。也许在微软这边。
    • 您是否有可能遇到ngrok 配置问题?您是否有可能重新启动它,现在它在不同的网址上公开,因此您的订阅不再有效?
    • @jstougas 我很确定我使用了正确的ngrok url。现在我更改为Localtunnel,以便能够定义固定主机并避免每次必须重新启动ngrok 时创建不同的订阅。有时我会收到通知,有时只是没有。我没有改变任何东西。
    • @jstougas 我很确定这不是 ngrok 问题。从一天到下一天,我身边绝对没有任何变化。我刚刚停止接收通知。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-20
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    • 1970-01-01
    • 2020-10-18
    相关资源
    最近更新 更多