Java微信公众号开发—随笔(公众号)

一、初衷

微信公众号开发按照这个趋势,个人认为是程序员必过的一个坎。公众号主要包括几种不同功能、不同业务需求的账号主体:1、公众平台服务号 2、公众平台订阅号 3、企业号,每个账号主体干啥的自行百度吧。记录一下自己遇到过的坑,希望小白看见了,对自己有或多或少的帮助,能少走些弯路吧,其实公众号开发,最重要的就是看懂文档了https://mp.weixin.qq.com/wiki,这里就不吐槽微信开发的文档了。

二、微信公众号(服务号)开发流程

1、首先到公众号平台申请自己需要的账号主体(这里我就以公众号服务号为例)。官网申请账号的地址:https://mp.weixin.qq.com/cgi-bin/registermidpage?action=index&lang=zh_CN。如果说个人无法通过申请渠道获得服务号,那就先自己去生成一个测试公众号账号吧。官网申请地址:https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index(用自己的微信扫码即可)

2、准备一个项目(懒得建了,自己搞定吧)

3、开始接入微信公众号

三、接入开发

1、当你扫码并登陆微信公众号测试网站之后

 

 

 

 

 

 

 

 

 

ps:这里说一下这些属性的意思

appID:可以理解为第三方平台申请的接口访问应用ID,用来接口的调用、网页授权回调地址的参数,参与签名什么的。

appsecret:应用密钥,接口调用参与,比如定时换取access_token等等。

2、配置

a) 接口配置信息(主要是响应微信发送的Token验证),这里需要系统后台程序配合,其中URL填写的是访问当前系统响应给微信服务的请求地址,Token自定义即可

b)JS接口安全域名(主要是jsdk调用的域名配置),这里直接填写域名即可。有人会说了,这么麻烦,,我没有域名怎么办,本地测试怎么发布到公网访问?在资源匮乏的情况下,可以使用内网创投,常见的服务有:natapp,话升壳,ngrok等等。怎么使用?百度谷歌就能快速搞定。

c) 体验接口权限表(这里说明一下,测试号与正式主体账号有区别的,测试微信公众号接口权限没有全部开放,不过测试大部分够用了,如果还想测试支付的话,那就满足不了了,得有正式的公众号主体账号以外,还得开通商户平台)。网页授权获取用户基本信息 这一栏,一开始极容易被忽略,,网页授权必须要填写与后台配置回调的域名一致,否则常见的10003错误了。

3、程序接入(这里就不细说了)。第一,首先是接入消息和响应消息;第二,定时换取Access_token。因为access_token是接口调用的凭证,目前Access_token的有效期通过返回的expire_in来传达,目前是7200秒之内的值。文档请详见:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183,所以定时去调用接口来更新本地存储的Access_token是必须的。第三:公众号服务号的开发,大多数是H5网页开发,所以网页授权是必须的了。

这里重点说一下网页授权:首先你得看懂官方文档 https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

网页授权是用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,然后通过回调系统引导页请求地址,进而实现业务逻辑,通常在微信公众号菜单入口就要实现了。

网页授权说几个重点事项:

第一,授权的作用域。分两种,静默授权(snsapi_base )与用户同意授权(snsapi_userinfo)。在授权接口地址的参数中你会看见scope参数。如果需要在网页授权的时候获取用户基本信息(比如头像、昵称、性别、地址等等),那么必须使用snsapi_userinfo作用域。第二,请求参数

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 

appid填写上自己申请的测试账号或者正式的主体账号对应的appid即可。redirect_url为回调系统的地址,域名必须与公众号填写的一致,可以携带参数。scope根据业务需求而定,,其他的默认就好。

第三,微信服务器回调本系统的时候会携带参数code,code主要是换取access_token,注意,这里的access_token与之前的接口调用携带access_token有一定的区别,这里主要是用来获取用户基本信息。一样具有时间有效期限制,如果需要保存使用,也得定时更新。

第四,当微信服务器回调系统后,,你就可以再外部调转到系统相对应的引导页了。至此,网页授权流程就完成了。

4、自定义菜单(可以通过微信公众号开发文档提供的接口创建,如果是正式的公众号,也可以在平台配置),菜单配置url的时候,一般是网页授权的地址,然后微信服务器通过回调系统,系统在外部跳转到相应的引导页即可。

第四、说明

程序这块,,其实现有的封装有很多,也比较成熟。百度、Google一大把。我就不贴了,如果需要帮助,请私信我!本篇文章大部分说明的是业务流程与重点事项,勿喷,,请谅解。有什么地方不对,,请多多指教!!!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值