Microsoft Graph API - 订阅验证请求超时

问题描述 投票:0回答:2

我正在尝试创建 Microsoft Graph API 订阅以接收 Webhook 通知。为了验证终结点,Microsoft Graph API 将 POST 请求中的验证令牌发送到通知 URL。我已经设置了一个端点来使用令牌响应此验证请求,但我遇到了订阅验证请求超时的问题。

@RestController
public class ListenController {

    @PostMapping(value = "/listen", headers = {"content-type=text/plain"})
    @ResponseBody
    public ResponseEntity<String> handleValidation(
        HttpServletRequest request,
        @RequestParam(value = "validationToken") final String validationToken) {
        return ResponseEntity.ok().contentType(MediaType.TEXT_PLAIN).body(validationToken);
    }
}

当我通过直接发送 POST 请求(例如通过 Postman)测试端点时,它返回预期的 200 OK 响应。但是,当我通过 Graph API 创建订阅时,我收到超时错误。

这是我在 Postman 中使用的发布请求:

发布https://graph.microsoft.com/v1.0/subscriptions

{

   "changeType": "updated",

   "notificationUrl": url.com/listen,

   "resource": "/sites/siteID/lists/listId ",

   "expirationDateTime":"2023-11-20T18:23:45.9356913Z",

   "clientState": "secretClientValue"

}
sharepoint microsoft-graph-api
2个回答
0
投票

不确定是否对你有帮助,但我在资源不正确以及expirationDateTime超过3天时经历过这种行为(我们不能订阅超过3天)


-1
投票

根据您提出的场景,一个可能的问题是您的 notificationURL 端点无法公开访问以供 Graph 回调和验证,因此 Graph 正在发送超时。

作为故障排除步骤,您能否验证您的端点是否可以从另一个外部位置访问?像这样的外部 ping 工具可能会有所帮助:https://www.site24x7.com/ping-test.html

© www.soinside.com 2019 - 2024. All rights reserved.