您好,登錄后才能下訂單哦!
這篇文章主要介紹了小程序獲取用戶openid的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
方法一:
先獲取用戶信息(wx.getUserInfo),然后將返回的用戶信息中包含openid的敏感信息解密得到用戶的openid一種是先獲取用戶信息,然后將返回的用戶信息中包含openid的敏感信息解密得到用戶的openid,這種方法獲取用戶openid比較麻煩,還涉及到數據解密,而且如果用戶拒絕授權,則獲取不到。這里不細說此方法,詳見文檔。
方法二:
先登錄(wx.login)獲取用戶登錄憑證(code),然后拿這個code當參數調用接口,通過后端獲取到用戶的openid。
小程序端代碼如下:
//app.js App({ onLaunch: function() { wx.login({ success: function(res) { if (res.code) { //發起網絡請求 wx.request({ url: 'https://test.com/onLogin', data: { code: res.code } }) } else { console.log('獲取用戶登錄態失敗!' + res.errMsg) } } }); } })
后端獲取數據方法如下:
//獲取用戶openid function getopenid(){ $js_code = I('post.code'); if(empty($js_code)) return array('status'=>0,'info'=>'缺少js_code'); $appid = 'xxxxxxxxxxxxx'; $appsecret = 'xxxxxxxxxxxxxxxxxxxxxx'; $curl = 'https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code'; $curl = sprintf($curl,$appid,$appsecret,$js_code); $result = request($curl); return array('status'=>1,'info'=>json_decode($result,true)); }
數據返回說明
//正常返回的JSON數據包 { "openid": "OPENID", "session_key": "SESSIONKEY", "unionid": "UNIONID" } //錯誤時返回JSON數據包(示例為Code無效) { "errcode": 40029, "errmsg": "invalid code" }
感謝你能夠認真閱讀完這篇文章,希望小編分享小程序獲取用戶openid的方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。