我们在使用自己的企业应用平台时,经常会遇到以下场景:

  • 场景1 业务系统的通知太多,希望收到通知时同步发送企业微信来随时查看。
  • 场景2 需要和其他ERP、BI、CRM等系统对接。

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

如果这样做,我们就需要域名空间,要学会搭建web服务器,要github备份维护代码,要当心漏洞被袭击,要编写复杂的代码。(以下将以kintone平台为例进行说明)

Microsoft Flow | 微信 | LDP 整合开发_HTTP

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

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

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

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

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

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

Microsoft Flow | 微信 | LDP 整合开发_触发器_02

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

二、微信篇

1、创建一个自建应用

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

Microsoft Flow | 微信 | LDP 整合开发_微信_03

微信发送信息的流程:

  • 获取access_token
  • 利用access_token调用发送微信api

2、获取access_token

请求方式:GET

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

Microsoft Flow | 微信 | LDP 整合开发_触发器_04

3、利用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文档请参见微信官网:文档 - 企业微信开发者中心

三、Microsoft Flow篇

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

Microsoft Flow | 微信 | LDP 整合开发_微信_05

1、添加kintone到Microsoft Flow 触发器

点击“从空白创建”。

Microsoft Flow | 微信 | LDP 整合开发_触发器_06

添加[请求]触发器 

Microsoft Flow | 微信 | LDP 整合开发_微信_07

请求正文JSON架构:

Microsoft Flow | 微信 | LDP 整合开发_微信_08

{ 

    "type": "object",    

    "properties": {       

        "type": {            

            "type": "string"        

        },        

        "app": {            

            "type": "object",            

            "properties": {                

                "id": {                    

                    "type": "string"                

                },                

               "name": {                    

                   "type": "string"                

               }            

            }        

        },        

        "recordTitle": {            

            "type": "string"        

         },        

         "url": {            

             "type": "string"        

         }    

    }

}

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

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

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

Microsoft Flow | 微信 | LDP 整合开发_触发器_09

设置[方法]:GET

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

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

Microsoft Flow | 微信 | LDP 整合开发_触发器_10

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

接着再添加一个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']

Microsoft Flow | 微信 | LDP 整合开发_触发器_11

正文:

{

   "touser" : "@@all",

   "msgtype" : "text",

   "agentid" : 1000002,

   "text" : {

         "content " : "添加记录成功"

   },

   "safe":0

}

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

4、生成webhook请求

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

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

Microsoft Flow | 微信 | LDP 整合开发_微信_12

5、kintone端添加webhook

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

Microsoft Flow | 微信 | LDP 整合开发_触发器_13

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

Microsoft Flow | 微信 | LDP 整合开发_HTTP_14

四、验证

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

想尝试一下吗?快来注册账号体验:👉开发者账号免费申请