微信小程序本地開發(fā):獲取用戶openid

一、配置本地開發(fā)環(huán)境

由于在小程序中使用 wx.request 發(fā)送請求時,會驗證請求地址是否是已經(jīng)被配置為服務器域名。在本地開發(fā)中,會去請求本地的接口。
為了成功發(fā)起請求,在本地開發(fā)時,需要在開發(fā)者工具中勾選:
詳情 --> 不校驗合法域名、web-view(業(yè)務域名)、TLS 版本以及 HTTPS 證書

二、獲取小程序的AppID、AppSecret

登錄微信公眾平臺,進入:
設置 -> 開發(fā)者設置


img

AppSecret 不會被明文顯示在頁面上,所以生成 AppSecret 后,請妥善保存。

三、獲取 js_code

出于安全考慮,api.weixin.qq.com 不能被配置為服務器域名,相關(guān)API也不能在小程序內(nèi)調(diào)用,所以我們需要在小程序的 app.js 中 wx.login 函數(shù)中,獲取 js_code,然后將 js_code 發(fā)送給后臺

//app.js
App({
  onLaunch: function () {
    // 登錄
    wx.login({
      success: res => {
        // 發(fā)送 res.code 到后臺換取 openId, sessionKey, unionId
        wx.request({
          //獲取openid接口  
          url: 'http://localhost/openid',
          data: {
            js_code: res.code,
          },
          method: 'POST',
          success: function (res) {
            console.log(res)
          }
        })  
      }
    })
  }
})

四、后臺獲取 openid

請求地址:https://api.weixin.qq.com/sns/jscode2session
請求參數(shù):

{
    "appid" : "<your AppId>",
    "secret" : "<your AppSecret>",
    "js_code" : "<your js_code>",
    "grant_type" : "authorization_code"
}

返回參數(shù):

{
    "session_key" : "<your session_key>",
    "openid" : "<your openid>"
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容