溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

小程序獲取用戶openid的方法

發(fā)布時(shí)間:2020-12-22 10:09:04 來源:億速云 閱讀:294 作者:小新 欄目:移動(dòng)開發(fā)

這篇文章主要介紹了小程序獲取用戶openid的方法,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

方法一:
先獲取用戶信息(wx.getUserInfo),然后將返回的用戶信息中包含openid的敏感信息解密得到用戶的openid一種是先獲取用戶信息,然后將返回的用戶信息中包含openid的敏感信息解密得到用戶的openid,這種方法獲取用戶openid比較麻煩,還涉及到數(shù)據(jù)解密,而且如果用戶拒絕授權(quán),則獲取不到。這里不細(xì)說此方法,詳見文檔。
方法二:
先登錄(wx.login)獲取用戶登錄憑證(code),然后拿這個(gè)code當(dāng)參數(shù)調(diào)用接口,通過后端獲取到用戶的openid。
小程序端代碼如下:

//app.js
App({
  onLaunch: function() {
    wx.login({
      success: function(res) {
        if (res.code) {
          //發(fā)起網(wǎng)絡(luò)請(qǐng)求
          wx.request({
            url: 'https://test.com/onLogin',
            data: {
              code: res.code
            }
          })
        } else {
          console.log('獲取用戶登錄態(tài)失??!' + res.errMsg)
        }
      }
    });
  }
})

后端獲取數(shù)據(jù)方法如下:

//獲取用戶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));
}

數(shù)據(jù)返回說明

//正常返回的JSON數(shù)據(jù)包
{
      "openid": "OPENID",
      "session_key": "SESSIONKEY",
      "unionid": "UNIONID"
}
//錯(cuò)誤時(shí)返回JSON數(shù)據(jù)包(示例為Code無效)
{
    "errcode": 40029,
    "errmsg": "invalid code"
}

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享小程序獲取用戶openid的方法內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI