《微信公衆平臺入門到精通》Vol.7

logo


第七章 公衆平臺開發模式介紹

從今天開始教程進入高級階段,請你們認真、專心,還有執着,我會很耐心的在後臺回覆每一個人的提問,可是若是真以爲學不下去的能夠考慮用一些現成的第三方平臺,可是確定不如本身開發來的個性化。html

1、開發模式簡介

點擊公衆平臺後臺導航的「高級功能」就能夠進入,該頁面有兩個模式選擇,分別爲「編輯模式」和「開發模式」,以下圖:
img-2web

默認兩個模式都是關閉狀態,兩種模式不能同時開啓,點擊開發模式區域進入開發模式設置頁面,以下圖:
img-3數據庫

模式總開關。只有「成爲開發者」後才能夠開啓,這裏要注意的是因爲編輯模式和開發模式不能同時開啓,使用開發模式前應先關閉編輯模式segmentfault

api接口文檔。點擊後能夠查看目前全部開放的接口使用詳細說明,包括開發用的SDK包。(SDK,Software Development Kit 的縮寫,中文即「軟件開發工具包」。廣義上指輔助開發某一類軟件的相關文檔、範例和工具的集合。)api

成爲開發者。點擊後會出現接口配置頁面,用來綁定本身服務器上的程序接口與微信接口通信,具體的操做將在第九章介紹。服務器


2、api接口文檔簡介

首先來了解下微信開發模式有那些接口,清楚微信接口能作什麼不能作什麼有利於本身的產品設計,能夠考慮本身的產品如何結合如何規劃。微信

因爲微信自己是一個通信工具,它全部的api接口都是基於一問一答的通信機制,所以它的接口文檔分爲消息推送(用戶在公衆平臺上行發送 的消息)和消息回覆(響應用戶上行消息反饋下發回覆的消息),本教程除了目前已經公佈的接口外,還將劇透一部分將要開放的接口,比較特殊的消息下發接口屬於最高級別接口,大部分開發者是拿不到的,因此不介紹了。微信開發

消息推送(即公衆帳號能接收到的用戶消息請求)

一、文本消息ide

此類消息即用戶向公衆帳號輸入文本發送消息,是公衆平臺接收到最多的消息,也是最重要的搜索、互動請求,由於語音識別還不成熟,圖片沒法識別,地理位置用的場景也很少。工具

接口獲取到的消息格式:
img-4

這裏先說下XML數據格式,它不只是一種很是適合web傳輸的格式,還具備強大的數據索引、排序、查找、相關一致性等特色,有些網站甚至拿XML來作數據庫,好比射手網,它結構很是簡單,看起來有點像html,可讀性比較強,微信開發接口的消息傳遞主要在用這個。

有些人會以爲很頭大,其實不理解也不要緊,只要搞清楚它每次傳輸給你的有那些數據,你怎麼獲取這些數據就能夠了。

文本消息的數據字段:

ToUserName:開發者微信號(公衆帳號ID)
FromUserName:發送方賬號(微信用戶的OPENID,每一個微信用戶與每一個公衆帳號是惟一的,不一樣公衆帳號同個用戶OPENID是不一樣的)
CreateTime:消息建立時間
MsgType:消息類型(文本消息爲text)
Content:消息內容
MsgId:消息的ID號

二、圖片消息

用戶使用圖片上傳發送消息,應用場景:帳號註冊、隨手拍活動徵集、現場微信照片牆。

接口獲取到的消息格式:
img-5

圖片消息與文本消息數據不一樣:

MsgType:消息類型爲image
PicUrl:圖片連接,該圖片保存在微信的服務器上,能夠經過遠程抓取圖片程序保存到本地。

三、地理位置消息

微信將LBS看成一個交互信息進行傳遞,比較常見的微信用戶之間發送地理位置告知目的地所在,公衆號裏發送地理位置搜索周邊人、商家、信息等。

接口獲取到的消息格式:
img-6

地理位置消息與文本消息數據不一樣:

