您現在的位置是:首頁 > 學無止境 > web前端web前端
微信H5獲取用戶openId的方法和步驟包括靜默和非靜默授權
AndyGuo2020-07-05 14:07:51【web前端】2578人已圍觀
簡介微信H5獲取用戶信息(頭像,昵稱,地區)這是我們在做微信端H5時經常要用到的功能,本文小郭將給大家談是如何實現的以及實現的方法和步驟,...
微信H5獲取用戶信息(頭像,昵稱,地區)這是我們在做微信端H5時經常要用到的功能,本文小郭將給大家談是如何實現的以及實現的方法和步驟,如有不明白的地方可以直接聯系小郭哈。
首先我們了解一下一些常用述語。
一、openId是什么?
openId是用戶在當前公眾號下的唯一標識(‘身份證'),就是說通過這個openId,就能區分在這個公眾號下具體是哪個用戶。
二、openId有什么用?
假如用戶A在當前公眾號下購買了一件商品,用戶的下單信息肯定要存儲到后臺數據庫,那根據什么進行存儲呢?openId是用戶在當前公眾號下的唯一標識,通過openId和用戶的下單購買信息進行鍵值對的數據綁定。那么我要查詢該用戶購買過什么商品,就能夠通過openId去查詢,并且數據是唯一的,不會和另外的用戶數據有沖突。
拓展:UnionID:一個商家或公司可能會有多個公眾號,假如用戶A同時都關注了這個公司下面的三個公眾號,那么這個用戶就會有三個openId(一個公眾號就對應一個openID)。如果作為開發者的我們,要對這個用戶在這三個公眾號下消費的數據進行匯總,我怎么獲取到這三份數據(同一用戶的)?答案是 UnionId,微信開發者文檔:如果開發者擁有多個移動應用、網站應用和公眾帳號,可通過獲取用戶基本信息中的unionid來區分用戶的唯一性,因為同一用戶,對同一個微信開放平臺下的不同應用(移動應用、網站應用和公眾帳號),unionid是相同的。就是說如果要獲取用戶在同一公司不同公眾號下的數據,后臺表結構不但要關聯openId,還要關聯UnionId。
三、怎么獲取openId?
(一)登錄微信公眾平臺后臺獲取公眾號的AppId,設置回調地址。
回調地址設置頁面向導:開發>接口權限>網頁服務>網頁授權>修改。開發的項目需要放到已經解析好服務器域名的服務器下,同時把Mp***.text文件放到服務器根目錄下,此時你的服務器必須能聯通外網也就是有公網IP,并且80端口是打開的,可以使用阿里云等服務器,默認配置就可以了。
(二)根據開發需要,靜默授權還是非靜默授權
① 靜默授權:snsapi_base,沒有彈窗,只能獲取用戶的openId。
②非靜默授權:snsapi_userinfo,有彈框彈出需要用戶手動點擊確認授權??梢垣@取openId,用戶的頭像、昵稱等
(三)前端代碼,配置的參數要一一對應,獲取code,并調用后臺接口,把code傳給后臺
redirect_uri,這個的意思是:授權完成后再重新回到當前頁面(又刷新了一次頁面)
getUrlParam的方法,可以百度下,就是獲取頁面路徑的某個字段所對應的參數。
如果配置參數一一對應,那么此時已經通過回調地址刷新頁面后,你就會看到在地址欄中的code了。
(四)前端截取地址欄中的code后通過調接口把code傳給后臺,后臺通過code獲取openId和用戶頭像昵稱等信息并返回給前端
為什么,前端不能一起把獲取code和獲取openId的操作一并做了,還要請求后臺,讓后臺獲取openId?
(五)后臺通過 code、AppSecret(公眾號平臺后臺取得)請求微信鏈接獲取openId
前端具體代碼如下,可復制(記得把文中的 window.APPID改為自己公眾號的APPID)
(六)通過openId做用戶的數據綁定或查詢等操作
前后端都獲取了openId后,就能通過openId做用戶數據的綁定和查詢了。
(七)補充說明
使用上述方法進行的微信授權,在手機端會有兩次空白頁跳轉,時間雖然很短暫,但有些產品經理會覺得這種體驗不好(實在很欠揍)。解決方法是:可以把跳轉到微信獲取code的這段鏈接拼接好直接復制到 微信公眾平臺 后臺管理系統菜單列表里面。這樣點擊菜單,在回調頁通過截取url中的code,就能直接獲取到code了,就避免了多次跳轉的情況。
(八)解決微信授權成功進入項目后,點擊手機物理返回鍵或返回會出現空白頁或者報錯的情況,空白頁是因為授權頁就是空白頁。解決微信授權成功后點擊按返回鍵出現空白頁和報錯的問題,可以查看另一篇文章。

- 版權申明:此文如未標注轉載均為本站原創,自由轉載請表明出處《小郭博客》。
- 本文網址:http://www.guestpostingtalk.com/html/web2/96.html
- 上篇文章:js判斷一個元素是否在數組中
- 下篇文章:CSS使用calc()獲取當前可視屏幕高度的方法
最新發表
標簽云 更多
-
短視頻(1)
楊倩(1)
提拉米蘇(1)
大家財險機動車輛保險(1)
王一博(1)
肖戰(1)
蘇炳添(1)
劉德華(1)
小鵬汽車(1)
高考(3)
阿里云(1)
HR(1)
鄧倫(1)
李莎(1)
杜淳(2)
PHP教程(7)
陳好(1)
playhouse(1)
fopen(1)
山村瘋狂(1)
第二書包(0)
69樂園(1)
牡丹江民心網(1)
授課到天亮(1)
天天綜合(2)
好人島(1)
符印巨樹(1)
男子漢圖庫(1)
采花小綿羊(1)
渦卷花束(1)
一方嘉通(1)
李心草(2)
半藏森林不帶套(2)
王鎂幼(2)
嫦娥五號(3)
周冬雨(1)
黃曉明(1)
金雞獎獲獎名單(3)
網頁計數器(2)
成都大學(1)
中科創星(1)
馬拉多納(4)
世界互聯網大會(2)
porndao(1)
web前端(6)
網站優化(6)
cookie(2)
session(2)
301重定向(1)
headerlocation(1)
百度站內搜索(1)
愛奇藝(2)
愛奇藝彈幕開關不見了(1)
制作網頁教程(4)
劉詩昆(1)
react(1)
linear-gradient(1)
旅游網站建設方案(1)
我愛自學網(2)
諾貝爾(1)
筆記(1)
居里夫人(1)
郭德綱(1)
楊紫(2)
螞蟻金服上市時間(3)
愛琴海(1)
李連杰(1)
陳佩斯(1)
梁靜茹(2)
個人網站模板(0)
個人網站制作(3)
個人網站(3)
網頁制作(10)
帝國CMS(6)
百度地圖API(2)
偽靜態(2)
jizhicms(6)
1024(3)
去除bom(1)
Git(2)
中國人民志愿軍(2)
麒麟9000(2)
Mate40(2)
新冠病毒(15)
摩天輪(1)
布達佩斯(1)
div居中(2)
新冠疫苗最新消息(12)
新冠疫苗(6)
昆侖飯店(2)
趙麗穎(6)
正面照(2)
石原里美(2)
店員(1)
理發(2)
十幾萬(1)
伊能靜(1)
京東(4)
sublimeText(1)
dreamweaver(1)