JAVA微信公众号开发入门
好久没进博客,最近应某人的要求,要每周写一篇博客,故此今天就把我这周刚学的微信公众号开发的知识在此总结总结,以供后人查阅。我写博客都是简要白话文,勿喷。
1.为什么要学微信公众号开发
微信的用户量庞大,微信公众号的完善和不断的开放力度,企业市场对公众号开发的需求不断增加
2.如何搭建微信开发平台
开发工具什么的就不说了,因为微信是要外网访问的,所有你必须有个网上的服务器资源,而且你必须申请一个微信公众号。
2.1申请微信公众号
公众号有3种:订阅号,服务号,企业号
区别是企业号适合内部人使用,因为它只有通过后台导入的微信号才能关注,不限群发次数;服务号和订阅号的不同就是,服务号一个月才群发4次,但是可以在最近联系人显示,而订阅号只能跟一群订阅号显示在一个订阅号分组里,但是貌似可以群发1次每天。
1、对于认证订阅号,群发接口每天可成功调用1次,此次群发可选择发送给全部用户或某个分组; 2、对于认证服务号虽然开发者使用高级群发接口的每日调用限制为100次,但是用户每月只能接收4条,无论在公众平台网站上,还是使用接口群发,用户每月只能接收4条群发消息,多于4条的群发将对该用户发送失败;
从名字可以知道,订阅号倾向于个人和组织,服务号和企业倾向于公司企业。
顺便提下,要通过微信认证之后才会有更多功能,微信认证就是一个实名认证。费用目前是300元。微信支付申请费用1万人民币。
个人订阅不需要认证,但是功能很少,连自定义菜单功能都没有,不过你可以通过官方提供的测试号实现除微信支付外的所有功能。
申请成功后,你可以设置公众号的微信号,头像等等。
2.2申请服务器资源
如果自己有外网域名或者IP网站,可以无视了。
申请服务器目前常用的是云计算的服务,比如新浪的SAE,百度的BAE和阿里云,不过貌似都要收费。
拿SAE来举例,进入SAE官方网站,用新浪微博的账号登陆,在个人账号里面有个实名认证,输入身份证号,上传手拿身份证的图片提交认证,然后等3个工作日就行。
认证成功后,点击控制台菜单,新增应用,选择jdk1.6的服务,经济型,一小时5个云豆,默认给你2个jvm虚拟机。你可以稍等点击jvm管理修改成1个足够了。
注意!!如何不用的时候,记得点击jvm管理里把jvm关闭掉,不然它要等上3小时没任何操作后才会自动关闭,那你就少了15个豆豆咯。
点击代码管理,在这里我新增一个版本,然后在操作里上传你的应用war包就行了。新浪用的是jetty服务器,不是tomcat。
服务器的申请就是这样,以后代码有更新就上传覆盖。
3.微信公众平台远程服务器配置
点击公众平台的开发者中心,通过认证后点击服务器配置,要你输入远程服务器的url和token,还有系统会自动生成的密钥。
url就是你代码中心的你之前新建的代码版本链接,比如1.xxxxx.com,再加上你首次认证的servlet名,比如coreServlet,加起来就是url了,如1.xxxxx.com/coreServlet,
不需要应用的上下文路径。
认证的代码逻辑就是通过对收到参数进行sort后加密得到一个东西跟另外一个参数对比,对比成功了就认证成功了,具体看文档。
话说为什么要写认证代码,因为你只有认证后才能启动服务器,官方的规定。
token就是什么,就是你代码里面自己写死的字符常量,比如“weixin”,自己看你的代码去。
填好后就点击认证就行了,如果报错的号,就是你的应用里面的jar包里面有servlet-api.jar这个包,上传到服务器的时候记得先从war里删除。
4.自定义菜单代码编写
注:由于后面接口都需要使用access_token字符,所有先说说它。
access_token调用功能接口的钥匙,所有我们需要获取它。获取它的方法,官方文档有说明就是调用一个url接口,关键是获取之后怎么办,因为每个获取到的access_token
都是有有效期的,有效期是7200秒,还有获取的次数限制,不能频繁去获取,所有我们需要把它保存到我们的数据库里面,总的逻辑就是,通过调用接口获取到access_token
后,保存到数据库,在每次要使用access_token去调微信接口的时候,我们可以先取出数据库的access_token信息,通过判断上次获取时间与现在时间的差值是否小于7200秒,所有超过了7200秒,就重新调用接口重新获取一次access_token,否则就使用之前保存在数据的access_token。
启用服务器配置后,就可以编写自己的菜单,菜单是3*5的菜单,意思是3个大菜单,每个大菜单下面5个小菜单最多。
代码编写的思路是,定义一个BASEBUTTON菜单实体类,然后扩展大菜单和小菜单实体类。在service层实现具体的菜单的名字,url等,控制层调用微信的自定义菜单创建接口就行了。自定义菜单就创建完毕了。其他什么自定义菜单查询 删除功能一般用不上。
5.接收和发送消息
代码编写的思路是,定义一个BASEMESSAGE消息实体类,然后扩展不同类型消息实体类。接收和发送消息实体类组可以分别定义。在service层实现具体的消息发送逻辑等,控制层调用POST方法转换XML和组装XML格式字符发送给微信接口就行了。消息都是XML格式进行传送。
入门的功能就是这样,后面的一些高级功能,就需要自己去看文档调试了。
需要入门教程的完成代码包的可以在后面留言邮箱,或者等我有时间上传网盘。
JAVA微信公众号开发入门相关推荐
- Java微信公众号开发入门:一、微信公众号简介
微信公众号 微信公众号,是微信公众平台的一种账户类型,旨在为特定或公开用户群体提供信息.营销等服务.用户可通过关注公众号来使用特定服务,进行不同活动. 微信公众号主要包括三类:订阅号.服务号.企业号( ...
- 慕课网_《Java微信公众号开发进阶》学习总结
时间:2017年08月12日星期六 说明:本文部分内容均来自慕课网.@慕课网:http://www.imooc.com 教学源码:http://img.mukewang.com/down/... 学习 ...
- java微信公众号开发token验证失败的问题及解决办法
java微信公众号开发token验证失败的问题及解决办法 参考文章: (1)java微信公众号开发token验证失败的问题及解决办法 (2)https://www.cnblogs.com/beardu ...
- 微信公众号开发入门教程第一篇
微信公众号开发入门教程第一篇 关键字:微信公众平台开发 作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/ ...
- Java微信公众号开发梳理
Java微信公众号开发梳理 现在微信公众平台的开发已经越来越普遍,这次开发需要用到微信公众平台.因此做一个简单的记录,也算是给那些没踩过坑的童鞋一些启示吧.我将分几块来简单的描述一下,之后会做详细的说 ...
- Java微信公众号开发微信网页授权之前端传递code方式获取用户信息
本片博客讲解的网页授权分为两步,前端先传递backUrl(回调地址)到后台网页授权接口,该接口拿到回调地址后组装授权连接,重定向到前端页面,前端页面截取Code,传入后端获取用户信息方法,获取用户信息 ...
- Java微信公众号开发(一:接入平台,验证token)
Java微信公众号开发(一:接入平台,验证token) 开发环境: 环境:JDK1.8 框架:springBoot 首先,在我们接入微信公众平台之前,我们需要注册微信公众号的开发者账号,获取开发者ID ...
- JAVA微信公众号开发第8篇JSSDK图片上传预览
简介 博主微信JSSDK&图片上传预览基于微信分享做拓展,所以一些配置操作请点击查阅JAVA微信公众号开发第7篇JSSDK&微信分享博文 页面 <html><head ...
- 微信开发学习总结(一)——微信公众号开发入门指引
本节要求: ①微信公众号申请 ②测试公众号的注册 ③准备微信公众号开发的环境 微信公众号开发入门指引 微信公众号的接入在微信公众平台-微信公众平台技术文档中有着详细的介绍.在进行微信开发前,建议先完整 ...
最新文章
- Python加密—RSA加密
- 8-10 牛客网刷题知识点集合
- 弗吉尼亚理工大学(Virginia Tech)NCR校区招收计算机硕士学位研究生
- 如何给BSP application创建指定的mime resource
- 线段树初见——区间询问与改变最大值
- Qt文档阅读笔记-moc工具使用及其理论(moc工具如何添加到makefile中)
- ansys17.0安装教程
- linux卸载设备驱动命令,Linux设备驱动程序加载/卸载方法 insmod和modprobe命令
- 基于C/C++的PCM编码与解码简单实现
- GBDT梯度提升之二分类算法个人理解
- php实现迅雷链接的加密解密
- 购物小票的巧妙新设计
- html表格翻页简单,利用jQuery实现一个简单的表格上下翻页效果
- 【SPSS统计分析】运用spss软件进行问卷信度分析(附SPSS19.0简体中文版下载地址)
- TreeSize Free
- 谁有全民一起mysql_我是Redis,MySQL大哥被我害惨了!
- java仿QQ聊天软件OIM艰辛之路
- 那些工作后补过的大学知识
- 揭秘华为标准岗位工资(天涯)
- how2heap2.31学习(4)