欢乐升级甩拍牌视频|qq打欢乐升级死机
首页 > 建站资源 > 微信营销 > 微信公众平台API接口开发教程

微信公众平台API接口开发教程

时间:2013-08-11    来源:方倍工作室
简介

微信公众平台消息接口为开发者提供了一种新的消息处理方式。微信公众平台消息接口为开发者提供与用户进行消息交互的能力。对于成功接入消息接口的微信公众账号,当用户发消息给公众号,微信公众平台服务器会使用http请求对接入的网?#26041;?#34892;消息推送,第三方服务器可通过响应包回复特定结构,从而达?#20132;?#22797;消息的目的。

申请消息接口

点击申请,填写网址url和token,其中token可由开发者可以任意填写,用作生成签名。

填写信息

网址接入

公众平台用户提交信息后,微信服务器将发送GET请求?#25945;?#20889;的URL上,并且带上四个参数:

参数 描述
signature 微信?#29992;?#31614;名
timestamp 时间戳
nonce 随机数
echostr 随机?#22336;?#20018;

开发者通过检验signature对请求进行校验(下面?#34892;?#39564;方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,否则接入失败。

signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。

?#29992;?校验流程:

  1. 将token、timestamp、nonce三个参数进行字典序排序
  2. 将三个参数?#22336;?#20018;拼接成一个?#22336;?#20018;进行sha1?#29992;?/li>
  3. 开发者获得?#29992;?#21518;的?#22336;?#20018;可与signature对比,标识该请求来源于微信
消息推送

当普通微信用户向公众账号发消息时,微信服务器将POST该消息?#25945;?#20889;的URL上。结构如下:

文本消息
 <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>
参数 描述
ToUserName 开发者微信号
FromUserName 发送方帐号(一个OpenID)
CreateTime 消息创建时间 (整型)
MsgType text
Content 文本消息内容
MsgId 消息id,64位整型

?

图片消息
 <xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1348831860</CreateTime>
<MsgType><![CDATA[image]]></MsgType>
<PicUrl><![CDATA[this is a url]></PicUrl>
<MsgId>1234567890123456</MsgId>
</xml>
参数 描述
ToUserName 开发者微信号
FromUserName 发送方帐号(一个OpenID)
CreateTime 消息创建时间 (整型)
MsgType image
PicUrl 图片链接
MsgId 消息id,64位整型

?

地理位置消息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1351776360</CreateTime>
<MsgType><![CDATA[location]]></MsgType>
<Location_X>23.134521</Location_X>
<Location_Y>113.358803</Location_Y>
<Scale>20</Scale>
<Label><![CDATA[位置信息]]></Label>
<MsgId>1234567890123456</MsgId>
</xml>
参数 描述
ToUserName 开发者微信号
FromUserName 发送方帐号(一个OpenID)
CreateTime 消息创建时间 (整型)
MsgType location
Location_X 地理位置维度
Location_Y 地理位置经度
Scale 地图缩放大小
Label 地理位置信息
MsgId 消息id,64位整型

?

链接消息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1351776360</CreateTime>
<MsgType><![CDATA[link]]></MsgType>
<Title><![CDATA[公众平台官网链接]]></Title>
<Description><![CDATA[公众平台官网链接]]></Description>
<Url><![CDATA[url]]></Url>
<MsgId>1234567890123456</MsgId>
</xml>
参数 描述
ToUserName 接收方微信号
FromUserName 发送方微信号,若为普通用户,则是一个OpenID
CreateTime 消息创建时间
MsgType 消息类型,link
Title 消息标题
Description 消息描述
Url 消息链接
MsgId 消息id,64位整型
事件推送

事件推送只支持微信4.5版本,即将开放,敬请期待。

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[LOCATION]]></Event>
<Latitude>23.137466</Latitude>
<Longitude>113.352425</Longitude>
<Precision>119.385040</Precision>
</xml>
参数 描述
ToUserName 接收方微信号
FromUserName 发送方微信号,若为普通用户,则是一个OpenID
CreateTime 消息创建时间
MsgType 消息类型,event
Event 事件类型,有ENTER(进入会话)和LOCATION(地理位置)
Latitude 地理位置维度,事件类型为LOCATION的时存在
Longitude 地理位置经度,事件类型为LOCATION的时存在
Precision 地理位置精度,事件类型为LOCATION的时存在

消息回复

对于每一个POST请求,开发者在响应包中返回特定xml结构,对该消息进行响应(?#31181;?#25345;回复文本、图文、语音、视频、音乐和对收到的消息进行星标操作)。

微信服务器在五秒内收不到响应会断掉连接。

回复xml结构如下:

回复文本消息
 <xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[content]]></Content>
<FuncFlag>0</FuncFlag>
</xml>
参数 描述
ToUserName 接收方帐号(收到的OpenID)
FromUserName 开发者微信号
CreateTime 消息创建时间
MsgType text
Content 回复的消息内容
FuncFlag 位0x0001被标志时,星标刚收到的消息。

?

回复音乐消息
 <xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[music]]></MsgType>
