收集整理的方法如下:
微信用戶訪問微信公眾號(訂閱號)的網頁時判斷用戶有沒有關注公眾號(訂閱號)
1、前提:
微信公眾號分為服務號和訂閱號,它們的接口權限各不相同;服務號可以通過網頁授權接口,用戶授權后獲取用戶的openid,通過用戶的openid獲取用戶的信息,用戶的信息里包含用戶對公眾號的關注字段。但是,訂閱號沒有相應的網頁授權接口權限,無法從通過相應的接口來獲取openid(注意:可通過微信用戶和公眾號之間的交互事件獲取openid)。
2、解決方法(借助微信開放平台):
將訂閱號和服務號(具有網頁授權接口權限)綁定到同一微信開放平台下(同一用戶通過不同openid獲取統一的unionid)
獲取訂閱號所有已關注用戶的openid,通過openid獲取他們unionid,保存到數據庫
通過服務號授權后獲取用戶的服務號的openid,再獲取unionid,查詢數據庫判斷unionid是否已經存在,存在則已關注訂閱號,反之沒關注
此外,需要監聽微信用戶對訂閱號的關注、取消關注事件,相應的增加和刪除數據庫中的openid和unionid
---------------------
作者:過氣的小子
來源:CSDN
原文:https://blog.csdn.net/qq_29869663/article/details/82800214
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
已知Unionid,如何獲取用戶對於另一訂閱號的openid?如何判斷是否關注訂閱號?
1.通過服務號A的微信網頁授權
,以scope為snsapi_userinfo的模式,獲得了用戶基於服務號A的openid(A),unionid,以及其他包含用戶信息的數據。
https://mp.weixin.qq.com/wiki...
2.現在希望在網頁上,判斷用戶是否已經關注訂閱號B
3.通過訂閱號B的獲取用戶基本信息(UnionID機制)
,返回的json包中有一個參數subscribe
,是用戶是否訂閱該公眾號標識,值為0時,代表此用戶沒有關注該公眾號,拉取不到其余信息。
https://mp.weixin.qq.com/wiki...
4.請求訂閱號B的獲取用戶基本信息(UnionID機制)
的json包,需要兩個參數。
參數 | 是否必須 | 說明 |
---|---|---|
access_token | 是 | (基礎access_token,並非網頁授權access_token) |
openid | 是 | 普通用戶的標識,對當前公眾號唯一 |
5.訂閱號沒有權限通過網頁授權的方式獲得openid(https://mp.weixin.qq.com/wiki...)
。但是文檔 在獲取用戶基本信息(UnionID機制)
中提到
在關注者與公眾號產生消息交互后,公眾號可獲得關注者的OpenID
但是在網頁上,是未知用戶是否已關注的,那么要如何獲得用戶基於訂閱號B的 openid ?如何去判斷用戶是否已經關注訂閱號B?
https://segmentfault.com/q/1010000012008711
知乎:
如何實時判斷用戶是否關注訂閱號?
作者:juson
鏈接:https://www.zhihu.com/question/27080937/answer/102588734
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。