認識微信公衆號

 

 

 

目錄 php

1    概念    2html

2    主要提供服務    2api

2.1    公衆號消息會話    2安全

2.2    公衆號內網頁    2服務器

3    公衆號類型    3微信

4    測試號    6網絡

4.1    測試號管理界面    6微信公衆平臺

4.2    測試號權限列表    6框架

5    公衆號相關配置    10工具

5.1    認證服務號    10

5.1.1    確認已添加相關功能插件    10

5.1.2    若是須要用到微信支付,請額外申請。    11

5.1.3    公衆號設置。    11

5.1.4    公衆號功能設置。    12

5.1.5    開發配置    14

5.2    測試號配置    16

6    常見問題    21

6.1    redirect-uri參數錯誤。以下圖所示    21

6.2    JSSDK錯誤    22

6.3    上傳多張照片時,IOS系統沒法正常上傳,一直顯示加載狀態。    22

6.4    permission denied    22

6.5    上傳完成後,沒有看到上傳的素材    22

 

  1. 概念

在開始以前,咱們須要認識如下幾個概念:

  • 微信公衆平臺是運營者經過公衆號爲微信用戶提供資訊和服務的平臺。
  • 微信公衆號是開發者或商家在微信公衆平臺上申請的應用帳號。
  • 公衆平臺開發接口則是提供服務的基礎,開發者在公衆平臺網站中建立公衆號、獲取接口權限後,能夠經過使用公衆平臺開發接口進行業務開發,爲移動應用、PC端網站、公衆號第三方平臺(爲各行各業公衆號運營者提供服務)的開發。
  1. 主要提供服務

    1. 公衆號消息會話

公衆號是以微信用戶的一個聯繫人形式存在的,消息會話是公衆號與用戶交互的基礎。目前公衆號內主要有這樣幾類消息服務的類型,分別用於不一樣的場景。

  1. 羣發消息:公衆號能夠以必定頻次(訂閱號爲天天1次,服務號爲每個月4次),向用戶羣發消息,包括文字消息、圖文消息、圖片、視頻、語音等。

    注意:服務號每個月4次指的是每一個用戶4次,舉個例子,每月公衆號能夠向用戶甲單獨推送4條信息,同時也能夠向乙推送4條信息。

  2. 被動回覆消息:在用戶給公衆號發消息後,微信服務器會將消息發到開發者預先在開發者中心設置的服務器地址(開發者須要進行消息真實性驗證),公衆號應該在 5秒內作出回覆,能夠回覆一個消息,也能夠回覆命令告訴微信服務器這條消息暫不回覆。被動回覆消息能夠設置加密(在公衆平臺官網的開發者中心處設置,設置後,按照消息加解密文檔來進行處理。其餘3種消息的調用由於是API調用而不是對請求的返回,因此不須要加解密)。

    注意:若是被動回覆消息時,處理業務時長超過5秒,建議先回復微信服務器響應成功,而後經過客服消息接口或者模板消息接口進行回覆。

  3. 客服消息:在用戶給公衆號發消息後的48小時內,公衆號能夠給用戶發送不限數量的消息,主要用於客服場景。用戶的行爲會觸發事件推送,某些事件推送是支持公衆號據此發送客服消息的,詳見微信推送消息與事件說明文檔。
  4. 模板消息:在須要對用戶發送服務通知(如刷卡提醒、服務預定成功通知等)時,公衆號能夠用特定內容模板,主動向用戶發送消息。
    1. 公衆號內網頁

許多複雜的業務場景,須要經過網頁形式來提供服務,這時須要用到:

1)網頁受權獲取用戶基本信息:經過該接口,能夠獲取用戶的基本信息(獲取用戶的OpenID是無需用戶贊成的,獲取用戶的基本信息則需用戶贊成)

2)微信JS-SDK:是開發者在網頁上經過JavaScript代碼使用微信原生功能的工具包,開發者可使用它在網頁上錄製和播放微信語音、監聽微信分享、上傳手機本地圖片、拍照等許多能力。

 

  1. 公衆號類型

在進行微信網頁開發以前,咱們須要對公衆號類型有必定的瞭解。以下圖所示:

