企业微信开发(1)——整体说明

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 本文是基于企业微信第三方应用开发API文档,做了一个企业微信开发说明文档,总结踩的坑以及对文档的一个补充,本文主要针对第三方应用开发,方便第三方服务商的云应用上架企业微信应用市场

本文同步至我的CSDN博客:https://blog.csdn.net/qq_43270074/article/details/108511883

一、前言

1、基于企业微信第三方应用开发API文档,做了一个企业微信开发说明文档,总结踩的坑以及对文档的一个补充。
2、本文主要针对第三方应用开发,方便第三方服务商的云应用上架企业微信应用市场
3、实现目标:服务商预先在第三方管理端注册登记应用信息。企业选择使用第三方应用时,通过授权流程来一键安装应用,我们将微信小程序放在企业微信应用市场

二、区分几种token

作为第三方服务商的开发者,在开始开发之前,需要先了解各种接口凭证的差别,以更好的理解第三方的开放体系

1、应用授权的suite_access_token

企业在授权应用时,第三方需要以suite_id(第三方应用ID)、suite_secret(第三方应用密钥)(获取方法为:登录服务商管理后台->标准应用服务->应用管理栏,点进某个应用即可看到)换取suite_access_token,再以suite_access_token访问应用授权的接口

如何获取:
在这里插入图片描述
1)获取suite_id和suite_secret

在服务商管理后台(说明一下服务商管理后台即是第三方应用提供商进去的企业微信管理后台,不同于企业管理后台,对应用对很多配置都要在这里配置)应用管理里找到应用,可以获取应用对suite_id和suite_secret,是第三方应用的唯一标识。
在这里插入图片描述
2)获取suite_ticket
suite_ticket由企业微信后台向登记的应用指令回调地址定期推送(10分钟),用于加强调用者身份确认(即使suite_secret泄露,也无法获取到suite_access_token)。
若丢失suite_ticket,除了等待定时推送的事件外,也可以在管理端(服务商管理后台)手动触发推送。
手动触发:
在这里插入图片描述
那么如何获取呢?
企业微信会每十分钟定时回调我们配置的回调接口,会推送suite_ticket
在这里插入图片描述
回调接口收到信息后,将suite_ticket放在redis缓存,并设置过期时间为十分钟

//将suiteticket放入redis中, SuiteTicket十分钟更新一次
 redisTemplate.opsForValue().set(WX2_CP_SUITE_TICKET, suiteTicket, 10, TimeUnit.MINUTES);

至此就可以得到suite_access_token

2、服务商的provider_access_token

以corpid、provider_secret(获取方法为:登录服务商管理后台->标准应用服务->通用开发参数,可以看到)换取provider_access_token,代表的是服务商的身份,而与应用无关。请求单点登录、注册定制化等接口需要用到该凭证。该token在应用开发时基本没什么用
在这里插入图片描述

3、企业的access_token

为企业开放的所有接口,都必须以企业的corpid和永久授权码来获取access_token,然后调用通讯录、应用、消息等接口服务于企业。接口,很重要的一个token
在这里插入图片描述
1)参数需要一个suite_access_token
在上面已经获取到
2)auth_corpid
每个服务商同时也是一个企业微信的企业,都有唯一的corpid。获取此信息可在服务商管理后台“应用开发”-“通用开发参数”可查看
在这里插入图片描述
3)permanent_code
永久授权码是在当企业授权安装我们第三方应用时,会回调我们自己当接口,这时企业微信会给一个auth_code参数,拿到这个code结合suite_access_token就可以获取永久授权码,需要保存永久授权码到自己的数据库。
在这里插入图片描述
最后调用接口获取access_token
在这里插入图片描述
注意接口需要到是哪一个token,建议将企业的access_token和应用授权的suite_access_token都缓存在redis中,设置过期时间为2小时

//保存到redis中
redisTemplate.opsForValue().set(Constants.WX_CP_ACCESS_TOKEN_PREFIX + corpId + ":" + wx2CpThirdProperties.getSuiteId2(), accessToken, 120, TimeUnit.MINUTES);

三、回调说明

企业微信在有如下这些事件的时候,会触发回调:
推送suite_ticket
授权成功通知
变更授权通知
取消授权通知
成员通知事件
部门通知事件
标签通知事件
应用变更可见范围
外部联系人变更

1、配置回调接口

在服务商管理后台,应用详情处的回调配置进行配置
在这里插入图片描述

2、回调本地测试

在测试阶段,可以将回调地址写成本地回调地址,需要用到内网穿透工具将本地服务配置为回调地址
工具:WeNAT
在这里插入图片描述
能够将外部的请求转发到本地,下载后https://www.wezoz.com,直接按照说明配置本地服务端口号就可以得到域名
在这里插入图片描述

3、注意

在本地测试回调的时候,有可能代码没走完就触发下一次回调,会导致token失效等问题,这个时候基本功能点保证的 前提下,可以通过输出日志,上测试环境测试

四、总结

知道了最重要的token获取和回调配置,就可以进行下一步的开发,下一章介绍,身份认证和外部联系人管理。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
23天前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
342 7
|
22天前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
419 1
|
1月前
|
小程序 前端开发 测试技术
微信小程序的开发完整流程是什么?
微信小程序的开发完整流程是什么?
97 7
ly~
|
2月前
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
75 6
|
26天前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
137 1
|
1月前
|
小程序 前端开发 数据安全/隐私保护
微信小程序全栈开发中的身份认证与授权机制
【10月更文挑战第3天】随着移动互联网的发展,微信小程序凭借便捷的用户体验和强大的社交传播能力,成为企业拓展业务的新渠道。本文探讨了小程序全栈开发中的身份认证与授权机制,包括手机号码验证、微信登录、第三方登录及角色权限控制等方法,并强调了安全性、用户体验和合规性的重要性,帮助开发者更好地理解和应用这一关键技术。
48 5
|
1月前
|
小程序 前端开发 JavaScript
微信小程序全栈开发中的PWA技术应用
【10月更文挑战第3天】微信小程序作为新兴应用形态,凭借便捷体验与社交传播能力,成为企业拓展业务的新渠道。本文探讨了微信小程序全栈开发中的PWA技术应用,包括离线访问、后台运行、桌面图标及原生体验等方面,助力开发者提升小程序性能与用户体验。PWA技术在不同平台的兼容性、性能优化及用户体验是实践中需注意的关键点。
51 5
|
27天前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
431 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
17天前
|
存储 小程序 安全
微信的开发管理都需要配置什么?
【10月更文挑战第17天】微信的开发管理都需要配置什么?
26 0
|
22天前
|
JavaScript 小程序 开发者
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
239 0

热门文章

最新文章