网页中获取微信用户是否关注订阅号的思路
網頁中要獲取微信用戶是否關注訂閱號,請保證在同一個微信開放平臺帳號下有一個服務號,否則可能很難實現。
在平時的業務工程中我們需要了解用戶是否關注了微信公眾號才能繼續往下操作。這種操作對服務號來說是很容易的,具體可以參考微信開發文檔>微信網頁開發>網頁授權
但是訂閱號是沒有這個功能的,也就是無法通過這個機制知道微信用戶是否關注,本文就是要解決這個問題。
在微信開發文檔>用戶管理>獲取用戶基本信息(UnionID機制)>UnionID機制說明中有提到:
開發者可通過OpenID來獲取用戶基本信息。特別需要注意的是,如果開發者擁有多個移動應用、網站應用和公眾帳號,可通過獲取用戶基本信息中的unionid來區分用戶的唯一性,因為只要是同一個微信開放平臺帳號下的移動應用、網站應用和公眾帳號,用戶的unionid是唯一的。換句話說,同一用戶,對同一個微信開放平臺下的不同應用,unionid是相同的。
首先我們要知道的是openID結合access_token是可以轉換為unionid。所以根據如上的描述,或許可以啟發我們利用同一個微信開放平臺帳號下的服務號來輔助我們完成判斷用戶是否關注訂閱號的業務邏輯。具體做法如下:
1.保證數據庫中實時保存所有訂閱號已關注用戶的unionid,要完成這一點,你需要做到兩點:初始化時在數據庫中插入所有已關注用戶的unionid,每當有用戶關注的時候將其unionid插入數據庫;這兩點并不難做到;前一點,關于獲取所有已關注用戶的unionid,你可以參考我的這一篇文章:批量獲取微信公眾號用戶openID及用戶信息
2.通過上面網頁授權中提到的code機制,我們可以利用同一個微信開放平臺帳號下的服務號去獲取當前微信用戶的unionid,將其與數據庫中的進行比對即可得出當前用戶是否關注了訂閱號。
總結
以上是生活随笔為你收集整理的网页中获取微信用户是否关注订阅号的思路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在IDEA中为项目引入maven中央仓库
- 下一篇: CoordinatorLayout中Ap