服務號、訂閱號、企業號的介紹(區別) 

  • 訂閱號:爲媒體和我的提供一種新的信息傳播方式,構建與讀者之間更好的溝通與管理模式。主要偏於爲用戶傳達資訊(相似報紙雜誌),認證先後都是天天只能夠羣發一條消息;

    注意:訂閱號沒法獲取到OPENID等信息。能夠考慮被動回覆獲取OPENID組織Url給用戶。

  • 服務號:給企業和組織提供更強大的業務服務與用戶管理能力,幫助企業快速實現全新的公衆號服務平臺。主要偏於服務交互(相似銀行,114,提供服務查詢),認證先後都是每月可羣發4條消息;
  • 企業號:爲企業或組織提供移動應用入口,幫助企業創建與員工、上下游供應鏈及企業應用間的鏈接。主要用於公司內部通信使用,須要先有成員的通信信息驗證才能夠關注成功企業號;

 

接口權限列表:

接口名稱

未認證訂閱號

微信認證訂閱號

未認證服務號

微信認證服務號

基礎支持-獲取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

 

通常狀況下,咱們使用認證服務號爲企業提供服務。

  1. 測試號

除了訂閱號、服務號、企業號能夠用於開發以外,咱們還可使用測試號進行開發和測試。測試號申請地址以下:http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index

  1. 測試號管理界面

  1. 測試號權限列表

類目

功能

接口

每日調用上限/次

操做

對話服務

基礎支持

獲取access_token

2000 

  

獲取微信服務器IP地址

無上限

  

接收消息

驗證消息真實性

無上限

  

接收普通消息

無上限

  

接收事件推送

無上限

  

接收語音識別結果

無上限

關閉

發送消息

自動回覆

無上限

  

客服接口

500000 

  

羣發接口

詳情

  

模板消息(業務通知)

100000 

  

用戶管理

用戶分組管理

詳情

  

設置用戶備註名

10000 

  

獲取用戶基本信息

500000 

  

獲取用戶列表

500 

  

獲取用戶地理位置

無上限

關閉

推廣支持

生成帶參數二維碼

100000 

  

長連接轉短連接接口

1000 

  

界面豐富

自定義菜單

詳情

  

素材管理

素材管理接口

詳情

  

功能服務

智能接口

語義理解接口

1000 

 

設備功能

設備功能接口

無上限

開啓

多客服

獲取客服聊天記錄

5000 

 

客服管理

詳情

 

會話控制

詳情

 

網頁服務

網頁賬號

網頁受權獲取用戶基本信息

無上限

修改

基礎接口

判斷當前客戶端版本是否支持指定JS接口

無上限

 

分享接口

獲取"分享到朋友圈"按鈕點擊狀態及自定義分享內容接口

無上限

 

獲取"分享給朋友"按鈕點擊狀態及自定義分享內容接口

無上限

 

獲取"分享到QQ"按鈕點擊狀態及自定義分享內容接口

無上限

 

獲取"分享到騰訊微博"按鈕點擊狀態及自定義分享內容接口

無上限

 

圖像接口

拍照或從手機相冊中選圖接口

無上限

 

預覽圖片接口

無上限

 

上傳圖片接口

無上限

 

下載圖片接口

無上限

 

音頻接口

開始錄音接口

無上限

 

中止錄音接口

無上限

 

播放語音接口

無上限

 

暫停播放接口

無上限

 

中止播放接口

無上限

 

上傳語音接口

無上限

 

下載語音接口

無上限

 

智能接口

識別音頻並返回識別結果接口

無上限

 

設備信息

獲取網絡狀態接口

無上限

 

地理位置

使用微信內置地圖查看位置接口

無上限

 

獲取地理位置接口

無上限

 

界面操做

隱藏右上角菜單接口

無上限

 

顯示右上角菜單接口

無上限

 

關閉當前網頁窗口接口

無上限

 

批量隱藏功能按鈕接口

無上限

 

批量顯示功能按鈕接口

無上限

 

隱藏全部非基礎按鈕接口

無上限

 

顯示全部功能按鈕接口

無上限

 

 

測試號基本上能知足平常的開發使用,不過請注意相關接口每日調用上限。

  1. 公衆號相關配置

