目錄 php
1 概念 2html
2 主要提供服務 2api
2.2 公衆號內網頁 2服務器
4 測試號 6網絡
4.1 測試號管理界面 6微信公衆平臺
6.3 上傳多張照片時,IOS系統沒法正常上傳,一直顯示加載狀態。 22
在開始以前,咱們須要認識如下幾個概念:
公衆號是以微信用戶的一個聯繫人形式存在的,消息會話是公衆號與用戶交互的基礎。目前公衆號內主要有這樣幾類消息服務的類型,分別用於不一樣的場景。
注意:服務號每個月4次指的是每一個用戶4次,舉個例子,每月公衆號能夠向用戶甲單獨推送4條信息,同時也能夠向乙推送4條信息。
注意:若是被動回覆消息時,處理業務時長超過5秒,建議先回復微信服務器響應成功,而後經過客服消息接口或者模板消息接口進行回覆。
許多複雜的業務場景,須要經過網頁形式來提供服務,這時須要用到:
1)網頁受權獲取用戶基本信息:經過該接口,能夠獲取用戶的基本信息(獲取用戶的OpenID是無需用戶贊成的,獲取用戶的基本信息則需用戶贊成)
2)微信JS-SDK:是開發者在網頁上經過JavaScript代碼使用微信原生功能的工具包,開發者可使用它在網頁上錄製和播放微信語音、監聽微信分享、上傳手機本地圖片、拍照等許多能力。
在進行微信網頁開發以前,咱們須要對公衆號類型有必定的瞭解。以下圖所示:
服務號、訂閱號、企業號的介紹(區別)
注意:訂閱號沒法獲取到OPENID等信息。能夠考慮被動回覆獲取OPENID組織Url給用戶。
接口權限列表:
接口名稱 |
未認證訂閱號 |
微信認證訂閱號 |
未認證服務號 |
微信認證服務號 |
基礎支持-獲取access_token |
有 |
有 |
有 |
有 |
基礎支持-獲取微信服務器IP地址 |
有 |
有 |
有 |
有 |
接收消息-驗證消息真實性、接收普通消息、接收事件推送、接收語音識別結果 |
有 |
有 |
有 |
有 |
發送消息-被動回覆消息 |
有 |
有 |
有 |
有 |
發送消息-客服接口 |
有 |
有 |
||
發送消息-羣發接口 |
有 |
有 |
||
發送消息-模板消息接口(發送業務通知) |
有 |
|||
用戶管理-用戶分組管理 |
有 |
有 |
||
用戶管理-設置用戶備註名 |
有 |
有 |
||
用戶管理-獲取用戶基本信息 |
有 |
有 |
||
用戶管理-獲取用戶列表 |
有 |
有 |
||
用戶管理-獲取用戶地理位置 |
有 |
|||
用戶管理-網頁受權獲取用戶openid/用戶基本信息 |
有 |
|||
推廣支持-生成帶參數二維碼 |
有 |
|||
推廣支持-長連接轉短連接口 |
有 |
|||
界面豐富-自定義菜單 |
有 |
有 |
有 |
|
素材管理-素材管理接口 |
有 |
有 |
||
智能接口-語義理解接口 |
有 |
|||
多客服-獲取多客服消息記錄、客服管理 |
有 |
|||
微信支付接口 |
需申請 |
|||
微信小店接口 |
需申請 |
|||
微信卡券接口 |
需申請 |
需申請 |
||
微信設備功能接口 |
需申請 |
|||
微信JS-SDK-基礎接口 |
有 |
有 |
有 |
有 |
微信JS-SDK-分享接口 |
有 |
有 |
||
微信JS-SDK-圖像接口 |
有 |
有 |
有 |
有 |
微信JS-SDK-音頻接口 |
有 |
有 |
有 |
有 |
微信JS-SDK-智能接口(網頁語音識別) |
有 |
有 |
有 |
有 |
微信JS-SDK-設備信息 |
有 |
有 |
有 |
有 |
微信JS-SDK-地理位置 |
有 |
有 |
有 |
有 |
微信JS-SDK-界面操做 |
有 |
有 |
有 |
有 |
微信JS-SDK-微信掃一掃 |
有 |
有 |
有 |
有 |
微信JS-SDK-微信小店 |
有 |
|||
微信JS-SDK-微信卡券 |
有 |
有 |
||
微信JS-SDK-微信支付 |
有 |
幾種公衆號具體的權限說明請查看:http://mp.weixin.qq.com/wiki/13/8d4957b72037e3308a0ca1b21f25ae8d.html
通常狀況下,咱們使用認證服務號爲企業提供服務。
除了訂閱號、服務號、企業號能夠用於開發以外,咱們還可使用測試號進行開發和測試。測試號申請地址以下:http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index
類目 |
功能 |
接口 |
每日調用上限/次 |
操做 |
對話服務 |
基礎支持 |
2000 |
|
|
無上限 |
|
|||
接收消息 |
無上限 |
|
||
無上限 |
|
|||
無上限 |
|
|||
無上限 |
||||
發送消息 |
無上限 |
|
||
500000 |
|
|||
詳情 |
|
|||
100000 |
|
|||
用戶管理 |
詳情 |
|
||
10000 |
|
|||
500000 |
|
|||
500 |
|
|||
無上限 |
||||
推廣支持 |
100000 |
|
||
1000 |
|
|||
界面豐富 |
詳情 |
|
||
素材管理 |
詳情 |
|
||
功能服務 |
智能接口 |
1000 |
||
設備功能 |
無上限 |
|||
多客服 |
5000 |
|||
詳情 |
||||
詳情 |
||||
網頁服務 |
網頁賬號 |
無上限 |
||
基礎接口 |
無上限 |
|||
分享接口 |
無上限 |
|||
無上限 |
||||
無上限 |
||||
無上限 |
||||
圖像接口 |
無上限 |
|||
無上限 |
||||
無上限 |
||||
無上限 |
||||
音頻接口 |
無上限 |
|||
無上限 |
||||
無上限 |
||||
無上限 |
||||
無上限 |
||||
無上限 |
||||
無上限 |
||||
智能接口 |
無上限 |
|||
設備信息 |
無上限 |
|||
地理位置 |
無上限 |
|||
無上限 |
||||
界面操做 |
無上限 |
|||
無上限 |
||||
無上限 |
||||
無上限 |
||||
無上限 |
||||
無上限 |
||||
無上限 |
測試號基本上能知足平常的開發使用,不過請注意相關接口每日調用上限。
在進入開發以前,咱們須要對公衆號進行一些配置,不然會出現一些莫名其妙的錯誤,浪費咱們大量的時間和精力。下面先以認證服務號爲例,咱們先須要注意配置如下內容:
默認的狀況下,申請完認證服務號,微信並無默認開通全部的功能。所以你們須要將本身須要用到的功能添加進來。以下圖所示:
申請完公衆號後,建議優先設置頭像、微信號、介紹等內容:
此處很容易被忽略,設置入口以下所示:
如上圖所示,如下兩點要特別注意。
業務域名:設置業務域名後,在微信內訪問該域名下頁面時,不會被從新排版。
JS接口安全域名:設置JS接口安全域名後,公衆號開發者可在該域名下調用微信開放的JS接口。好比選擇相冊、上傳照片、錄音以及上傳錄音等等。
若是使用認證服務號而且須要使用到JSSDK,請注意配置JS接口安全域名,並域名必須是已備案的一級域名。若是是配置測試號,則可使用未備案的域名以及二級域名。
JS接口安全域名配置界面以下所示:
APPId和AppSecret:用於生成AccessToken。
服務器配置:用於接收微信服務器事件請求,好比關注事件、取消關注事件、關鍵字、菜單點擊等等。配置以下圖所示,服務器地址對是否須要域名備案沒有要求:
設置OAUTH2.0網頁受權域名:若是須要使用OAUTH接口獲取到微信粉絲信息,就必須設置此處域名。設置步驟以下所示:
注意:若是在微信網頁想獲取到當前粉絲信息(包括OPENID),請使用OAuth網頁受權接口而且設置【受權回調頁面域名】。使用框架中的WeChatOAuth也須要配置【受權回調頁面域名】。
測試號配置相對簡單明瞭,咱們先來看看界面:
如上所示,接口配置信息用於配置服務器事件地址和Token,以接收服務器事件消息。JS接口安全域名配置同認證服務號。
一樣的,測試號也有接口權限列表:
注意,別忘了配置【網頁受權域名】。以下所示:
這裏順便說下測試號的申請。申請地址以下:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
只要用微信掃一掃,你就能夠擁有本身的測試號了。
測試號是開發人員用於開發測試的不二選擇,申請測試號也是比較簡單方便。不過在使用過程當中,請注意測試號的接口權限以及調用次數。值得注意的是,測試號的模板消息是自行隨意編輯的,而不是從模板庫選擇,建議你們從模板庫中複製模板內容,而後根據模板庫編號(非模板消息編號)進行模板消息推送。
配置好以上內容以後,咱們就能夠着手微信網頁開發了。
答:這是在使用網頁受權獲取用戶基本信息接口是所拋出的錯誤。在懷疑參數排序或者處理以前,請確認已經設置【受權回調頁面域名】。若是您使用了WeChatOAuth篩選器來獲取用戶信息,那麼生成連接的錯誤性基本上沒有。
答:在確認配置以及寫法是否正確以前,請確認已經配置【JS接口安全域名】。若是您使用了框架的封裝來配置JSSDK,那麼配置錯誤的可能性基本沒有。
答:JSSDK上傳接口Bug,框架中的JSSDK封裝默認修復了此問題,處理方式見博客:http://www.cnblogs.com/codelove/p/5247090.html
答:確保公衆號已經認證,而且jsApiList參數中包括相關api的權限。框架默認配置中包含了全部的權限。
答:使用JSSDK上傳後,素材將會上傳到臨時素材之中,請使用相關接口下載到服務器。