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

时间:2016-10-25 10:29:28

标签: azure office365api microsoft-graph azure-ad-graph-api service-application

我有一个工作应用程序,可以从MS-Graph Api接收电子邮件webhook事件。 我注意到我无法使用subscriptionId找回订阅,我收到404错误。我也无法使用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"
}

有没有人有任何想法?

更新:现在再次开始工作。

1 个答案:

答案 0 :(得分:1)

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

获取https://graph.microsoft.com/beta/users/myemail@company.nl/mailFolders('收件箱')/留言

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

希望这有帮助。