• 开发者模式(一)


    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
    MediaId: 图片的id,需要通过其他接口上传图片获得

    上传图片限制:1MB,支持JPG格式

    3、回复语音消息(未开放)

    这是个未公开的接口,语音消息展现形式跟音乐消息还是不一样的,也不会出现某些安卓版微信无法播放音乐消息的情况。

    接口下发的消息格式:

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

    MsgType:回复消息类型为voice
    MediaId: 语音的id,需要通过其他接口上传语音获得

    上传语音限制:1MB,播放长度不超过60s,支持AMR格式

    4、回复视频消息(未开放)

    这是个未公开的接口,和图片消息差不多。

    接口下发的消息格式:

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

    MsgType:回复消息类型为video
    MediaId: 视频的id,需要通过其他接口上传视频获得
    ThumbMediaId:缩略图的id,通过上传图片(80*80)得到id

    视频限制:10MB,支持MP4格式
    缩略图限制:64KB,支持JPG格式

    5、回复音乐消息

    很多人问我为什么可以播放音乐,没什么秘密,就是用这个接口了。

    接口下发的消息格式:

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

    MsgType:回复消息类型为music
    Title: 音乐标题,我经常是放歌名
    Description: 音乐描述,我经常是放歌手名字
    MusicUrl: 音乐链接,支持MP3、WMV、AAC等在线音乐格式
    HQMusicUrl:高质量音乐链接,WIFI环境优先使用该链接播放音乐,可以和上面的一样。

    6、回复图文消息

    开发模式里最喜欢的就是这个了,比如可以用多图文消息做个欢迎菜单,可以做图文历史文章查询。

    接口下发的消息格式:

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

    MsgType:回复消息类型为news
    ArticleCount:图文消息个数,限制为10条以内,这个必须准确,有多少条图文消息就得填写多少,不然会出错。
    Articles:多条图文消息信息,默认第一个item为大图,每个item的结构完全一样,每个item表示一条图文消息。
    Title:图文消息标题
    Description:图文消息描述
    PicUrl:图片链接,支持JPG、PNG格式,较好的效果为大图640320,小图8080。
    Url:点击图文消息跳转链接,这个链接可以是自己网站链接,但是记得申请白名单,不然出现警告提示用户一般不会点击进去。


    其他消息接口

    这些接口都未对外开放,看看就行,如果在写教程中途官方开放了,我也会写进。

    1、用户信息接口(未开放)

    公众平台获取关注用户的信息。

    接口请求地址:
    https://api.weixin.qq.com/cgi-bin/user/info

    接口返回信息:

    subscribe:用户是否订阅该公众号标识,值为0时,拉取不到其余信息
    openid:用户的标识,对当前公众号唯一
    nickname:用户的昵称
    sex:用户的性别,值等于1时为男性,值等于2时为女性
    city:用户所在城市
    language:用户的语言,简体中文为zh_CN

    2、媒体文件上传接口(未开放)

    上传图片、语音、视频等文件,获取media_id,media_id可复用。

    接口请求地址:
    http://api.weixin.qq.com/cgi-bin/media/upload

    接口返回信息:

    type:媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)
    media_id:媒体文件上传后获取的唯一标识
    created_at:媒体文件上传时间

    3、媒体文件获取接口(未开放)

    通过media_id获取图片、语音、视频等文件。

    接口请求地址:
    http://api.weixin.qq.com/cgi-bin/media/get

    4、拉取关注接口(未开放)

    拉取公众账户关注用户列表。

    接口请求地址:
    https://api.weixin.qq.com/cgi-bin/user/get

    接口返回信息:

    total:关注该公众账号的总用户数
    count:拉取的OPENID个数,最大值为10000
    data:列表数据,OPENID的列表
    next_openid:下一次拉取的关注用户的偏移值

  • 相关阅读:
    2012年春晚剧本
    研究机器人
    85.圆角边框的两大要素 Walker
    81.边框设置 Walker
    76.背景固定 Walker
    84.边框方向 Walker
    86.圆角边框设置 Walker
    82.边框宽度和边框颜色 Walker
    88.轮廓和样式重置 Walker
    77.背景简写 Walker
  • 原文地址:https://www.cnblogs.com/netRob/p/5110648.html
Copyright © 2020-2023  润新知