为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA微信公众号开发总结

标签:
Java

虽然公众号都做好了,但是我还是有些懵逼。所以必须要抽出时间好好阅读一下微信开发文档。
我先总结一个知识要点把。微信公众号分为订阅号和服务号,以后可能还会有小程序的开发,目前先不考虑这个。订阅号和服务号的差别在于服务号能掉的接口多一些,对比如下:
详细:https://www.zhihu.com/question/21289814 知乎大神的归纳十分到位。
基本上认证的订阅号和未认证的服务号功能差不多。认证每年需要300元钱,但也可防止微信号被其他人占用,所以企业的公众号还是很有必要认证的。
申请:http://kf.qq.com/menu/5143_1.html
认证:http://kf.qq.com/faq/120911VrYVrA130620u2iA7n.html
下面讲哪些情况需要开发者模式:
1. 语音识别
2. 生成带参的二维码
3. 用户地理位置(签到)
4. 用户基本信息(论坛)
5. 用户分组
6. 上传下载文件
详细:https://www.zhihu.com/question/20956354 知乎大神的归纳十分到位。
开发者模式:
拥有同一接口,任何交互行为都先走这个接口。接口的作用大体分为两类:

一、验证消息是否来自微信:
加密/校验流程如下:

  1. 将token、timestamp、nonce三个参数进行字典序排序
  2. 将三个参数字符串拼接成一个字符串进行sha1加密
  3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
    此项请求方式为get.
    字典序:Arrays.sort(arr);
    Sha1加密:网上一大堆。http://www.cnblogs.com/lhw1025/p/5876660.html
    二、回复消息
    微信发送的消息类型是XML,所以我们需要把XML转成JSON,并从中获取所需要的
    参数 描述
    ToUserName 开发者微信号
    FromUserName 发送方帐号(一个OpenID)
    CreateTime 消息创建时间 (整型)
    MsgType text
    Content 文本消息内容(收到的)
    MsgId 消息id,64位整型
    然后再把回复的内容修改,ToUserName和FromUserName互换,组成JSON再转成XML为msg,
    最后输出:
    PrintWriter out = response.getWriter();
    out.print(msg);
    三、获取用户信息
    仔细阅读开发者文档,仔细阅读开发者文档,仔细阅读开发者文档,重要的事情说三遍:https://mp.weixin.qq.com/wiki/4/9ac2e7b1f1d22e9e57260f6553822520.html
    url=”https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
    具体请求看文档,这里写思路。
  4. 通过openid是否为空或null判断是否已授权,如若不为空则授权并:
    验证当前access_token是否可用,若不可用,刷新access_token,
    将用户信息放入session中。
  5. 若openid为空则表示需要进行授权操作,首先用state判断是否来自微信请求,若state为空或null则重写url,并重定向。
  6. 若来自微信请求,则判断code是否为空,若code为空则用户不同意授权操作,可进行返回操作,酌情处理。
  7. 若code有值则同意授权操作,先用code换取access_token,openid, 通过openid拉取用户信息

四、模板消息
1、模板消息调用时主要需要模板ID和模板中各参数的赋值内容;
2、模板中参数内容必须以".DATA"结尾,否则视为保留字;
3、模板保留符号"{{ }}"。
首先,在公众号平台配置模板,并获取模板template_id。
url为模板消息的详情,
json的格式要与公众号平台上配置的一致。
处理各种消息,最重要的是写2个方法,XML>JSON,JSON>XML,还有通过URL类读取XML信息的方法。

点击查看更多内容
19人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消