Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >微信企业号(公众号)开发流程汇总

微信企业号(公众号)开发流程汇总

作者头像
stys35
发布于 2020-04-12 12:46:32
发布于 2020-04-12 12:46:32
2.6K0
举报
文章被收录于专栏:工作笔记精华工作笔记精华

1,前言

微信企业号与微信公众号的配置流程大同小异(殊途同归)。

2,准备工作

2.1,企业号的申请与域名的申请及备案

         企业号(公众号)申请需要提前申请,因为有些东西需要备案,审核啥的;

         测试环境/生产环境的域名需要提前准备,无论是个人还是企业应用搭建都需要提前准备,因为域名备案是需要一定时间的;

2.2,域名与企业号(公众号)配置产生联系的地方

2.2.1,网页授权及JS-SDK的域名白名单校验

2.2.2,企业微信授权登录校验

                   点击上图下方中间的“企业微信授权登录”,跳转到下图,在框起来的部分将对应环境的域名添加上

2.3,菜单的配置

2.3.1,工作台的相关配置

                   1)子应用跳转

                       常规情况下,点击子应用,会默认跳转到消息列表页(如下图)

                        但如果想要点击按钮直接跳转到应用(此时消息列表可以通过首页,点击消息框跳转),则需要先配置工作台应用主页(该主页的配置连接为子应用项目资源的访问路径,例如www.qq.com);同时自定义菜单还是该怎么配怎么配(这一步只是想点击子应用的时候不跳转到消息列表而是直接跳转子应用,所以如果不想如此处理(即还是想按照默认模式,先跳转消息列表,然后在做对应的操作)可以只配置自定义菜单,不去管工作台应用主页这个功能

                   2)工作台应用的展示(默认是列表模式,下图为选了宫格模式之后的展示)

2.4 微信JS-SDK的使用

