zoukankan      html  css  js  c++  java
  • 微信公众号教程(6)公众平台开发模式介绍

        公众平台开发模式介绍

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

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

    一、开发模式简介

     

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

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

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

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

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

    二、api接口文档简介

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

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

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

    1、文本消息

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

    接口获取到的消息格式:

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

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

    文本消息的数据字段:

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

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

    CreateTime:消息创建时间

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

    Content:消息内容

    MsgId:消息的ID号

    2、图片消息

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

    接口获取到的消息格式:

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

    MsgType:消息类型为image

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

    3、地理位置消息

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

    接口获取到的消息格式:

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

    MsgType:消息类型为location

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

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

    4、链接消息

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

    接口获取到的消息格式:

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

    MsgType:消息类型为link

    Title:消息标题

    Description:消息描述

     

    Url:链接地址

     

    5、语音消息(未开放)

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

     

    接口获取到的消息格式:



     

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

    MsgType:消息类型为voice

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

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

     

    6、视频消息(未开放)

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

     

    接口获取到的消息格式:



     

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

    MsgType:消息类型为video

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

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

     

    7、事件推送

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

    接口获取到的消息格式:

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

    MsgType:消息类型为event

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

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

     

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

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

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

     

    1、回复文本消息

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

    接口下发的消息格式:

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

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

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

    CreateTime:回复消息创建时间

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

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

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

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

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

    接口下发的消息格式:

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

    MsgType:回复消息类型为image

  • 相关阅读:
    Android 主题theme说明 摘记
    Android开发 去掉标题栏方法 摘记
    安卓项目五子棋代码详解(二)
    关于 ake sure class name exists, is public, and has an empty constructor that is public
    百度地图3.0实现图文并茂的覆盖物
    android onSaveInstanceState()及其配对方法。
    关于集成科大讯飞语音识别的 一个问题总结
    android 关于 webview 控制其它view的显示 以及更改view数据失败的问题总结
    C# 解析 json Newtonsoft果然强大,代码写的真好
    c#数据类型 与sql的对应关系 以及 取值范围
  • 原文地址:https://www.cnblogs.com/imaker/p/6249421.html
Copyright © 2011-2022 走看看