在進入開發以前,咱們須要對公衆號進行一些配置,不然會出現一些莫名其妙的錯誤,浪費咱們大量的時間和精力。下面先以認證服務號爲例,咱們先須要注意配置如下內容:

  1. 認證服務號

    1. 確認已添加相關功能插件

默認的狀況下,申請完認證服務號,微信並無默認開通全部的功能。所以你們須要將本身須要用到的功能添加進來。以下圖所示:

  1. 若是須要用到微信支付,請額外申請。

  2. 公衆號設置。

申請完公衆號後,建議優先設置頭像、微信號、介紹等內容:

  1. 公衆號功能設置。

此處很容易被忽略,設置入口以下所示:

如上圖所示,如下兩點要特別注意。

業務域名:設置業務域名後,在微信內訪問該域名下頁面時,不會被從新排版。

JS接口安全域名:設置JS接口安全域名後,公衆號開發者可在該域名下調用微信開放的JS接口。好比選擇相冊、上傳照片、錄音以及上傳錄音等等。

若是使用認證服務號而且須要使用到JSSDK,請注意配置JS接口安全域名,並域名必須是已備案的一級域名。若是是配置測試號,則可使用未備案的域名以及二級域名。

JS接口安全域名配置界面以下所示:

  1. 開發配置

APPId和AppSecret:用於生成AccessToken。

服務器配置:用於接收微信服務器事件請求,好比關注事件、取消關注事件、關鍵字、菜單點擊等等。配置以下圖所示,服務器地址對是否須要域名備案沒有要求:

設置OAUTH2.0網頁受權域名:若是須要使用OAUTH接口獲取到微信粉絲信息,就必須設置此處域名。設置步驟以下所示:

注意:若是在微信網頁想獲取到當前粉絲信息(包括OPENID),請使用OAuth網頁受權接口而且設置【受權回調頁面域名】。使用框架中的WeChatOAuth也須要配置【受權回調頁面域名】。

  1. 測試號配置

測試號配置相對簡單明瞭,咱們先來看看界面:

如上所示,接口配置信息用於配置服務器事件地址和Token,以接收服務器事件消息。JS接口安全域名配置同認證服務號。

一樣的,測試號也有接口權限列表:

注意,別忘了配置【網頁受權域名】。以下所示:

這裏順便說下測試號的申請。申請地址以下:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

只要用微信掃一掃,你就能夠擁有本身的測試號了。

測試號是開發人員用於開發測試的不二選擇,申請測試號也是比較簡單方便。不過在使用過程當中,請注意測試號的接口權限以及調用次數。值得注意的是,測試號的模板消息是自行隨意編輯的,而不是從模板庫選擇,建議你們從模板庫中複製模板內容,而後根據模板庫編號(非模板消息編號)進行模板消息推送。

 

配置好以上內容以後,咱們就能夠着手微信網頁開發了。

  1. 常見問題

    1. redirect-uri參數錯誤。以下圖所示

答:這是在使用網頁受權獲取用戶基本信息接口是所拋出的錯誤。在懷疑參數排序或者處理以前,請確認已經設置【受權回調頁面域名】。若是您使用了WeChatOAuth篩選器來獲取用戶信息,那麼生成連接的錯誤性基本上沒有。

 

  1. JSSDK錯誤

答:在確認配置以及寫法是否正確以前,請確認已經配置【JS接口安全域名】。若是您使用了框架的封裝來配置JSSDK,那麼配置錯誤的可能性基本沒有。

 

  1. 上傳多張照片時,IOS系統沒法正常上傳,一直顯示加載狀態。

答:JSSDK上傳接口Bug,框架中的JSSDK封裝默認修復了此問題,處理方式見博客:http://www.cnblogs.com/codelove/p/5247090.html

 

  1. permission denied

答:確保公衆號已經認證,而且jsApiList參數中包括相關api的權限。框架默認配置中包含了全部的權限。

 

  1. 上傳完成後,沒有看到上傳的素材

答:使用JSSDK上傳後,素材將會上傳到臨時素材之中,請使用相關接口下載到服務器。

相關文章
相關標籤/搜索