Microsoft Flow | 微信 | LDP 整合开发

haruka发表于:2018年11月14日 14:19:55更新于:2018年12月18日 13:37:26

我们在使用kintone时,经常会遇到以下场景:

  • 场景1 业务系统的通知太多,希望收到通知时同步发送企业微信来随时查看。

  • 场景2 需要和其他ERP、BI、CRM等系统对接。

通常的解决方案是自行开发一套程序来实现kintone到微信的同步功能。

如果这样做,我们就需要域名空间,要学会搭建web服务器,要github备份维护代码,要当心漏洞被攻击,要编写复杂的代码。

Image184.png

但是我只想实现一个小小的微信提醒功能,却受到了这么大的约束!那是否有可以不需要服务器,不需要编写很多代码的实现方法呢?

其实简单的利用好免费的Microsoft Flow,就能实现这些功能,而且基本不需要编码能力。(具体Microsoft Flow是什么,小伙伴们可以自行去百度下哦。)

Microsoft Flow 如何联系起kintone和企业微信?

Microsoft Flow利用webhook将kintone和微信等其他第三方应用结合起来。

Webhook:是用户定义的一种HTTP回调,它通常由某些事件触发,然后向其指定的webhook站点发出HTTP请求。

可以通过以下这张图直观的了解这个实现过程:

Image185.png

那就让我们来一步一步实现这一功能吧。

微信篇

创建一个自建应用

首先在企业微信上创建一个应用接收来自kintone的通知。具体创建过程,可以参见企业微信说明。

 图片3.png

微信发送信息的流程:

  • 获取access_token

  • 利用access_token调用发送微信api

获取access_token

请求方式:GET

请求地址:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRECT

图片4.png

利用access_token调用发送微信api

请求方式:POST(HTTPS)
请求地址:https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN

请求内容:

{
   "touser" : "@@all",
   "msgtype" : "text",
   "agentid" : 1000002,
   "text" : {
         "content " : "添加记录成功"
   },
   "safe":0
}

所有微信API文档请参见微信官网:https://work.weixin.qq.com/api/doc

Microsoft Flow篇

kintone => Microsoft Flow => 微信 流程图

Image186.png

添加kintone到Microsoft Flow 触发器

点击“从空白创建”。

image.png

添加[请求]触发器 

image.png

请求正文JSON架构:

image.png 

{ 
    "type": "object",    
    "properties": {       
        "type": {            
            "type": "string"        
        },        
        "app": {            
            "type": "object",            
            "properties": {                
                "id": {                    
                    "type": "string"                
                },                
               "name": {                    
                   "type": "string"                
               }            
            }        
        },        
        "recordTitle": {            
            "type": "string"        
         },        
         "url": {            
             "type": "string"        
         }    
    }
}

在高级选项中,
选择[method]为POST

添加微信api的连接器 -- 获取access_token

接下来再添加一个HTTP的连接器

image.png

设置[方法]:GET

设置Uri:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRECT

(其中ID和SECRECT请使用实际申请的企业微信的corpid和corpsercret)

image.png

添加微信发送信息的连接器 

接着再添加一个HTTP的连接器

方法:POST

Uri:https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN

这里access_token的值设置为之前那个HTTP连接器获取到的动态内容。

查阅Microsoft Flow 官方api可以得出:actions('HTTP')['outputs']['body']['access_token']

image.png

正文:

{
   "touser" : "@@all",
   "msgtype" : "text",
   "agentid" : 1000002,
   "text" : {
         "content " : "添加记录成功"
   },
   "safe":0
}

 touser 设置为所有人,agentid 为之前应用的agentid

生成webhook请求

步骤完成,保存下。再把画面迁移到最开始的那个触发器(当收到HTTP请求时),

这时候那个HTTP POST URL就已经生成好了,点击复制URL,这就是我们的webhook地址。

image.png

kintone端添加webhook

在kintone的应用的设置界面点击Webhook,粘贴刚才的webhook请求地址(请删除复制结果前面的https://),勾选需要执行webhook的发送通知条件,并且启用它。

Image187.pngimage.png

最后别忘了更新应用才能生效哦!

image.png

验证

好了,我们已经完成了所有设置,添加一个应用数据来看看能否发送到企业微信上吧!