2.4.1,JS-SDK的API文档

        2.4.2,JS-SDK授权,关于OAuth2.0链接

                  微信的授权流程是基于OAuth2.0(关于概念可以参考 https://www.jianshu.com/p/9d0264d27c3b )的,通常我们在处理第三方授权登录的时候使用的都是静默授权(微信公众号有一个显示授权的概念,而企业号没有这个概念,它只有一个类似静默授权的过程,即授权过程不暴露给用户,用户只能感受到浏览器似乎重定向了一次)

                上述授权的流程大致为:

                        1)给应用配置访问链接,该链接为参考文档-身份验证-构造网页授权链接部分所述的链接

                        2)用户点击子应用,访问配置的访问链接所指向的地址

                        3)接第二步,当前地址指向一个授权页,该授权页会根据访问链接上的一些参数(例如appid,即企业的CorpID)返回一个授权令牌code,并将其拼在重定向链接(即访问链接上redirect_uri参数的值)上;然后跳转到重定向链接所指向的地址(该地址即为子应用项目资源目录所在地址

                        4)从第四步开始,项目资源正式开始访问;在访问资源之前,调用后端给的授权接口(该接口用来接收重定向链接上拼接的code,然后在后台用该code和access_token来跟微信服务器交换目标用户信息,值得一提的是,微信静默授权只能拿到用户的基本信息,同时该信息为企业通讯录里已经维护的用户信息)将重定向链接上拼接的授权令牌code传到后端交换用户的基本信息(在这个过程中实际上是可以将token一并返回,但有时候,部分平台的token实际上是一个封装好的接口来获取的,所以要根据实际情况来处理(但用户信息确是在这一步返回的)

                        5)token和用户信息可以酌情考虑在会话期间内缓存在本地(虽然这是一句废话,但希望这真是一句赘述)       

                        6)上述过程中的一些注意事项:

                                a)上述过程中,授权令牌code是有时效限制的,它的失效为5分钟,且在这5分钟之内只能使用一次,也就是说,如果code在请求回来后,如果你在5分钟内没有使用它(或是5分钟内使用过一次之后),当前这个code就自动失效了。

                               b)后端通过access_token和授权令牌code换去用户信息的时候会出现一些问题,例如40029这个错误,它的含义是授权令牌code错误,网上有指出302跳转会出现重定向问题( https://blog.csdn.net/hhchor/article/details/53450189 );但需要说明的是,后端在换取用户信息的时候,拿去交换的参数是有两个;尽管40029这个错误是报的不合法的code,但最后排查了下,发现生成一个错误的access_token,跟code去交换信息的时候,它不会报access_token不合法,而是报code不合法(这波操作简直666)。。。

                                   指出这个问题的意义在于,无论是微信企业号还是微信公众号开发,在实际开发过程中,会出现很多奇奇怪怪的错误,如果排除了可能导致该问题的所有因素,那么即使有多么不可能,也该尝试怀疑一下是不是外部因素导致的。

                               c)微信jssdk调用初始化过程中需要的三个参数(这三个参数为生产ticket的相关参数,ticket用于生产access_token,而access_token用于跟code一起交换用户数据);建议了解下开发者文档里的JS-SDK使用权限签名算法这一节以及常见错误及解决方法这一节,因为有些参数是需要在后端缓存的,不能频繁调用(频繁调用会被拉黑的哦)

                        7)微信外部扫一扫(栗子:微信问卷调查

扫一扫这个操作实质上是微信客户端解析一个二维码拿到一个访问链接(该链接就是上述的授权访问链接),并且当微信判断该二维码的内部信息是一个链接的时候将自动打开一个webview并访问该链接。所以本质上通过扫一扫访问一个应用和点击应用图标访问该应用没什么太大区别。

3,鸣谢

    1,感谢 https://www.jianshu.com/p/9d0264d27c3b 对于OAuth2.0的解释

    2,感谢 https://blog.csdn.net/hhchor/article/details/53450189 对于企业号开发过程中40029错误码的相关解决方案

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
微信公众号模板消息
模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。
神葳
2021/01/22
4.7K0
微信公众号开发基本流程
背景: 过年前后做了个微信公众号项目,已经过去一段时间了,抽空回忆总结下基本流程吧,不然很快估计自己就忘了。。
全栈程序员站长
2022/09/06
3.9K0
微信公众号开发基本流程
手机端公众号内的微信第三方登录
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。
山河木马
2019/03/05
3.3K0
手机端公众号内的微信第三方登录
微信公众号网页开发,登录授权和微信支付
微信公众号的网页开发基本和H5移动端开发一致,主要是涉及到网页授权获取用户信息和使用js-sdk获取微信原生能力支持。
全栈程序员站长
2022/09/06
4.5K0
微信公众号网页开发,登录授权和微信支付
第三方登录:微信扫码登录(OAuth2.0
  OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。
朝雨忆轻尘
2019/06/18
59.4K1
微信企业号登录授权Java实现获取员工userid根据userid换openid
微信企业号登录授权Java实现获取员工userid根据userid换openid 2016年1月8日 为了方便测试 。debug 建议大家搞个花生壳或者其他的可以映射公网IP的软件。 貌似涨价了8元一
小帅丶
2018/02/09
4.3K0
微信企业号登录授权Java实现获取员工userid根据userid换openid
微信公众号开发相关流程及功能介绍怎么写_微信公众号平台官网
大家好,又见面了,我是你们的朋友全栈君。 1. 开发前准备 1.1 注册微信公众平台账号 进入的网址:https://mp.weixin.qq.com。 测试号(网址:https://mp.
全栈程序员站长
2022/09/24
5.4K0
微信公众号开发相关流程及功能介绍怎么写_微信公众号平台官网
微信公众号开发——2、微信网页开发
在公众号平台下,自定义菜单,添加菜单,并选择菜单内容跳转到指定页面地址即可(需认证后方可添加页面地址,个人账号暂不支持认证)。
全栈程序员站长
2022/09/01
7.7K0
微信公众号发布提醒(微信公众号模板消息接口)
灵感来源于学校的 每日健康日报,要求使用微信小程序进行每日健康打卡。所以此项目的功能类似于 QQ群机器人,或者是 每日闹钟。
全栈程序员站长
2022/07/26
13K0
微信公众号发布提醒(微信公众号模板消息接口)
微信网页授权
在这里也不给大家做过多的介绍了,因为微信的开发手册已经写得很仔细了,关于一些注释代码里面已经有了,这里为了大家方便查看,我就直接copy微信手册的文档说明,便于大家阅读。
兔云小新LM
2020/05/19
4.1K0
微信网页开发
套用《围城》里老学究的的一句开场白:"兄弟我刚入行的时候…“兄弟我是很不喜欢微信这样一款应用的——尽管我在2011年就已经是微信的注册用户。在我看来,第一个,能用qq达到的目的为什么还要微信?其次,凭什么一个开发要绑在一款微信里?但是,周边的人似乎在我毕业的前后通通用上了微信。
一粒小麦
2019/08/13
4.2K0
注册微信开发测试号
要进行微信公众号的开发,那就需要一个本地的开发环境来进行开发。而微信测试号就正好提供了这样的一个development环境。每个微信号只能对应一个测试号,但是每个测试号可以开发多个微信公众号项目。微信号与测试号是一一对应的关系,而测试号与开发项目是一对多的关系。进入之后会看到页面里面有以下几个大块。
SH的全栈笔记
2019/10/21
3.1K0
注册微信开发测试号
微信公众号开发之授权获取用户信息
测试号:找到 网页授权获取用户基本信息>点击修改>设置域名 服务号:找到 开发>接口权限>网页授权获取用户基本信息>>点击修改>设置域名
Javen
2018/08/21
3.7K1
微信公众号开发之授权获取用户信息
微信授权接口的使用设计与实现
今天给大家演示一下微信授权的接口的实现,首先这个接口的实现有好多种方法,所以咱们有必要根据需求设计一下,将接口设计的通用和灵活。
挥刀北上
2019/07/19
1.5K0
微信授权接口的使用设计与实现
Php公众号40029,网页授权获取微信用户信息错误40029:不合法的oauth_code
在第一步:用户同意授权获取code,通过code获取access_token时,有时会出现40029错误。
全栈程序员站长
2022/08/14
4.9K0
Php公众号40029,网页授权获取微信用户信息错误40029:不合法的oauth_code
微信 JS-SDK 本地调试
最近在开发 h5 应用的时候,需要调起微信的扫一扫功能。那就得使用到微信的 JS-SDK,怎么在本地开发中,使用 JS-SDK 的功能呢?(功能不限于微信扫一扫)
Jimmy_is_jimmy
2023/05/23
12.6K1
微信 JS-SDK 本地调试
一文快速实现微信公众号支付功能(详细版,建议收藏备用)
微信支付实际上有很多种不同的类型,具体要使用哪一种就需要根据不同的应用场景来选择,官方给出的参考例子: 刷卡支付:用户打开微信钱包的刷卡的界面,商户扫码后提交完成支付。 公众号支付:用户在微信内进入商家H5页面,页面内调用JSSDK完成支付 扫码支付:用户打开"微信扫一扫“,扫描商户的二维码后完成支付 APP支付:商户APP中集成微信SDK,用户点击后跳转到微信内完成支付 H5支付:用户在微信以外的手机浏览器请求微信支付的场景唤起微信支付 小程序支付:用户在微信小程序中使用微信支付的场景
java进阶架构师
2019/01/02
5.9K0
微信公众号网页授权登录[通俗易懂]
微信公众号网页授权登录: 前段时间做了一个微信公众号的项目,就是微信公众号的菜单点击我的个人中心,就向用户授权登录 获取用户的信息,进行业务逻辑的操作,微信公众号官方文档,这是我写的文章,里面有很多微信的官方 文档,希望对大家有用:https://blog.csdn.net/qq_41971087/article/details/82466647 在微信公众号官方文档中,看到微信页面开发,
全栈程序员站长
2022/09/05
2.4K0
微信公众号网页授权登录[通俗易懂]
【微信生态圈】微信体系中的access_token有哪些?
access_token是公众号/小程序的全局唯一接口调用凭据,公众号/小程序调用各接口时都需使用access_token。开发者需要进行妥善保存。 access_token的存储至少要保留512个字符空间。 access_token的有效期目前为2个小时,需定时刷新。
烟雨平生
2023/09/22
9160
【微信生态圈】微信体系中的access_token有哪些?
微信公众号-网页授权
在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头
星哥玩云
2022/09/14
4.1K0
微信公众号-网页授权
相关推荐
微信公众号模板消息
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档