微信公众开放平台开发01---微信公众平台介绍,以及开发准备
技术qq交流群:JavaDream:251572072
部分内容收集于网络:
1.先分享一份源码:
微信公众开放平台开发 -智能机器人java源代码工程
接口配置信息
url:http://tomcat886.duapp.com/coreServlet
Token:weixin
-----------------------------------------------
2.微信公众平台的搭建。
首先你必须要有一个申请一个微信公众平台账号,
这个很简单的https://mp.weixin.qq.com/cgi-bin/loginpage?t=wxm2-login&lang=zh_CN
自己去申请就Ok,申请后,进入高级功能的开发模式中(其他功能可以自己去了解,这里主要讲对于平台的开发),
可以看到他会要你填写一个URL和token的东西,URL是你的服务器相映类的映射地址(这个对于学java中web的人来说,并不陌生吧),
token是一个相当于”用来加密的码“的东西,API文档中也有介绍。
这个东西呢,是一个处于验证阶段的东西,就好像是你要设定一个URL,
那人家必须保证,你这个URL地址是能用的,他会传给你一个echostr的参数,然后给你很多其他很多参数(如你自己的token等)
来确认这个请求是来自微信平台,最后把他传给你的echostr传回给微信平台,
平台就会把你说输入的URL绑定,以后就不用验证了,这个URL就被微信说识别,以后要是有人发送了消息给你的平台,
他就会通过URL把这个消息转发给你。这是微信验证的整个过程。那么实现验证的代码是怎么的呢,对于我来说就一句话:
response.getWriter().write(request.getParameter("echostr"));
为什么会显得如此简单呢,是因为我的服务器只是用来实现这个平台的,所以不需要官方给定的那么多验证,
如果说你的服务器是已经开始运行在处理其他工作的话,那就需要验证,
参考:http://blog.csdn.net/wangqianjiao/article/details/8469780
这个人详细说明了平台验证的过程,包括加密呀,获取验证什么的。
但我还是说明一下,如果你的服务器没用来做其他用途,那么就一句话就行,
在doGet里边写上这句话,就能轻易完成验证,何必那么麻烦呢,是吧?
3.微信平台的使用。
在搭建好平台,系统识别了你的URL后,就应该学会对消息经行处理。
请记住,验证过程只是用来绑定URL的,一旦绑定成功,成为开发者,
之前工作就没用了,请把那句代码请删掉(不删也没什么,但最好是删掉,以免造成程序可读性降低),
在消息发送的过程中,平台是通过Post来发送的,所以你的所有处理,都得在doPost中经行。
---------------------------------------------------------------------------------------
(1).如何获取消息?
在微信的API文档中也有消息描述,他会用过一些参数向你发送很多这个消息,下面是文本消息的例子。
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1348831860</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[this is a test]]></Content>
<MsgId>1234567890123456</MsgId>
</xml>
这是微信平台会发送给你的消息,
其中fromUserName是一个参数,指的是用户微信唯一的标示符,应该用户的微信ID经过加密形成的串,
因为它是唯一的,所以一般用用来做层级的标示符,也就是判断用户正在进入哪一级的菜单。
ToUserName为公共平台的ID,
CreateTime为消息产生的时间,
MsgType为消息类型(即text消息是文本消息,如果是图片消息,则为image),
Content为消息内容,指的是该消的实际内容,
MsgId是该消息的唯一ID号。
这个就是整个的消息组成体,
他给你一个xml,自己解析出内容
-----------------------------------------------------------
//下面开始解析微信平台发过来的内容
InputStream is = request.getInputStream();
// 取出对应请求流的长度
int size = request.getContentLength();
byte[] buffer = new byte[size];//缓存数组
byte[] xmldataByte = new byte[size];//存放结果的数组
int count = 0;
int rbyte = 0;
// 循环读取
while (count < size) {
// 每次实际读取长度存于rbyte中
rbyte = is.read(buffer);
for(int i=0;i<rbyte;i++) {
xmldataByte[count + i] = buffer[i];
}
count += rbyte;
}
is.close();
//将传来的数据转换字符集
String requestStr = new String(xmldataByte, "UTF-8");
//数据读取完成
//获取xml中的参数
Document doc = DocumentHelper.parseText(requestStr);
Element rootElt = doc.getRootElement();
String content = rootElt.elementText("Content");
String toUserName = rootElt.elementText("ToUserName");
String fromUserName = rootElt.elementText("FromUserName");
String msgType = rootElt.elementText("MsgType");
//获取参数就完成了,这样,一个全面的用户发送来的消息就接受到了,
//是不是很容易?接收到消息过后就要开始处理消息,这个用您自己来定,根据您实际运用来处理。
--------------------------------------------------------------------------------------------------------------
(2)如何返回消息,做完消息的处理后,我们要对用户一个反馈,如何返回消息?其实是一样的
String responseStr = "<xml>";
responseStr += "<ToUserName><![CDATA[" + fromUserName
+ "]]></ToUserName>";
responseStr += "<FromUserName><![CDATA[" + toUserName
+ "]]></FromUserName>";
responseStr += "<CreateTime>" + System.currentTimeMillis()
+ "</CreateTime>";
responseStr += "<MsgType><![CDATA[text]]></MsgType>";
responseStr += "<Content>这里写要返回的具体内容</Content>";
responseStr += "<FuncFlag>0</FuncFlag>";
responseStr += "</xml>";
response.getWriter().write(responseStr);
//在对应的地方,写上对应的内容就可以了,最好的是,把他封装成一个方法,
//或者类的静态方法,我自己就不做详细描述。
--------------------------------------------------------------------------------------------------------
4.这样一个简单的微信公众平台就已经完成,从一开始的URL验证,到对用户的接发消息
相关推荐
微信公众平台应用开发实战-完整扫描版.pdf 全书一共9章,在逻辑上分为四大部分:第一部分(第1章)介绍了微信公众平台的开发模式、数据交互方式,以及开发公众平台应用所需要的各项技术;第二部分(第2~4章)首先...
微信公众平台及应用开发-带书签 附随书源码 微信公众平台及应用开发-带书签 附随书源码 微信公众平台及应用开发-带书签 附随书源码 微信公众平台及应用开发-带书签 附随书源码 微信公众平台及应用开发-带书签 附随书...
微信公众平台应用开发实战-完整扫描版 PDF扫描版,放心下载。
微信公众开放平台开发 -智能机器人java源代码工程 刘峰的博客说明已经很详细了, 本人旨在帮助刚入门微信公众平台开发苦于无法着手而迅速上手准备的, 有不明白的请联系我或微信号guestsun。 导入整个工程到...
微信公众平台技术方案--java.docx
微信开发实例 微信公众平台开发教程-深入浅出微信公众平台实战开发(微网站、LBS云、Api接口调用、服务号高级接口)1.微信接口前期准备。由北风网提供,微信开发实例微信公众平台基础篇: 1)微信公众平台简介:开发...
微信公众平台应用开发实战-完整扫描版【高清】
微信公众平台技术方案--java.pdf
微信公众平台开发实例教程-源代码
微信公众平台服务号--自定义菜单示例代码
微信公众平台调试工具--加强版
微信公众平台技术方案--java参考.pdf
微信公众平台应用开发实战-高清-2013年9月,分享给所有需要的人!
net微信公众平台开发文档-8M4.rar net微信公众平台开发文档-8M4.rar
微信公众平台技术方案--java.doc