MsgType:消息類型爲location
Location_X、Location_Y、Scale:地理位置的經緯度和地圖縮放比例,用於第三方地圖接口的應用,搜索周邊須要用到
Label:地理位置文字信息,如某某城市某某路某某號,若是以城市爲單位查詢直接拿這個就能夠。

四、連接消息

微收藏、印象筆記等用來保存微信裏圖文消息的應用就是使用的這個接口,用戶將連接發送到該公衆帳號,公衆帳號經過連接抓取網頁內容而後收藏保存。

接口獲取到的消息格式:
img-7

連接消息與文本消息數據不一樣:

MsgType:消息類型爲link
Title:消息標題
Description:消息描述
Url:連接地址

五、語音消息(未開放)

這個消息接口並不在公開文檔上,但事實上有很多微信應用已經在使用,好比路況電臺,不全面開放的緣由我我的猜想是由於微信本身的語音識別還不理想,將來確定會開放,想象一下對公衆帳號說句話後臺就能給反饋信息多方便的功能。

接口獲取到的消息格式:
img-8

語音消息與文本消息數據不一樣:

MsgType:消息類型爲voice
MediaId:語音消息媒體id,能夠調用相應接口獲取內容
Format:語音類型,如amr,speex,wav等,目前是使用的speex。

六、視頻消息(未開放)

這個消息接口也不在公開文檔上,結構跟語音消息差很少。

接口獲取到的消息格式:
img-9

視頻消息與文本消息數據不一樣:

MsgType:消息類型爲video
MediaId:視頻消息媒體id,能夠調用相應接口獲取內容
ThumbMediaId:視頻消息縮略圖id,能夠調用相應接口獲取內容

七、事件推送

這個接口很重要,目前只開放了用戶關注、用戶退訂,還有自定義菜單按鈕相應的功能,部分測試的有用戶打開公衆號提醒和自動發送地理位置。也就是用戶不發送任何內容也能夠捕捉用戶行爲作出回覆。

接口獲取到的消息格式:
img-10

事件推送與文本消息數據不一樣:

MsgType:消息類型爲event
Event:事件內容,subscribe(訂閱)、unsubscribe(取消訂閱)、CLICK(自定義菜單點擊事件)
EventKey:當用戶事件爲點擊自定義菜單時,返回事件KEY值,與自定義菜單接口中KEY值對應。

不少人在問如何知道用戶退訂的,其實就是這個消息接口,另外3月26往後將用戶關注消息也從文本消息改成了事件推送。


消息回覆(即公衆帳號在接收到用戶消息後下發回復消息)

消息回覆須要注意的一點是從接收用戶發送的消息,到服務器響應返回消息,有效時間只有5秒鐘,超時的話用戶是沒法接收到回覆消息的。

一、回覆文本消息

文字閱讀要比其餘方式的閱讀成本低,因此能用文本的地方我們就儘可能用文本。

接口下發的消息格式:
img-11

回覆文本消息的數據字段:

ToUserName:發送方賬號(微信用戶的OPENID,每一個微信用戶與每一個公衆帳號是惟一的,不一樣公衆帳號同個用戶OPENID是不一樣的)
FromUserName:開發者微信號(公衆帳號ID)
CreateTime:回覆消息建立時間
MsgType:回覆消息類型(文本消息爲text)
Content:回覆消息內容(長度不超過2048字節)
FuncFlag:設置爲1的時候,自動星標剛纔接收到的消息,適合活動統計使用

二、回覆圖片消息(未開放)

這是個未公開的接口,如今使用開發模式最苦逼的就是無法回覆圖片,還不如編輯模式,啥都能回覆!

接口下發的消息格式:
img-12

與回覆文本消息的數據字段的不一樣:

MsgType:回覆消息類型爲image
MediaId: 圖片的id,須要經過其餘接口上傳圖片得到

上傳圖片限制:1MB,支持JPG格式

三、回覆語音消息(未開放)