<Music>
<Title><![CDATA[TITLE]]></Title>
<Description><![CDATA[DESCRIPTION]]></Description>
<MusicUrl><![CDATA[MUSIC_Url]]></MusicUrl>
<HQMusicUrl><![CDATA[HQ_MUSIC_Url]]></HQMusicUrl>
</Music>
<FuncFlag>0</FuncFlag>
</xml>
参数 描述
ToUserName 接收方帐号(收到的OpenID)
FromUserName 开发者微信号
CreateTime 消息创建时间
MsgType music
MusicUrl 音乐链接
HQMusicUrl 高质量音乐链接,WIFI环境优先使用该链接播放音乐
FuncFlag 位0x0001被标志时,星标刚收到的消息。

回复图文消息

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<ArticleCount>2</ArticleCount>
<Articles>
<item>
<Title><![CDATA[title1]]></Title> 
<Description><![CDATA[description1]]></Description>
<PicUrl><![CDATA[picurl]]></PicUrl>
<Url><![CDATA[url]]></Url>
</item>
<item>
<Title><![CDATA[title]]></Title>
<Description><![CDATA[description]]></Description>
<PicUrl><![CDATA[picurl]]></PicUrl>
<Url><![CDATA[url]]></Url>
</item>
</Articles>
<FuncFlag>1</FuncFlag>
</xml> 
参数 描述
ToUserName 接收方帐号(收到的OpenID)
FromUserName 开发者微信号
CreateTime 消息创建时间
MsgType news
ArticleCount 图文消息个数,限制为10条以内
Articles 多条图文消息信息,默认第一个item为大图
Title 图文消息标题
Description 图文消息描述
PicUrl 图片链接,支持JPG、PNG格式,较好的效果为大图640*320,小图80*80,限制图片链接的域名需要与开发者填写的基本资料中的Url一致
Url 点击图文消息跳转链接
注意事项
  1. 用户OpenID对一个公众号是固定唯一的串
  2. 请使用80端口
  3. 用户关注公众号,微信公众平台服务器推送一条内容为Hello2BizUser的文本消息到第三方服务器
相关推荐
微信公众平台开发教程之通用接口API指南
微信公众平台开发模式自定义菜单开发指南
微信公众平台消息接口使用教程
微信公众平台消息接口开发教程之语音触发应用
微信公众平台接口开发教程之人脸识别应用
微信公众平台消息接口开发教程 附封装工具实例代码
微信公众平台开发教程之消息的接收与响应实例代码
微信公众帐号开发教程之文本消息长?#35748;?#21046;详解
微信公众平台开发教程之文本消息换行符详解
微信公众帐号开发教程之文本消息中如何添加网页超链接
微信公众平台开发教程之QQ表情的发送与接收
微信公众平台开发教程之符号表情的发送(1)
微信公众帐号开发教程之符号表情的发送(2)
微信公众帐号开发教程之图文消息全攻略
微信公众平台开发教程之新手初级入门攻略 附PHP代码实例
微信公众帐号消息接口开发教程之校验签名与消息响应合并
微信公众平台消息接口开发教程之大众点评API接口开发
微信公众账号开发教程之微信浏览器HTTP_USER_AGENT判断
微信公众平台消息接口开发教程之智能快递查询应用
微信公众帐号消息接口开发教程之?#19968;?#36816;测试应用
微信公众平台教程?#22909;?#26377;正确响应Token验证的解决方法
微信公众平台消息接口开发之小黄鸡机器人应用
微信公众平台开发教程之在线音乐/在线点歌
微信公众平台开发教程之快递查询应用
微信公众平台创建自定义菜单的PHP代码
微信公众平台教程之生成带参数二维码
微信公众平台开发模式启用及接口配置图文教程

精彩推荐

热门教程

欢乐升级甩拍牌视频