好久没进博客,最近应某人的要求,要每周写一篇博客,故此今天就把我这周刚学的微信公众号开发的知识在此总结总结,以供后人查阅。我写博客都是简要白话文,勿喷。

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微信公众号开发入门相关推荐

  1. Java微信公众号开发入门:一、微信公众号简介

    微信公众号 微信公众号,是微信公众平台的一种账户类型,旨在为特定或公开用户群体提供信息.营销等服务.用户可通过关注公众号来使用特定服务,进行不同活动. 微信公众号主要包括三类:订阅号.服务号.企业号( ...

  2. 慕课网_《Java微信公众号开发进阶》学习总结

    时间:2017年08月12日星期六 说明:本文部分内容均来自慕课网.@慕课网:http://www.imooc.com 教学源码:http://img.mukewang.com/down/... 学习 ...

  3. java微信公众号开发token验证失败的问题及解决办法

    java微信公众号开发token验证失败的问题及解决办法 参考文章: (1)java微信公众号开发token验证失败的问题及解决办法 (2)https://www.cnblogs.com/beardu ...

  4. 微信公众号开发入门教程第一篇

    微信公众号开发入门教程第一篇 关键字:微信公众平台开发 作者:方倍工作室 在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/ ...

  5. Java微信公众号开发梳理

    Java微信公众号开发梳理 现在微信公众平台的开发已经越来越普遍,这次开发需要用到微信公众平台.因此做一个简单的记录,也算是给那些没踩过坑的童鞋一些启示吧.我将分几块来简单的描述一下,之后会做详细的说 ...

  6. Java微信公众号开发微信网页授权之前端传递code方式获取用户信息

    本片博客讲解的网页授权分为两步,前端先传递backUrl(回调地址)到后台网页授权接口,该接口拿到回调地址后组装授权连接,重定向到前端页面,前端页面截取Code,传入后端获取用户信息方法,获取用户信息 ...

  7. Java微信公众号开发(一:接入平台,验证token)

    Java微信公众号开发(一:接入平台,验证token) 开发环境: 环境:JDK1.8 框架:springBoot 首先,在我们接入微信公众平台之前,我们需要注册微信公众号的开发者账号,获取开发者ID ...

  8. JAVA微信公众号开发第8篇JSSDK图片上传预览

    简介 博主微信JSSDK&图片上传预览基于微信分享做拓展,所以一些配置操作请点击查阅JAVA微信公众号开发第7篇JSSDK&微信分享博文 页面 <html><head ...

  9. 微信开发学习总结(一)——微信公众号开发入门指引

    本节要求: ①微信公众号申请 ②测试公众号的注册 ③准备微信公众号开发的环境 微信公众号开发入门指引 微信公众号的接入在微信公众平台-微信公众平台技术文档中有着详细的介绍.在进行微信开发前,建议先完整 ...

最新文章

  1. Python加密—RSA加密
  2. 8-10 牛客网刷题知识点集合
  3. 弗吉尼亚理工大学(Virginia Tech)NCR校区招收计算机硕士学位研究生
  4. 如何给BSP application创建指定的mime resource
  5. 线段树初见——区间询问与改变最大值
  6. Qt文档阅读笔记-moc工具使用及其理论(moc工具如何添加到makefile中)
  7. ansys17.0安装教程
  8. linux卸载设备驱动命令,Linux设备驱动程序加载/卸载方法 insmod和modprobe命令
  9. 基于C/C++的PCM编码与解码简单实现
  10. GBDT梯度提升之二分类算法个人理解
  11. php实现迅雷链接的加密解密
  12. 购物小票的巧妙新设计
  13. html表格翻页简单,利用jQuery实现一个简单的表格上下翻页效果
  14. 【SPSS统计分析】运用spss软件进行问卷信度分析(附SPSS19.0简体中文版下载地址)
  15. TreeSize Free
  16. 谁有全民一起mysql_我是Redis,MySQL大哥被我害惨了!
  17. java仿QQ聊天软件OIM艰辛之路
  18. 那些工作后补过的大学知识
  19. 揭秘华为标准岗位工资(天涯)
  20. how2heap2.31学习(4)

热门文章

  1. 图书管理系统(C+MySQL)
  2. 【ODX介绍】-5-用于Flash刷写的ODX-F文件概述
  3. 傅小美:儿时唐院记忆点滴
  4. 麦肯锡 未来技术报告
  5. 常见扫码枪广播名称(更多欢迎投稿)
  6. ubuntu9.10稳定运行QQ2008和迅雷
  7. 【数理逻辑】预备知识
  8. 【6w字干货】2020大数据面试题真题总结(附答案)
  9. vue一个页面发出多个异步请求_Vue异步请求最佳实践
  10. 初学 Java 设计模式(十五):实战命令模式 「扫码点餐」