1. 程式人生 > >小程式 報錯 errcode: 40029, errmsg: "invalid code, hints: [ req_id: HQd79a0747th31 ]

小程式 報錯 errcode: 40029, errmsg: "invalid code, hints: [ req_id: HQd79a0747th31 ]

☾ .背景

  • 今天在進行小程式開發過程中,需要登入獲取使用者的 token資訊
  • 當呼叫 wx.login 後,進一步需要根據所得的 code 碼進行登入憑證校驗(包含 openid、session_key或者unionid等)

  • 更新 (2018-06-13)

提示:
如果自己的程式碼前一天沒問題,第二天突然不能執行,我建議小程式移除這個專案,然後再新專案匯入回去再測試,直接氣瘋了,今天就是這個問題,總報錯 errcode: 40029,我認為就是 開發工具存在BUG !!!

☺. 我的問題/解決


  • 其中,前提是我之前的程式碼可以實現想要的功能,而後期我需要更換新的小程式賬號資訊(app_id、app_secret)

此時,我將服務端的賬號資訊進行了替換,發現,會有下面的報錯

errcode: 40029, errmsg: "invalid code, hints: [ req_id: HQd79a0747th31 ]
  • 進一步借鑑網上的一些經驗提示,需要對應替換掉小程式 project.config.json 檔案中的 appid 資訊

    此時,如果只是重啟了開發者工具,依舊還是沒有解決問題,當然,清除全部快取也無濟於事

  • 最後,我試著將開發者工具中的 此小程式專案刪掉,然後重新匯入開啟

    問題 神奇的解決了,可能是開發者工具存在著部分隱患

☹. 補充說明

  • 可以認為這是小程式的一個
  • 官方對返回的資訊有以下提示:
//正常返回的JSON資料包
{
      "openid": "OPENID",
      "session_key": "SESSIONKEY",
}

//滿足UnionID返回條件時,返回的JSON資料包
{
    "openid": "OPENID",
    "session_key": "SESSIONKEY",
    "unionid": "UNIONID"
}
//錯誤時返回JSON資料包(示例為Code無效)
{
    "errcode": 40029,
    "errmsg": "invalid code"
}

  • 如果想獲取上面的 UnionID 資訊,需要在 微信開放平臺 進行小程式的賬號繫結,否則無法獲取

開發配置後,獲取資訊截圖如下: