通过Webhook实现在线云文档的数据追加更新 ——by.广州业务组
评论
收藏

通过Webhook实现在线云文档的数据追加更新 ——by.广州业务组

经验分享
沐春
2023-01-29 10:56·浏览量:7104
沐春
发布于 2023-01-29 10:567104浏览

一 背景及工具介绍

(一)在线文档自动化场景下的痛点

     在自动化办公的场景下,除了线下文档的处理,也存在大量的在线文档协作办公的办公需求,虽然腾讯云文档及金山文档均有对企业端开放API接口,但是咱们客户大部分不具备对系统进行集成和二次开发的能力.

    故需要寻找一个比较轻量化的实现方案,帮助客户快速简便地串联桌面端和云端,打通的自动化的痛点需求.


(二)腾讯hiflow平台简介

    腾讯hiflow平台,可以视为一个云端的API触发器,或者云端的RPA产品.它可以较低成本实现对一些SaaS平台的实时监控.实现一定程度的办公自动化.

    选择通过hiflow方式实现,是因为hiflow属于腾讯的云端api平台,对腾讯系生态的整合比较到位,尤其是对腾讯文档的个人API方面的支持,更是其他公司无法做到的.我们可以通过在hiflow上简单配置一下,通过影刀的HTTP请求功能,实现在线文档的更新.

    hiflow网址:https://hiflow.tencent.com/


二 通过Hiflow的webhook功能实现腾讯文档更新的实践方案探索

1. 在腾讯云文档先新建一个表格(如果已有固定表格,可忽略这一步).并在表格第一行,配置好字段名称.用于与hiflow连接的时候,接收数据时的key值使用.

2. 在hiflow新建一个流程,触发流程选择:"webhook接收信息",并获得webhook地址

3. 通过postman等api工具,或者影刀的HTTP请求,向该webhook推送一条post数据,这里以影刀为例子:

推送完毕后,刷新一下webhook的预览,可以确认接收到一条信息,则代表接收成功:

4. 添加下一步流程,选择"腾讯文档",可以通过右边配置操作动作,目前hiflow对腾讯文档支持对表格的具体操作,请自行探索其能力边界.这里只演示其中的"创建一行工作表记录"功能

在参数配置处,选择对应要操作的表格名称,sheet名称,及参数字段.,并将webhook获取到的值传输进对应字段. 如果此步没有webhook获取的数据,则返回上面重新对webhook地址发起一次请求即可.

5. 绑定腾讯账号,扫码进行授权(如果已经授权可以跳过,或者可以绑定多账号授权)

6. 一切保存完毕后,点击"上线流程",将流程发布出去

发布成功后,回到列表页面,将对应流程选择为"上线"

7. 结合本地excel读取和循环操作,即可实现对在线文档的数据更新功能,整个实现逻辑也进行了简化,只需要将要推送的数据构建为字典即可,目前唯一遗留的问题,是由于网络推送的原因,可能会造成后推送的数据被先接收到,如果客户对数据顺序有需求,最好是在发post的时候,生成一列时间戳字段,等在线文档接收到后,可以用于对时间戳的值大小对数据进行排序,


影刀配置代码段


三 通过Hiflow的HTTP请求功能远程调用影刀调度模式(企业版功能)

 客户在线协作办公中,除了对在线表格进行更新,也有可能是当在线表格发生更新时,对影刀进行唤醒操作,

这种可以通过hiflow的HTTP请求功能,对影刀发起调度请求:

1. 触发事件选择当腾讯文档更新时,该流程目前为15分钟获取一次更新数据,但是无法得知更新内容,在业务场景上有局限


2. 配置一个HTTP的POST请求,获得影刀调度的授权码(基本请求操作详见影刀的API文档)



3. 将测试请求到的token,和其他流程获得的动态参数,按照API文档的请求样式填写HTTP请求,并将影刀设置为调度模式,待在线数据有更新后,即可发起调度请求,调起影刀.


4. 等到调度机器人执行流程后,即可回到控制台查看调度运行情况和入参出参情况.


四 优缺点总结

(一) 优点
通过第三方平台提供的webhook URL触发更新文档,最大的优点就是客户方在配置好云端的流程后,无需进行二次开发,只需要将线下数据按照一定格式推送到云端即可.可以快速实现自己想要的业务逻辑.

(二) 缺点
1. 云端的API由各家公司自行集成,不同厂家对同个在线应用的集成度不一样,导致可能有些功能只有某些厂家有,如果要实现桌面端和云端全流程自动化,可能需要串联多家厂家的云端产品才能实现功能.
2. webhook地址如果保存不妥当,任何获取该url的人都可以往上面推送数据,很难很难保证数据的完整性和可靠性
4. 云端的webhook绑定的都是具体文档的具体Sheet,灵活性不足.在业务可拓展性上有一定限制.



最后,感谢耐心看到这里,若有收获,就点个赞吧~

收藏3
全部评论1
最新
发布评论
评论