微信公衆號開發(二)用戶關注

微信公衆號開發之用戶關注
 
前面講了基本配置,若是配置成功,那麼如今就進入咱們的微信公衆號開發之旅吧!
 
這個旅程應該從哪裏開始比較好呢?想一想....首先說用戶關注吧 !畢竟這是入口。
 
用戶關注公衆號能夠經過三種方式:
1.掃公衆號的二維碼
2.搜索公衆號的名稱
3.掃帶參數的二維碼, 可是第一個用戶只能經過前面兩種方式關注
 
1、掃公衆號的二維碼
用戶掃了二維碼以後,點擊關注,微信服務器會向咱們的服務器發送一串數據(對象形式):
reqMap:{
FromUserName:xx,
EventKey:xx,
Event:xx,
CreateTime:xx,
Encrypt:xx,
ToUserName:xx,
MsgType:xx,
}
會有人問,這個對象在哪裏獲取的?裏面的數據又是什麼呢?
 
前面一講有提到基本配置,那裏填寫了一個url(controller的方法的路徑),這個路徑對應得方法就是用於接收微信服務器給咱們服務器發送的數據,
微信會給我發請求經過兩種方式(get & post),get請求用於驗證url的真實性,post請求用於返回數據,
上一節的代碼已經寫得很清楚在哪裏能夠獲取到這個對象數據,不清楚的朋友能夠去看一下。
 
這裏解釋一下這個對象裏的我知道的數據的含義:
FromUserName:掃碼的用戶的微信openId(微信對每一個用戶的惟一識別碼)
ToUserName :告訴服務器來自於哪個微信公衆號(基本不會用)
CreateTime:掃碼時間(一個時間戳Long型)
MsgType:當前操做的類型(事件、消息),事件是event,消息有不少種:text、image、video等,用戶關注是屬於event類。
 
這裏須要用到的數據其實只有FromUserName而已,知道是哪一個用戶在關注就好了,若是須要獲得這個用戶的基本信息(頭像,暱稱,性別,地址等),
根據微信公衆號提供的開發文檔去獲取就好,只要能拿到用戶的微信openId,那麼一切就簡單了。
 
2、搜索公衆號的名稱
和第一種狀況是同樣的,沒什麼須要說明的。
 
3、掃其餘用戶的二維碼
這個和前面兩種的不同就是微信給咱們提供了一個字段,用來判斷用戶再掃一個帶什麼參數的二維碼,請看下面的對象:
reqMap:{
Ticket:xx
FromUserName:xx,
EventKey:xx,
Event:xx,
CreateTime:xx,
Encrypt:xx,
ToUserName:xx,
MsgType:xx,
}
你會發現和上面的對象惟一的區別即便多了一個Ticket這個字段, 這個字段和二維碼的參數是一一對應的,知道這個就能夠知道這個二維碼的參數了,
通常這個能夠用於用戶的海報。
至於,這個參數與Ticket之間怎樣去對應,以及如何去生成一個帶參數的二維碼,請看下一節。
相關文章
相關標籤/搜索