简介

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

申请消息接口

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

网址接入

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

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

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

加密/校验流程:

将token、timestamp、nonce三个参数进行字典序排序

将三个参数字符串拼接成一个字符串进行sha1加密

开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

消息推送

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

文本消息

图片消息

地理位置消息

链接消息

事件推送

消息回复

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

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

回复xml结构如下:

回复文本消息

回复音乐消息

回复图文消息

注意事项

  1. 用户OpenID对一个公众号是固定唯一的串
  2. 请使用80端口
  3. 用户关注公众号,微信公众平台服务器推送一条内容为Hello2BizUser的文本消息到第三方服务器

最新文章

  1. NVelocity
  2. Inode详解
  3. LD_LIBRARY_PATH的设定
  4. Android java取得当前日期增加一天或多天
  5. BeX5学习笔记
  6. 基于HTML5 的人脸识别活体认证
  7. 二分图匹配 分类: ACM TYPE 2014-10-01 19:57 94人阅读 评论(0) 收藏
  8. 如何创建PostgreSQL数据库
  9. Android APK反编译得到Java源代码和资源文件
  10. liunx命令之whereis、which、find的区别和联系
  11. jQuery遮罩插件 jquery.blockUI.js
  12. 【APIO2016】【UOJ205】【LOJ2568】烟花表演 可合并堆
  13. numpy 中的 broadcasting 理解
  14. Django 模板语法
  15. 832. Flipping an Image
  16. 【从0到1学javascript】javascript数据结构----数组
  17. 四种更新UI的方法
  18. git打pach包
  19. 理解Javascript的Event Loop
  20. OutOfMemoryError系列(1): Java heap space

热门文章

  1. ubuntu15:10 163源
  2. 离线安装 Python 2.7, paramiko 和 tornado
  3. tp5 中 model 的修改器
  4. Eclipse启动Tomcat时发生java.lang.IllegalArgumentException: <session-config> element is limited to 1 occurrence
  5. 【去除NSString 字符串中的空格换行符】
  6. *使用while循环遍历数组创建索引和自增索引值
  7. 重装系统后如何删除系统自带的office2003
  8. Oracle 11203 + ASM安装 for HP UX
  9. ArrayList常用操作
  10. SQL谜题(楼层谜题)