01: 企业微信API开发前准备
目录:企业微信API其他篇
目录:
1.1 术语介绍返回顶部
参考文档:http://work.weixin.qq.com/api/doc#10013
企业微信管理后台: https://work.weixin.qq.com/wework_admin/frame
1、corpid:ww2f9a1a85f1806981
每个企业都拥有唯一的corpid,获取此信息可在管理后台“我的企业”-“企业信息”下查看
2、userid:XiaoNaiQiang
每个成员都有唯一的userid,即所谓“帐号”。在管理后台->“通讯录”->点进某个成员的详情页
3、部门id:1
每个部门都有唯一的id,在管理后台->“通讯录”->“组织架构”->点击某个部门右边的小圆点可看到
4、tagid:
每个标签都有唯一的标签id,在管理后台->“通讯录”->“标签”,选中某个标签,在右上角会有“标签详情”按钮,点击即可看到
5、agentid:
每个应用都有唯一的agentid。在管理后台->“企业应用”->点进应用,即可看到agentid。
6、secret: corpsecret
1. secret是企业应用里面用于保障数据安全的“钥匙”,每一个应用都有一个独立的访问密钥,为了保证数据的安全,secret务必不能泄漏。
2. 目前secret有两种:1. 通讯录管理secret; 2. 应用secret。
1)通讯录管理secret:在“管理工具”-“通讯录同步”里面查看(需开启“API接口同步”);
bvAUJ2OYnjB4eAlCpSdH20AxrjSP6jX60PSGnO6VWuQ
2)应用secret:在管理后台->“企业应用”->点进应用,即可看到。
7、access_token:
access_token是企业后台去企业微信的后台获取信息时的重要票据,由corpid和secret产生。
所有接口在通信时都需要携带此信息用于验证接口的访问权限
1.2 开发步骤返回顶部
参考文档:http://work.weixin.qq.com/api/doc#10013
说明:
你可以通过以下步骤,使用access_token来访问企业微信的接口。需要注意的是,所有的接口需使用Https协议、Json数据格式、UTF8编码。
注:查看接口说明中,参数中标注大写的单词,表示为需要替换的变量
1、第一步:创建企业应用并获取secret
1. 通讯录管理是企业微信默认集成的应用,可以直接开启。
2. 登录企业管理后台->“管理工具”->“通讯录同步”->“开启API接口同步”,即可得到通讯录接口密钥。
2、第二步:开启接收消息模式
开启接收消息模式并不是必须步骤,但是如果在你的企业应用中需要用到如下功能时需提前开启接收消息模式
- 获取企业成员的地理位置信息
- 动态调整企业应用的信息
- 获取企业成员点击事件类型的应用菜单行为
- 获取企业成员通过应用给企业后台发送的消息
3、第三步:获取access_token
请求方式:GET(HTTPS)
请求URL:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRECT
注:此处标注大写的单词ID和SECRET,为需要替换的变量,根据实际获取值更新。
参数说明:
参数 |
必须 |
说明 |
corpid |
是 |
企业ID |
corpsecret |
是 |
应用的凭证密钥 |
权限说明:
每个应用有独立的secret,所以每个应用的access_token应该分开来获取
返回结果:
{
"errcode":0,
"errmsg":"",
"access_token": "accesstoken000001", # 获取到的凭证,最长为512字节
"expires_in": 7200 # 凭证的有效时间(秒)
}
请求返回结果
特别说明:
企业微信所有接口,返回包里都有errcode、errmsg。开发者需根据errcode是否为0判断是否调用成功
4、第四步:缓存和刷新access_token
1. 开发者需要缓存access_token,用于后续接口的调用
2. 不能频繁调用gettoken接口,否则会受到频率拦截。当access_token失效或过期时,需要重新获取
3. access_token的有效期通过返回的expires_in来传达,正常情况下为7200秒(2小时)
4. 有效期内重复获取返回相同结果,过期后获取会返回新的access_token。
5. 由于企业微信每个应用的access_token是彼此独立的,所以进行缓存时需要区分应用来进行存储。
6. access_token至少保留512字节的存储空间
7.企业微信可能会出于运营需要,提前使access_token失效,开发者应实现access_token失效时重新获取的逻辑。
5、第五步:开发应用逻辑
到这里,准备工作已经就绪,你可以继续阅读下面的接口文档了解更多关于企业微信提供的开放能力,并将这些能力与你的应用进行结合。
01: 企业微信API开发前准备的更多相关文章
- 面向对象的全套“企业微信”api接口的代码实现,网上太多“面向过程”微信api接口的代码,这个开源给需要的人用
有段时间没有写文章了. 一直以来,微信的热门是看得到的,很多人都需要与微信的api对接. 今天我这里就分享全套的企业微信api接口的代码. 关于微信api,网上已经有很多实现的了. 但是我今天之所以还 ...
- 通过企业微信API接口发送消息
最近给公司测试组内部开发一个记账小工具,当账目出现问题的时候需要发送消息通知大家,前期主要采用的QQ发送通知消息,但是有一天突然无法连接到QQ服务器,运维的同学建议采用微信的方式对接然后进行告警,所以 ...
- myEclipse+Spring boot+Hbuilder+jwt Token+mongoDB+企业微信H5开发
企业微信应用的H5开发 1.参考文档:weUI:http://jqweui.com/ 2.企业微信接口文档:https://work.weixin.qq.com/api/doc#10029 3.百度地 ...
- java 微信api开发
最近使用了一个很好的微信api框架,比较好使. 源码地址:https://github.com/chanjarster/weixin-java-tools/wiki 微信公众平台:微信公众平台开发文档 ...
- 调用企业微信API拨打紧急通知电话
# 前提条件:企业信息:行业类型必须属于"医疗"大类,客服反馈说目前不支持其他行业# 准备工作:https://work.weixin.qq.com/api/doc/90000/9 ...
- Python3 使用企业微信 API 发送消息
#coding=utf- import requests import json Secret = "TUbfeW8nFQakwOS4czm13SCnxSUPOqY2K0XHtM8XLT34 ...
- Java企业微信开发_03_通讯录同步
一.本节要点 1.获取通讯录密钥 获取方式: 登录企业微信—>管理工具—>通讯录同步助手—>开启“API接口同步” ; 开启后,即可看到通讯录密钥,也可设置通讯录API的权限:读取 ...
- Java企业微信开发_02_通讯录同步
一.本节要点 1.获取通讯录密钥 获取方式: 登录企业微信—>管理工具—>通讯录同步助手—>开启“API接口同步” ; 开启后,即可看到通讯录密钥,也可设置通讯录API的权限:读取 ...
- 这个API Hub厉害了,收录了钉钉企业微信等开放Api,还能直接调试
01 此前时不时会有一些研发小伙伴和我诉苦,说很多企业由于人力财力限制或者需求不强,会直接购买使用第三方的开放API,这样一来, 一则由于开放项目不是量身定制的,寻找自己合适的接口也要搜索调研蛮多时间 ...
随机推荐
- 线程池和进程池的通用写法 ProcessPoolExecutor 和 ThreadPoolExecutor
import time from comcurrent.futures import ThreadPoolExecutor,ProcessPoolExccoutor#这个方法可以用进程池或者线程池 d ...
- Oracle管理监控之oracle客户端链接服务器配置文档
开始菜单--Oracle - OraClient10g_home1--配置和移植工具--Net Configuration Assistant 打开窗口如下: 选择 本地Net服务名配置 点 下一步 ...
- 系统之锹sysdig:Linux服务器监控和排障利器
当你需要追踪某个进程产生和接收的系统调用时,首先浮现在你脑海中的是什么?你可能会想到strace,那么你是对的.你会使用什么样的命令行工具来监控原始网络通信呢?如果你想到了tcpdump,你又作出了一 ...
- ie浏览器总跳转到 http://hao.360.cn
起因在于 开启360某些防护之后,若出现使用ie无法打开网页的情况,那么就会跳转到http://hao.360.cn .把360的防护能关的都关掉,就不会跳转了. 第二个问题:chrome可以打开网 ...
- 【Jason】Jason拓展
Java-script是最基础语言(即前端脚本),而jquery是基于javascript封装出来的包,这些包里面含有能调用ajax的方法. ajax是一种异步交互,局部刷新的一种形式,是一种通讯 ...
- LeetCode-206.ReverseLinked List
Reverse a singly linked list. Example: Input: 1->2->3->4->5->NULL Output: 5->4-> ...
- mysql 用户与权限
1.用户 1)创建用户 "create user '用户'@'host' identified by '密码';" 在5.7以后的版本中要求密码包含至少一个大写字母,一个小写字 ...
- 解决idea工具下tomcat中文乱码问题
在运行/调试 配置对话框的Startup/Connection面板中, 勾选Pass environment variables. 并添加一个environment variable, Name填 J ...
- Spark-2.0原理分析-shuffle过程
shuffle概览 shuffle过程概览 shuffle数据流概览 shuffle数据流 shuffle工作流程 在运行job时,spark是一个stage一个stage执行的.先把任务分成stag ...
- HTML <input> 标签的 name 属性
定义和用法 name 属性规定 input 元素的名称. name 属性用于对提交到服务器后的表单数据进行标识,或者在客户端通过 JavaScript 引用表单数据. 注释:只有设置了 name 属性 ...