Microsoft webhook订阅正在发送奇怪的正文数据,并且validationToken参数中没有文本。Microsoft Graph团队中有没有人可以提供帮助?
这就是我要发送的(出于隐私考虑,我在notificationUrl中更改了实际的域名)。
{
"changeType": "created",
"notificationUrl": "https://myapp.com/version-test/api/1.1/wf/msgraphvalidation",
"resource": "me/mailFolders/inbox/messages",
"expirationDateTime": "2018-08-27T18:23:45.9356913Z"
}这是在向"https://graph.microsoft.com/v1.0/subscriptions“或"https://graph.microsoft.com/beta/subscriptions”发送包含上述信息的帖子后,在正文中返回的内容。
Request data
{
"bold": "\u001b[1m\u001b[22m",
"underline": "\u001b[4m\u001b[24m",
"strikethrough": "\u001b[9m\u001b[29m",
"italic": "\u001b[3m\u001b[23m",
"inverse": "\u001b[7m\u001b[27m",
"grey": "\u001b[90m\u001b[39m",
"black": "\u001b[30m\u001b[39m",
"yellow": "\u001b[33m\u001b[39m",
"red": "\u001b[31m\u001b[39m",
"green": "\u001b[32m\u001b[39m",
"blue": "\u001b[34m\u001b[39m",
"white": "\u001b[37m\u001b[39m",
"cyan": "\u001b[36m\u001b[39m",
"magenta": "\u001b[35m\u001b[39m",
"greyBG": "\u001b[49;5;8m\u001b[49m",
"blackBG": "\u001b[40m\u001b[49m",
"yellowBG": "\u001b[43m\u001b[49m",
"redBG": "\u001b[41m\u001b[49m",
"greenBG": "\u001b[42m\u001b[49m",
"blueBG": "\u001b[44m\u001b[49m",
"whiteBG": "\u001b[47m\u001b[49m",
"cyanBG": "\u001b[46m\u001b[49m",
"magentaBG": "\u001b[45m\u001b[49m",
"rainbow": "",
"zebra": "",
"stripColors": "",
"zalgo": ""
}下面是完整的错误:
{
"error": {
"code": "InvalidRequest",
"message": "Subscription validation request failed. Response must exactly match validationToken query parameter.",
"innerError": {
"request-id": "08008b1b-4eda-4a09-a0d5-45ffcce1a8d6",
"date": "2018-08-26T02:43:08"
}
}
}发布于 2018-08-27 20:22:13
Microsoft Graph在创建订阅之前验证订阅请求的notificationUrl属性中提供的通知终结点。请参阅以下链接:
https://developer.microsoft.com/en-us/graph/docs/concepts/webhooks
Microsoft Graph WebHook: Subscription validationtoken blank?
您可以像这样验证通知url:
if (Request.QueryString["validationToken"] != null)
{
var token = Request.QueryString["validationToken"];
return Content(token, "text/plain");
}发布于 2018-08-29 03:50:37
validationToken在查询字符串上,而不在请求正文中。
发布于 2018-08-30 05:22:35
通知终结点似乎没有使用查询字符串中的验证令牌进行响应。响应应该是纯文本形式的验证令牌。
不知道这是否是故意的,但是你发送的请求的通知url与你在这篇文章中提到的通知url不匹配。
https://stackoverflow.com/questions/52022498
复制相似问题