我成功地创建了一个消息事件的订阅,但它永远不会触发。有人可以帮我指出我可能缺少的任何有用的调试工具吗?到目前为止,这是我的调试进度...
订阅是否已创建?
我相信是这样。我使用以下方法创建了它:
POST https://graph.microsoft.com/v1.0/subscriptions/
{
"changeType": "created,updated",
"notificationUrl": "https://glitch-subdomain.glitch.me/callback-that-just-logs-stuff",
"resource": "mailFolders('inbox')/messages",
"expirationDateTime":"2019-12-05T18:23:45.9356913Z",
"clientState": "secretClientValue"
}
- 端点返回
201 Created
。 - 验证 webhook触发。我根据文档做出回应,以便设置订阅。
- 我验证它是通过调用创建的
GET /subscriptions
并在那里查看
发生了正确的事件吗?
根据这篇文章,我直接搜索了应该触发事件的消息:
GET https://graph.microsoft.com/v1.0/users/myemail@live.com/mailFolders('inbox')/messages
它就在那里。
我的回调 URL 真的有效吗?
curl -XPOST https://glitch-subdomain.glitch.me/callback-that-just-logs-stuff
是的。
它可以使用图形浏览器工作吗?
是的!但为什么不在我的应用程序中?我怀疑这是应用程序配置的问题,但没有输出,我找不到日志消息,我找不到 webhook 日志。
https://graph.microsoft.com/v1.0/me
为了进一步调试,我使用来自 MS Graph API 的身份验证令牌和我的应用程序令牌请求端点。也许我正在使用其他帐户进行操作?他们是相同的。
更多上下文...
我的应用程序(和 Graph Explorer)请求Mail.Read
和User.Read
权限。我没有经过特殊的验证过程。而且(更糟的是)它以前可以工作。但即使在回滚到它工作的点之后,仍然是一样的。
任何提示将不胜感激