Microsoft Graph Api 通过 Rest Api 的 Webhook 订阅不再工作

Microsoft Graph Api Webhook subscription via Rest Api not working anymore

我有一个工作应用程序可以从 MS-Graph Api 接收电子邮件 webhook 事件。 我注意到我无法使用 subscriptionId 找到订阅,我收到 404 error.I 也无法使用 id 删除订阅。

我进一步调查并注意到我无法再创建新订阅: 在 Azure AD 中注册的应用程序是一个服务应用程序(守护进程)

我的应用程序自动续订订阅,每次我都会收到 202 响应,但不知何故订阅丢失了。

要求:

POST: https://graph.microsoft.com/beta/subscriptions

{ "changeType": "created,updated,deleted", "notificationUrl": "https://myapi.azurewebsites.net/GraphWebhook/Inbox", "resource": "Users/myemail@company.nl/mailFolders('inbox')/messages", "expirationDateTime":"2016-10-25T20:23:45.9356913Z", "clientState": "subscription-identifier" }

回复:

"error": {
"code": "ExtensionError",
"message": "Operation: Create; Exception: [Status Code: NotFound; Reason: Not Found]",
"innerError": {
  "request-id": "681ac550-be6f-4882-9b6b-e089c36ad38e",
  "date": "2016-10-25T10:13:25"
}

有没有人有什么想法?

更新:现在突然又开始工作了。

API 支持用户 ID 和用户电子邮件地址作为资源路径的一部分,并且不会改变。要检查它是 API 问题还是资源问题,您可以尝试使用 graph explorer 访问您的资源:

获取https://graph.microsoft.com/beta/users/myemail@company.nl/mailFolders('inbox')/消息

关于您在创建订阅时看到的错误,它看起来像是与 this 有关的 Exchange 问题。

希望对您有所帮助。