我跟着这个指南
对于本地测试和webhook处理,我使用了https://webhook.site,我设法获得了有关文件更改的消息(google sheets)
接下来,我尝试配置应用程序的本地端点来处理webhook。
一个地址属性字符串,设置为侦听和响应此通知通道的通知的URL。这是您的Webhook回调URL,它必须使用HTTPS。
对于本地测试,我还使用了https://ngrok.com/
@PostMapping("/notifications")
@AnonymousAllowed
public ResponseEntity<Void> webHookHandler(HttpServletRequest request) {
String headerGoogChanged = request.getHeader("x-goog-changed");
if (!ObjectUtils.isEmpty(headerGoogChanged) && headerGoogChanged.contains("content")) {
service.parseDashboardAndSave(view.getGrid(), sheetsService.readSheetValuesBatch());
sheetsService.writeSheetValuesBatch(service.getKeyWordDashboards());
log.info("Push notification processed: {}", request);
}
return ResponseEntity.ok().build();
}
但我没有收到推送通知
同时,通过postman调用端点https://localhost:8080/notifications和https://xxxxxxeu.ngrok.io/notifications也可以工作
我听说你需要通过域名验证并且还要有一个SSL证书我发现现在在这个documentation中没有必要确认域名
1条答案
按热度按时间3htmauhk1#
我试图在用
watch
方法创建webhook后用这些changes API获取更改,这对我很有效,它都是关于用于跟踪更改的pagetoken的。