這是個未公開的接口,語音消息展示形式跟音樂消息仍是不同的,也不會出現某些安卓版微信沒法播放音樂消息的狀況。

接口下發的消息格式:
img-13

與回覆文本消息的數據字段的不一樣:

MsgType:回覆消息類型爲voice
MediaId: 語音的id,須要經過其餘接口上傳語音得到

上傳語音限制:1MB,播放長度不超過60s,支持AMR格式

四、回覆視頻消息(未開放)

這是個未公開的接口,和圖片消息差很少。

接口下發的消息格式:
img-14

與回覆文本消息的數據字段的不一樣:

MsgType:回覆消息類型爲video
MediaId: 視頻的id,須要經過其餘接口上傳視頻得到
ThumbMediaId:縮略圖的id,經過上傳圖片(80*80)獲得id

視頻限制:10MB,支持MP4格式
縮略圖限制:64KB,支持JPG格式

五、回覆音樂消息

不少人問我爲何能夠播放音樂,沒什麼祕密,就是用這個接口了。

接口下發的消息格式:
img-15

與回覆文本消息的數據字段的不一樣:

MsgType:回覆消息類型爲music
Title: 音樂標題,我常常是放歌名
Description: 音樂描述,我常常是放歌手名字
MusicUrl: 音樂連接,支持MP三、WMV、AAC等在線音樂格式
HQMusicUrl:高質量音樂連接,WIFI環境優先使用該連接播放音樂,能夠和上面的同樣。

六、回覆圖文消息

開發模式裏最喜歡的就是這個了,好比能夠用多圖文消息作個歡迎菜單,能夠作圖文歷史文章查詢。

接口下發的消息格式:
img-16

與回覆文本消息的數據字段的不一樣:

MsgType:回覆消息類型爲news
ArticleCount:圖文消息個數,限制爲10條之內,這個必須準確,有多少條圖文消息就得填寫多少,否則會出錯。
Articles:多條圖文消息信息,默認第一個item爲大圖,每一個item的結構徹底同樣,每一個item表示一條圖文消息。
Title:圖文消息標題
Description:圖文消息描述
PicUrl:圖片連接,支持JPG、PNG格式,較好的效果爲大圖640320,小圖8080。
Url:點擊圖文消息跳轉連接,這個連接能夠是本身網站連接,可是記得申請白名單,否則出現警告提示用戶通常不會點擊進去。


其餘消息接口

這些接口都未對外開放,看看就行,若是在寫教程中途官方開放了,我也會寫進。

一、用戶信息接口(未開放)

公衆平臺獲取關注用戶的信息。

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

接口返回信息:

subscribe:用戶是否訂閱該公衆號標識,值爲0時,拉取不到其他信息
openid:用戶的標識,對當前公衆號惟一
nickname:用戶的暱稱
sex:用戶的性別,值等於1時爲男性,值等於2時爲女性
city:用戶所在城市
language:用戶的語言,簡體中文爲zh_CN

二、媒體文件上傳接口(未開放)

上傳圖片、語音、視頻等文件,獲取media_id,media_id可複用。

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

接口返回信息:

type:媒體文件類型,分別有圖片(image)、語音(voice)、視頻(video)和縮略圖(thumb)
media_id:媒體文件上傳後獲取的惟一標識
created_at:媒體文件上傳時間

三、媒體文件獲取接口(未開放)

經過media_id獲取圖片、語音、視頻等文件。

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

四、拉取關注接口(未開放)

拉取公衆帳戶關注用戶列表。

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

接口返回信息:

total:關注該公衆帳號的總用戶數
count:拉取的OPENID個數,最大值爲10000
data:列表數據,OPENID的列表
next_openid:下一次拉取的關注用戶的偏移值


關於微信開發模式的初步介紹到此爲止,這個文章是開發接口的速查手冊,後面實際教程中會常常用到,請記得用微收藏保存起來!明天先講新浪的雲計算平臺註冊和使用,工欲善其事必先利其器!

相關文章
相關標籤/搜索