标签:业务逻辑 外网 arc node homepage 标签 slist 地址 信号
这一篇主要讲作为一名使用公众平台接口的开发者,你需要知道的一些东西。其中也涉及到一些微信官方的规定或比较掩蔽的注意点。欢迎补充!
我觉得做好成为开发者的准备比稀里糊涂开通微信后台的“高级”功能更重要,所以这一节先放在前面说。
作为开发者,我们需要面对的主要有两个对象:微信服务器和应用程序(网站)服务器。
当微信用户向你的公众平台发送一条消息,实际上这条消息首先发送到微信服务器,由微信服务器向网站服务器发起另外一个请求,网站服务器返回这个请求的结果,再由微信服务器发送到微信客户端。
整个消息通讯流程如下图:
上述5个步骤中,作为开发者我们主要精力都集中在步骤3上,这个步骤主实际上要有3项任务:
上述三项任务我会在后面做详细说明,并提供一整套简单、高效的处理方法。
用户使用微信客户端发送的不同类型的消息,网站服务器会收到不同格式的数据(文字、语音、图片等等),数据格式暂时只有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 > |
对应节点的官方说明如下:
参数 | 描述 |
---|---|
ToUserName | 开发者微信号 |
FromUserName | 发送方帐号(一个OpenID) |
CreateTime | 消息创建时间 (整型) |
MsgType | text |
Content | 文本消息内容 |
MsgId | 消息id,64位整型 |
一个简单的文字返回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 > |
对应节点的官方说明如下:
参数 | 描述 |
---|---|
ToUserName | 接收方帐号(收到的OpenID) |
FromUserName | 开发者微信号 |
CreateTime | 消息创建时间 |
MsgType | text |
Content | 回复的消息内容,长度不超过2048字节 |
FuncFlag | 位0x0001被标志时,星标刚收到的消息。 |
虽然整个通讯过程十分简单,但是官方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可以参考)。
地址:http://www.cnblogs.com/szw/archive/2013/05/14/weixin-course-index.html
Senparc.Weixin.MP SDK 微信公众平台开发教程(二):成为开发者
标签:业务逻辑 外网 arc node homepage 标签 slist 地址 信号
原文地址:http://www.cnblogs.com/Alex80/p/6062212.html