为什么Microsoft Graph列表订阅会返回原样?

时间:2019-04-09 18:07:55

标签: javascript node.js microsoft-graph

在Outlook中更改了联系人之后,我试图设置webhook来更新我的应用程序数据库。我想操纵已设置的订阅,以便在订阅到期之前对其进行更新。目前,我正在执行查询以获取当前拥有的订阅列表,而得到的响应令人困惑。

我收到一个初始响应,其中列出了154个已全部过期的订阅(我的理解是,如果它们已过期,则不应显示。)以及nextLink。 示例(当前日期19/4/9)

applicationId: "afa7c255-37b2-4cb1-af0e-bf7bad39ed98"
changeType: "updated"
clientState: null
creatorId: "7e47df1e-7f11-45ca-a89a-d63dc83fdfa6"
expirationDateTime: "2019-04-04T18:17:05.192Z"
id: "cd80f682-45d2-496c-9e96-b39656803787"
notificationUrl: "https://us-central1-batteries-fb.cloudfunctions.net/graphContactSubscription"
resource: "users/cgomez@kbirecycling.com/contacts"

然后我在nextLink之后执行另一个请求,并且我收到了532个订阅的列表,这些订阅的到期日期都是从当天开始的一周。这是令人担忧的,因为根据Microsoft文档(https://docs.microsoft.com/en-us/graph/api/resources/subscription?view=graph-rest-1.0),任何通过允许的最大长度的请求都将失败,因此永远不会被创建。 示例(当前日期19/4/9)

applicationId: "afa7c255-37b2-4cb1-af0e-bf7bad39ed98"
changeType: "updated"
clientState: null
creatorId: "7e47df1e-7f11-45ca-a89a-d63dc83fdfa6"
expirationDateTime: "2019-04-15T16:40:59.2650236Z"
id: "452c3780-3a87-4d75-a3db-079aa2e4d69c"
notificationUrl: "https://us-central1-batteries-fb.cloudfunctions.net/graphContactSubscription"
resource: "users/sfreeland@retrievtech.com/contacts"

找到这些无效的订阅之后,我试图从应用程序中将其删除,并且得到了一个不寻常的响应(我认为这与Deleting Microsoft graph fails with ExtensionError有关)

 { code: 'ExtensionError',
     message:
      "Operation: Delete; Exception: [Status Code: NotFound; Reason: The subscription with Id 'QzAxODMzRTMtNzQ1Mi00OTIxLUExRjUtRTFDNjBGMTI1NTU0XzQ3RkYzQTg0LUY3OEUtNEI0Ni1BNjk3LUU4QTE4QjREREJERA==' is not found.]",
     innerError:
      { 'request-id': 'dcc27bf9-2c38-4770-b743-2629a1e038fc',
        date: '2019-04-09T17:49:21' } } }

此响应与Microsoft Graph Subscription ExtensionError - Delete / Update问题中的响应非常相似,不同之处在于,他没有找到解决方案,只有等到到期日期之后才能继续。我的订阅列表已经过期,现在仍然在列表中。

1 个答案:

答案 0 :(得分:1)

question you pointed to的最新更新中所述,这是一个暂时性的问题,已得到解决。