• 微信公众平台消息接口使用指南


    微信公众平台消息接口使用指南

     

    一 、简介

    公众平台消息接口为开发者提供了一种新的消息处理方式。

    二 、 申请消息接口

    点击申请,如实填写负责人姓名 、 手机号和邮箱,填写网址url和token,其中token可由开发者可以任意填写,用作生成签名。

     

    三 、 网址接入

    公众平台用户提交信息后,我们将以GET请求方式请求到填写的Url上,并且带上四个参数:

    * signature — 微信加密签名
    * timestamp — 时间戳
    * nonce — 随机数
    * echostr — 随机字符串

    开发者通过检验signature对网址接入合法性进行校验。若此次GET请求原样返回echostr参数内容,则接入生效,否则接入失败。 验证signature将结合开发者填写的token参数、timestamp参数和nonce参数等,加密流程:

    * 将token、timestamp、nonce三个参数进行字典序排序
    * 将三个参数字符串拼接成一个字符串进行sha1加密
    * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。

    四 、 消息推送

    当普通微信用户向公众账号发消息时,公众平台将POST该消息到填写的Url上(现支持文本消息以及地理位置消息)。结构如下:

    文本消息xml格式

     <xml>
     <ToUserName><![CDATA[toUser]]></ToUserName>
     <FromUserName><![CDATA[fromUser]]></FromUserName>
     <CreateTime>1348831860</CreateTime>
     <MsgType><![CDATA[text]]></MsgType>
     <Content><![CDATA[this is a test]]></Content>
     </xml> 
     ToUserName 消息接收方微信号,一般为公众平台账号微信号
     FromUserName 消息发送方微信号
     CreateTime 消息创建时间
     MsgType 文本消息为text
     Content 消息内容

    地理位置消息xml格式

     <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>
     </xml> 
     ToUserName 消息接收方微信号,一般为公众平台账号微信号
     FromUserName 消息发送方微信号
     CreateTime 消息创建时间
     MsgType 消息类型,地理位置为location
     Location_X 地理位置纬度
     Location_Y 地理位置经度
     Scale 地图缩放大小
     Label 地理位置信息

    图片消息结构

     <xml>
     <ToUserName><![CDATA[toUser]]></ToUserName>
     <FromUserName><![CDATA[fromUser]]></FromUserName>
     <CreateTime>1348831860</CreateTime>
     <MsgType><![CDATA[image]]></MsgType>
     <PicUrl><![CDATA[this is a url]></PicUrl>
     </xml> 
     ToUserName 消息接收方微信号,一般为公众平台账号微信号
     FromUserName 消息发送方微信号
     CreateTime 消息创建时间
     MsgType 消息类型image
     PicUrl 图片链接,开发者可以用HTTP GET获取
     

    五 、 消息回复

    对于每一个POST请求,开发者在响应包中返回特定xml结构,对该消息进行相应操作(现支持回复文本消息 、 回复图文消息和星标操作)。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> 
     FromUserName 消息发送方
     ToUserName 消息接收方
     CreateTime 消息创建时间
     MsgType 消息类型,文本消息必须填写text
     Content 消息内容,大小限制在2048字节,字段为空为不合法请求

    回复图文消息格式

     <xml>
     <ToUserName><![CDATA[toUser]]></ToUserName>
     <FromUserName><![CDATA[fromUser]]></FromUserName>
     <CreateTime>12345678</CreateTime>
     <MsgType><![CDATA[news]]></MsgType>
     <Content><![CDATA[]]></Content>
     <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> 
     FromUserName 消息发送方
     ToUserName 消息接收方
     CreateTime 消息创建时间
     MsgType 消息类型,图文消息必须填写news
     Content 消息内容,图文消息可填空
     ArticleCount 图文消息个数,限制为10条以内
     Articles 多条图文消息信息,默认第一个item为大图
     Title 图文消息标题
     Description 图文消息描述
     PicUrl 图片链接,支持JPG、PNG格式,较好的效果为大图640*320,小图80*80,限制图片链接的域名需要与开发者填写的基本资料中的Url一致
     Url 点击图文消息跳转链接

     

    星标消息

    在xml结构中,有一个FuncFlag字段,开发者可以通过填写FuncFlag字段为1来对消息进行星标,你可以在实时消息的星标消息分类中找到该消息

    六 、 示例代码

    PHP:下载

     

  • 相关阅读:
    min-max 容斥
    集训作业
    UOJ Test Round 3
    uoj Goodbye Dingyou
    Codeforces Round #516 (Div. 1) 题解
    Codeforces Round #517(Div. 1) 题解
    概率论(Ⅱ)
    Berlekamp-Massey算法学习笔记
    多项式取模优化线性递推总结
    [ZJOI2019]线段树
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6467935.html
Copyright © 2020-2023  润新知