概述
本文介绍设计一个能与企业后台
互动的自建应用
,需要了解的基本概念。
参考资料:企业微信开发者中心
什么是应用
官方描述如下:
应用是消息的通道和开放能力的载体,服务商可以通过企业微信工作台或消息列表进入应用,也可以对应用进行可见范围配置。应用有丰富的消息类型:文本、图片、语音、视频、地理位置、红包等;有3种交互方式:收发消息,点击事件回调,进入网页或小程序。
什么是自建应用
企业内部应用
,即自建应用
。由企业内部的开发者自己开发部署
,是企业自己的资产,调用企业微信服务器的后台接口时,基本没有任何限制。
应用调用OpenApi
企业微信 OpenApi 指的是企业微信服务端Api
开放的能力接口,开发者可以借助接口能力,实现企业服务
及企业微信
的集成。支持如通讯录管理、消息推送等。
所有接口都需使用HTTPS协议、JSON数据格式、UTF8编码。
企业微信几乎所有接口调用都必须带入access_token参数。access_token可通过企业corpid和应用的secret获取,代表了应用的身份
。
大致的调用流程如下图所示:
使用工具调试api
我们已经创建好一个自建应用,且拿到了可用的应用id及secret,如何调用api控制这个应用
呢?
下面以发消息
为例说明如何调试api接口。
调用api的过程,本质上就是发送http请求
给企业微信后台
。
在正式开发前,我们可以使用工具模拟http请求调试api。这里以 postman 为例,当然也可以使用其它http模拟工具。
接口调用流程
- 获取access_token。
缓存
和刷新
access_token。
开发者需要缓存access_token,用于后续接口的调用(注意:不能频繁调用gettoken接口,否则会受到频率拦截)。当access_token失效或过期
时,需要重新获取。- 调用具体的业务接口
基本概念梳理
企业ID
每个企业都拥有唯一的corpid,获取此信息可在管理后台“我的企业”-“企业信息”下查看“企业ID”(需要有管理员权限)
部门
部门有部门ID
,可以在管理端查看。
参考:https://developer.work.weixin.qq.com/document/path/90665#部门id
账号:userid
每个成员都有唯一
的userid
,即所谓“账号
”。
在管理后台->“通讯录”->点进某个成员的详情页,可以看到。
- 成员在企业内的唯一标识是userid,成员的userid可以由
企业指定
或者企业微信生成
; - 成员在企业中必须属于一个部门;
- 成员可以属于多个部门,但在不同部门下,成员的userid仍保持一致;
- 当一个成员从该企业的所有所属部门被删除后,他的
userid被释放
。
参考:https://developer.work.weixin.qq.com/document/path/90665#userid
应用ID:AgentId
每个应用都有唯一的agentid。在管理后台->“应用管理”->“应用”,点进某个应用,即可看到agentid。
应用访问密钥:secret
secret是企业应用里面用于保障数据安全的“钥匙”,每一个应用都有一个独立的访问密钥
,为了保证数据的安全,secret务必不能泄漏。secret查看方法:
在管理后台->“应用管理”->“应用”->“自建”,点进某个应用,即可看到。
访问令牌:access_token
access_token是企业后台
去企业微信的后台
获取信息时的重要票据
,由corpid和secret产生。所有接口在通信时都需要携带此信息用于验证接口的访问权限
应用可见范围:即应用权限范围
每个应用都可配置可见范围
,可见范围决定了哪些成员可以在企业微信终端的工作台使用该应用;
可见范围同时也是应用的权限范围
,决定了应用可以为哪些成员调用接口。
可见范围可以配置成员、部门与标签。当配置的是部门,则部门下的所有子部门及成员都在可见范围。当配置的是标签,则标签下的所有部门与成员都在可见范围。
特别地,通讯录同步助手
不需要配置可见范围,其权限范围默认是全公司(即根部门)。