• <bdo id="g6euu"><blockquote id="g6euu"></blockquote></bdo>
    <bdo id="g6euu"><samp id="g6euu"></samp></bdo>
  • 首页 > 建站资源 > 微信营销 > 微信公众平台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代码
    微信公众平台教程之生成带参数二维码
    微信公众平台开发模式启用及接口配置图文教程

    精彩推荐

    热门教程

    任选五走势图
  • <bdo id="g6euu"><blockquote id="g6euu"></blockquote></bdo>
    <bdo id="g6euu"><samp id="g6euu"></samp></bdo>
  • <bdo id="g6euu"><blockquote id="g6euu"></blockquote></bdo>
    <bdo id="g6euu"><samp id="g6euu"></samp></bdo>
  • 中国竟彩 四川大乐透大奖排行榜 四川体育彩票走势图 重庆时时彩夜场 北京赛车pk10冠军公式 南国早报特码资料 浙江飞鱼外围秘诀 今天湖南快乐十分 上海快三预测号码今天 什么网站有足彩合买跟单 百乐坊娱乐城可信吗 六肖中特准王中王开奖结果 合买方案怎么写 真人游戏mp4 彩乐乐中大奖