问题描述
基本上,我已经成功设置了与Webhooks的monday.com集成。长话短说,当在monday.com上发布新商品时,HTTP请求将发送到由Google Cloud Function处理的URL。该GCF解析请求中传递的JSON,并在Big Query中更新我的表。
但是问题是这样的:
让我们假设以下项目发布在monday.com板上: monday.com table entry screenshot
请注意日期的格式为日期时间。
通过HTTP请求发送的JSON文件(用于date-time字段)如下:
"date4":{
"date":"2020-05-22","icon":"None"
},
请注意,时间如何不包括在发送的数据中,只有日期。
此外,我可以断言在monday.com板上,字段类型为日期时间。
我想知道这是monday.com API的问题还是我只是在做错什么。研究此问题后,我找不到任何相关问题。
谢谢大家!
解决方法
我遇到了同样的问题,甚至更糟:如果您只更改日期/时间字段中的时间,则根本不会收到 webhook 回调!
这似乎是一个很大的疏忽,所以我联系了 Monday.com 的支持人员。他们的回复:
此时您确实是正确的,对日期列的小时字段的更改不会导致抛出 webhook。与 hours 字段不填充 webhook 数据的事情相同。这是我们的开发人员尚未添加到我们的 webhooks 配置的功能。
相反,如果您的团队使用“小时”列呢?此列在更改时会触发 webhook,还可以存储小时数据。
我对“小时”列解决方案不太满意,因为我们有几个日期/时间列需要拆分,从而导致更多列,我不确定对其他列有什么影响部分。
可以考虑的其他解决方案:
投票
根据您真正需要回调的速度,老式同步方式只是轮询更改。这确实要求您参考周一 pulse_id
的商品(我这样做,所以这可能对我有用)。
自定义星期一应用
我还没有深入研究这个问题,但 Monday 有一个 SDK,可让您编写应用程序来侦听数据中的更改和触发器。但是根据幕后工作的方式,它可能会遇到与 webhooks 相同的缺点。此外,它需要一个单独的服务器来发送您自己的更新。
总而言之,我对周一的 webhooks 感到非常失望,原因如下:
- 这个日期/时间问题
- 文档非常有限。
- 它们发送的数据不一致(例如,对于某些回调,
type
在event
内,而对于其他回调,在外部) - Webhook 没有没有安全性。请求没有签名或认证。任何人都可以向您的端点发送请求,但没有好的方法可以检查它是否确实来自星期一。
- 没有要删除的网络钩子。