微信公众号教程(6)公众平台开发模式介绍

摘要:
接口发送的消息的格式:回复文本消息的数据字段:ToUserName:发件人的帐户FromUserName:开发者的微信CreateTime:回复消息创建时间MsgType:回复消息类型Content:回复消息内容FuncFlag:设置为1时,自动信标刚刚收到的消息适合于活动统计。2.回复图片消息(未打开)是一个未发布的界面,现在使用开发模式最困难的是无法回复图片。最好使用编辑模式,您可以回复所有内容!

    公众平台开发模式介绍

 原文:http://www.cnblogs.com/imaker/p/6249421.html

从今天开始教程进入高级阶段,请大家认真、专心,还有执着,我会很耐心的在后台回复每个人的提问,但是如果真觉得学不下去的可以考虑用一些现成的第三方平台,但是肯定不如自己开发来的个性化。

一、开发模式简介

 

点击公众平台后台导航的“高级功能”就可以进入,该页面有两个模式选择,分别为“编辑模式”和“开发模式”,如下图:

微信公众号教程(6)公众平台开发模式介绍第1张

默认两个模式都是关闭状态,两种模式不能同时开启,点击开发模式区域进入开发模式设置页面,如下图:

微信公众号教程(6)公众平台开发模式介绍第2张

  1. 模式总开关。只有“成为开发者”后才可以开启,这里要注意的是由于编辑模式和开发模式不能同时开启,使用开发模式前应先关闭编辑模式。

  2. api接口文档。点击后可以查看目前所有开放的接口使用详细说明,包括开发用的SDK包。(SDK,Software Development Kit 的缩写,中文即“软件开发工具包”。广义上指辅助开发某一类软件的相关文档、范例和工具的集合。

  3. 成为开发者。点击后会出现接口配置页面,用来绑定自己服务器上的程序接口与微信接口通讯,具体的操作将在第九章介绍。

二、api接口文档简介

首先来了解下微信开发模式有那些接口,清楚微信接口能做什么不能做什么有利于自己的产品设计,可以考虑自己的产品如何结合如何规划。

由于微信本身是一个通讯工具,它所有的api接口都是基于一问一答的通讯机制,因此它的接口文档分为消息推送(用户在公众平台上行发送 的消息)和消息回复(响应用户上行消息反馈下发回复的消息),本教程除了目前已经公布的接口外,还将剧透一部分将要开放的接口,比较特殊的消息下发接口属于最高级别接口,大部分开发者是拿不到的,所以不介绍了

消息推送(即公众账号能接收到的用户消息请求)

1、文本消息

此类消息即用户向公众账号输入文本发送消息,是公众平台接收到最多的消息,也是最重要的搜索、互动请求,因为语音识别还不成熟,图片无法识别,地理位置用的场景也不多。

接口获取到的消息格式:

微信公众号教程(6)公众平台开发模式介绍第3张

这里先说下XML数据格式,它不仅是一种非常适合web传输的格式,还具有强大的数据索引、排序、查找、相关一致性等特点,有些网站甚至拿XML来做数据库,比如射手网,它结构非常简单,看起来有点像html,可读性比较强,微信开发接口的消息传递主要在用这个。

有些人会觉得很头大,其实不理解也没关系,只要搞清楚它每次传输给你的有那些数据,你怎么获取这些数据就可以了。

文本消息的数据字段:

ToUserName:开发者微信号(公众账号ID)

FromUserName:发送方帐号(微信用户的OPENID,每个微信用户与每个公众账号是唯一的,不同公众账号同个用户OPENID是不同的)

CreateTime:消息创建时间

MsgType:消息类型(文本消息为text)

Content:消息内容

MsgId:消息的ID号

2、图片消息

用户使用图片上传发送消息,应用场景:账号注册、随手拍活动征集、现场微信照片墙。

接口获取到的消息格式:

微信公众号教程(6)公众平台开发模式介绍第4张

图片消息与文本消息数据不同:

MsgType:消息类型为image

PicUrl:图片链接,该图片保存在微信的服务器上,可以通过远程抓取图片程序保存到本地。

3、地理位置消息

微信将LBS当作一个交互信息进行传递,比较常见的微信用户之间发送地理位置告知目的地所在,公众号里发送地理位置搜索周边人、商家、信息等。

接口获取到的消息格式:

微信公众号教程(6)公众平台开发模式介绍第5张

地理位置消息与文本消息数据不同:

MsgType:消息类型为location

Location_X、Location_Y、Scale:地理位置的经纬度和地图缩放比例,用于第三方地图接口的应用,搜索周边需要用到

Label:地理位置文字信息,如某某城市某某路某某号,如果以城市为单位查询直接拿这个就可以。

4、链接消息

微收藏、印象笔记等用来保存微信里图文消息的应用就是使用的这个接口,用户将链接发送到该公众账号,公众账号通过链接抓取网页内容然后收藏保存。

接口获取到的消息格式:

微信公众号教程(6)公众平台开发模式介绍第6张

链接消息与文本消息数据不同:

MsgType:消息类型为link

Title:消息标题

Description:消息描述

 

Url:链接地址

 

5、语音消息(未开放)

这个消息接口并不在公开文档上,但事实上有不少微信应用已经在使用,比如路况电台,不全面开放的原因我个人猜测是因为微信自己的语音识别还不理想,未来肯定会开放,想象一下对公众账号说句话后台就能给反馈信息多方便的功能。

 

接口获取到的消息格式:

微信公众号教程(6)公众平台开发模式介绍第7张

 

语音消息与文本消息数据不同:

MsgType:消息类型为voice

MediaId:语音消息媒体id,可以调用相应接口获取内容

Format:语音类型,如amr,speex,wav等,目前是使用的speex。

 

6、视频消息(未开放)

这个消息接口也不在公开文档上,结构跟语音消息差不多。

 

接口获取到的消息格式:

微信公众号教程(6)公众平台开发模式介绍第8张

 

视频消息与文本消息数据不同:

MsgType:消息类型为video

MediaId:视频消息媒体id,可以调用相应接口获取内容

ThumbMediaId:视频消息缩略图id,可以调用相应接口获取内容

 

7、事件推送

这个接口很重要,目前只开放了用户关注、用户退订,还有自定义菜单按钮相应的功能,部分测试的有用户打开公众号提醒和自动发送地理位置。也就是用户不发送任何内容也可以捕捉用户行为做出回复。

接口获取到的消息格式:

微信公众号教程(6)公众平台开发模式介绍第9张

事件推送与文本消息数据不同:

MsgType:消息类型为event

Event:事件内容,subscribe(订阅)、unsubscribe(取消订阅)、CLICK(自定义菜单点击事件)

EventKey:当用户事件为点击自定义菜单时,返回事件KEY值,与自定义菜单接口中KEY值对应。

 

很多人在问如何知道用户退订的,其实就是这个消息接口,另外3月26日后将用户关注消息也从文本消息改为了事件推送。

消息回复(即公众账号在接收到用户消息后下发回复消息)

消息回复需要注意的一点是从接收用户发送的消息,到服务器响应返回消息,有效时间只有5秒钟,超时的话用户是无法接收到回复消息的。

 

1、回复文本消息

文字阅读要比其他方式的阅读成本低,所以能用文本的地方咱们就尽量用文本。

接口下发的消息格式:

微信公众号教程(6)公众平台开发模式介绍第10张

回复文本消息的数据字段:

ToUserName:发送方帐号(微信用户的OPENID,每个微信用户与每个公众账号是唯一的,不同公众账号同个用户OPENID是不同的)

FromUserName:开发者微信号(公众账号ID)

CreateTime:回复消息创建时间

MsgType:回复消息类型(文本消息为text)

Content:回复消息内容(长度不超过2048字节)

FuncFlag:设置为1的时候,自动星标刚才接收到的消息,适合活动统计使用

2、回复图片消息(未开放)

这是个未公开的接口,现在使用开发模式最苦逼的就是没法回复图片,还不如编辑模式,啥都能回复!

接口下发的消息格式:

微信公众号教程(6)公众平台开发模式介绍第11张

与回复文本消息的数据字段的不同:

MsgType:回复消息类型为image

免责声明:内容来源于网络,仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何有效的使用google进行搜索的20个技能高可用web集群的搭建与监控下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

微信支付的几种模式总结

1.微信支付文档 https://pay.weixin.qq.com/wiki/doc/api/index.html 2.唤起微信支付的几种方式 jsapi支付:通过js调起支付 h5支付:在微信意外的手机浏览器调起支付 小程序支付:在小程序中调起支付 还有付款码支付,app支付等 3.支付的几种形式 首先开发主体分为普通商户和服务商 对于普通商户可以使...

day1_json_viewer美化接口请求、接口用例设计的方式和接口测试的必要性

接口返回值json方式展示在谷歌浏览器方式:点击右上角三个点,单击更多工具(L)->扩展程序,点击加载已解压的扩展程序按钮,选择已解压的json_viewer(通过json_viewer.zip解压缩)的文件夹,点击更新按钮,刷新浏览器,如下图: 可以看到请求时间和url,以及美化后的返回值,比之前在一行展示好看多了 接口用例设计,以注册接口为例:...

Force.com微信开发系列(四)申请Access Token及自定义菜单之创建菜单

在微信接口开发中,许多服务的使用都离不开Access Token,Access Token相当于打开这些服务的钥匙,正常情况下会在7200秒内失效,重复获取将导致上次获取的Token失效,本文将首先介绍如何获取Access Token,再介绍如何通过Access Token来在微信内添加自定义菜单(注意,开发者需要申请测试账号来测试自定义菜单,如何申请请参...

接口自动化测试的"开胃小菜"---简单黑客攻击手段

Web应用系统的小安全漏洞及相应的攻击方式 接口自动化测试的"开胃小菜" 1写作目的 本文讲述一个简单的利用WebAPI来进行一次基本没有破坏力的“黑客”行为。 主要目的如下: 了解什么叫安全漏洞 知道什么是api 了解一些获取api的工具 通过对API的认识了解白盒接口测试基本概念和技术 免责声明: 本文主要是以学习交流为目的,而且实验的对象也是通...

【转】Sqlserver通过链接服务器访问Oracle的解决办法

一、创建sqlserver链接服务(sqlserver链接oracle)  首先sqlserver 链接oracle可以通过两个访问接口: “MSDAORA” 和“OraOLEDB.Oracle” 1、“MSDAORA”访问接口是由Microsoft OLE DB Provider for Oracle提供的,这里建议不使用此接口进行链接。通过该访问接口建...

浅析设计模式

  一、什么是设计模式? 设计模式,是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。每一个设计模式系统地命名、解释和评价了面向对象系统中一个重要的和重复出现的设计。 使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。 Christo...