来源:自学PHP网 时间:2015-04-14 12:58 作者: 阅读:次
[导读] 这一篇主要讲作为一名使用公众平台接口的开发者,你需要知道的一些东西。其中也涉及到一些微信官方的规定或比较掩蔽的注意点。欢迎补充! 我觉得做好成为开发者的准备比稀里糊...
这一篇主要讲作为一名使用公众平台接口的开发者,你需要知道的一些东西。其中也涉及到一些微信官方的规定或比较掩蔽的注意点。欢迎补充!
我觉得做好成为开发者的准备比稀里糊涂开通微信后台的“高级”功能更重要,所以这一节先放在前面说。 一、公众平台的通讯过程作为开发者,我们需要面对的主要有两个对象:微信服务器和应用程序(网站)服务器。 当微信用户向你的公众平台发送一条消息,实际上这条消息首先发送到微信服务器,由微信服务器向网站服务器发起另外一个请求,网站服务器返回这个请求的结果,再由微信服务器发送到微信客户端。 整个消息通讯流程如下图:
上述5个步骤中,作为开发者我们主要精力都集中在步骤3上,这个步骤主实际上要有3项任务:
上述三项任务我会在后面做详细说明,并提供一整套简单、高效的处理方法。 二、XML通讯格式用户使用微信客户端发送的不同类型的消息,网站服务器会收到不同格式的数据(文字、语音、图片等等),数据格式暂时只有XML一种。 作为学习,我觉得只要熟练掌握最简单的文字类型就可以了,其他的格式都是大同小异。且在后面的说明中你会发现,Senparc.Weixin.MP.dll可以帮助我们完全忽略这些繁琐的格式和定义。 一个简单的文字请求XML(RequestMessage)内容如下: <xml> <ToUserName><![CDATA[gh_a96a4a619366]]></ToUserName> <FromUserName><![CDATA[olPjZjsXuQPJoV0HlruZkNzKc91E]]></FromUserName> <CreateTime>1357986928</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[TNT2]]></Content> <MsgId>5832509444155992350</MsgId> </xml> 对应节点的官方说明如下:
一个简单的文字返回XML(ResponseMessage)内容如下: <xml> <ToUserName><![CDATA[olPjZjsXuQPJoV0HlruZkNzKc91E]]></ToUserName> <FromUserName><![CDATA[gh_a96a4a619366]]></FromUserName> <CreateTime>12345678</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[content]]></Content> <FuncFlag>0</FuncFlag> </xml> 对应节点的官方说明如下:
三、一些需要注意和容易被忽视的问题:
四、工欲善其事,必先利其器:Senparc.Weixin.MP.dll虽然整个通讯过程十分简单,但是官方API还是对一些字段做了特殊的约定或处理,况且面向过程地处理这么多类型的请求数据也是一件十分费力的事情。 为此我做了一个开源项目:Senparc.Weixin.MP,地址:https://github.com/JeffreySu/WeiXinMPSDK/ Senparc.Weixin.MP的主要目的是帮助C#开发者简化整个通讯过程,面向对象地处理消息,把主要精力放到业务逻辑上,而非繁琐的API上。 使用Senparc.Weixin.MP,并部署到外网与微信服务器通讯,你需要准备这些环境:
这里先简单地引入Senparc.Weixin.MP这个项目的介绍,后面我会做更详细的说明并举例(https://github.com/JeffreySu/WeiXinMPSDK/ 里面也已经编写了足够多的使用文档和Demo可以参考)。
新浪微博:@苏震巍 QQ:498977166 http://szw.cnblogs.com/ |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com