企业微信自建应用开发流程

开发需知

1、企业微信后台管理(不是小程序管理后台):企业微信

2、企业微信开发者文档(不是小程序文档):概述 - 接口文档 - 企业微信开发者中心

3、开发应用的类型:根据开发应用类型选择文档。

4、文档中有服务端API客户端API,根据需要查看对应的API说明。一般授权相关的在服务端API,相询基础信息、客户信息、联系人等在客户端API

5、开发需知:https://developer.work.weixin.qq.com/document/path/90665,https://developer.work.weixin.qq.com/document/path/91039

6、创建企业内部应用的步骤:https://developer.work.weixin.qq.com/tutorial/detail/45

构造访问链接

1、在自建应用里找到创建的应用,点击应用进入应用详情,能看到AgentId,Secret等信息。

2、设置应用主页,如下图:

 

这个主页就是我们要访问的应用首页地址。格式:https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE&agentid=AGENTID#wechat_redirect 

参数说明:

参数必须说明
appid企业的CorpID
redirect_uri授权后重定向的回调链接地址,(即我们创建的应用首页的访问地址,需用域名请使用urlencode对链接进行处理
response_type返回类型,此时固定为:code
scope应用授权作用域。 snsapi_base:静默授权,可获取成员的基础信息(UserIdDeviceId); snsapi_privateinfo:手动授权,可获取成员的详细信息,包含头像、二维码等敏感信息。
state重定向后会带上state参数,企业可以填写a-zA-Z0-9的参数值,长度不可超过128个字节
agentid应用agentid建议填上该参数(对于第三方应用和代开发自建应用,在填写该参数的情况下或者在工作台、聊天工具栏、应用会话内发起oauth2请求的场景中,会触发接口许可的自动激活)。snsapi_privateinfo时必填否则报错;
#wechat_redirect终端使用此参数判断是否需要带上身份信息

员工点击后,页面将跳转至 redirect_uri?code=CODE&state=STATE,企业可根据code参数获得员工的userid。code长度最大为512字节。

详细介绍:构造网页授权链接 - 接口文档 - 企业微信开发者中心

 

注意事项:

1、链接中appid前面是固定的,https://open.weixin.qq.com/connect/oauth2/authorize?

2、redirect_uri的值就是我们应用的访问地址,并且要用域名访问。需要转码。

3、在线转码工具:在线URL编码解码工具-UrlEncode编码-UrlDecode解码在线工具

例如,应用的主页地址为:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww123456&redirect_uri=https://test.com.cn/#/test/index&response_type=code&scope=snsapi_privateinfo&state=wechat&agentid=10000#wechat_redirect

用上面的转码工具转码后的地址为:

https%3A%2F%2Fopen.weixin.qq.com%2Fconnect%2Foauth2%2Fauthorize%3Fappid%3Dww123456%26redirect_uri%3Dhttps%3A%2F%2Ftest.com.cn%2F%23%2Ftest%2Findex%26response_type%3Dcode%26scope%3Dsnsapi_privateinfo%26state%3Dwechat%26agentid%3D10000%23wechat_redirect

 此转码后的地址即为应用主页地址。

注意:

1、应用主页只能填写一个地址,所以为了区分测试和生产环境,要创建两个应用。两个应用有两个不同的应用id和应用secret。在注入应用权限时要区分应用id。

2、获取access_token是调用企业微信API接口的第一步,相当于创建了一个登录凭证,其它的业务API接口,都需要依赖于access_token来鉴权调用者身份。因此开发者,在使用业务接口前,要明确access_token的颁发来源,使用正确的access_token。每个应用有独立的secret,获取到的access_token只能本应用使用,所以每个应用的access_token应该分开来获取。所以要把两个应用的secret都要提供给后台(access_token是后台获取的,需要企业id和应用secret)。

 

 详细开发流程及API调用:

https://github.com/limchen233/Front-Web/blob/dev/22%20%E7%AC%AC%E4%B8%89%E6%96%B9%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91/2%E3%80%81%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E8%87%AA%E5%BB%BA%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B.mdicon-default.png?t=N7T8https://github.com/limchen233/Front-Web/blob/dev/22%20%E7%AC%AC%E4%B8%89%E6%96%B9%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91/2%E3%80%81%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E8%87%AA%E5%BB%BA%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B.md 22 第三方应用开发/2、企业微信自建应用开发流程.md · lamCheung/Front-Web - Gitee.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/108709.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32F103VET6基于ENC28J60移植LWIP1.4.1(标准库,无RTOS)

目录 环境引脚连接1.准备LWIP2.新建arch3.网卡驱动4.新建分组5.项目头文件路径6.LWIIP头文件编写7.ethernetif.cvoid low_level_init(struct netif *netif)err_t low_level_output(struct netif *netif, struct pbuf *p)struct pbuf *low_level_input(struct netif *netif)void…

UG\NX CAM二次开发 设置安全平面的起点和法向 UF_CAM_set_auto_blank

文章作者:代工 来源网站:NX CAM二次开发专栏 简介: UG\NX CAM二次开发 设置安全平面的起点和法向 UF_CAM_set_auto_blank 效果: 代码: void MyClass::do_it() { //获取加工环境tagtag_t setup_tag=NULL_TAG;UF_SETUP_ask_setup(&setup_tag);//返回当前工序导…

财报解读:打好“新鲜牌”,光明乳业业绩规模能否持续扩大?

近期,各大乳企相继披露了中期业绩,从财报情况来看,伊利、蒙牛、光明仍然稳居营收规模上百亿的第一梯队。 值得一提的是,2023年上半年,乳制品行业的发展并非一帆风顺,牧业端饲料价格处在高位,养…

清水模板和混水模板的区别是什么?

清水模板和混水模板是建筑施工中常用的两种模板类型。它们在结构、外观和使用方面存在一些显著的区别。下面将详细介绍清水模板和混水模板的特点和区别。 1. 材料:清水模板是由高分子有机材料制成的,而混水模板则是由混凝土制成的。由于材料的不同&#…

【论文阅读】MARS:用于自动驾驶的实例感知、模块化和现实模拟器

【论文阅读】MARS:用于自动驾驶的实例感知、模块化和现实模拟器 Abstract1 Introduction2 Method2.1 Scene Representation2.3 Towards Realistic Rendering2.4 Optimization3.1 Photorealistic Rendering3.2 Instance-wise Editing3.3 The blessing of moduler des…

网上管理系统的分析及设计---应用UML建模

目 录 第1章 系统需求 第2章 需求分析 2.1 识别参与者 2.2 识别用例 2.3 用例的事件流描述 第3章 静态结构模型 3.1 定义系统对象 3.2 定义用户界面类 3.3 建立类图 第4章 动态行为模型 4.1 创建系统顺序图(协作图) 4.2 创建系统…

【Spring Boot】有这一文就够了

作者简介 前言 作者之前写过一个Spring Boot的系列,包含自动装配原理、MVC、安全、监控、集成数据库、集成Redis、日志、定时任务、异步任务等内容,本文将会一文拉通来总结这所有内容,不骗人,一文快速入门Spring Boot。 专栏地址…

Jmeter系列进阶-获取图片验证码(4)

安装工具 通过ocrserver工具识别图片验证码,解压后 .exe双击启动即可。 jmeter中使用 (1)HTTP请求获取验证码 (2)在获取验证码图片的接口下面添加监听器》保存响应到文件;如下图: &#x…

易点易动固定资产管理系统:为企业提供高效资产管理的必备利器

在如今竞争激烈的商业环境中,企业对于固定资产的管理显得尤为重要。然而,传统的手工管理方式已经无法满足企业对于高效、准确、智能化管理的需求。因此,引入一款先进的固定资产管理系统是必不可少的。易点易动固定资产管理系统作为一款领先的…

【Spring使用三级缓存解决循环依赖的过程】

testService1和testService2相互依赖 当Spring创建testService1对象时,它会先从一级缓存中查找是否存在testService1的实例。如果缓存中不存在testService1实例,它将继续查找二级缓存中是否存在testService1。如果二级缓存中也不存在testService1实例&…

浅述数据中心供配电系统解决方案及产品选型

安科瑞 华楠 【摘 要】现如今,社会主要领域已从对单个设备的关注转化为对于系统解决方案的关注,数据中心的供应商们也想尽办法去满足所面对的各方面需求。基于此,主要提出了云计算数据中心供配电解决方案,同时还对数据中心供配电…

如何在matlab绘图的标题中添加变量?变量的格式化字符串输出浅析

文章目录 matlab的格式化输出控制符字段宽度、精度和对齐方式的控制matlab的格式化输出总结 matlab的格式化输出控制符 Matlab在画图的时候,采用title函数可以增加标题,该函数的输入是一个字符串,有时候我们想在字符串中添加一些变量&#x…