小程序获取手机号失败是什么原因,小程序无法获取手机号

在小程序开发中,特别是一些电商平台,需要获取用户的手机号码.

前端是无法直接获取用户手机号码,前端需要用户点击同意授权后,把获取到用户的code传给后端.后端收到code后,要先获取一下token(获取token的代码,下次发).具体代码如下(我是用golang原生写的)

小程序获取手机号失败是什么原因,小程序无法获取手机号
//获取微信手机号码

func GetPhoneNumber(wxCode string) interface{} {
   //获取用户的token 明天发获取token的代码
   accessToken := GetAccessToken()

   httpData := make(map[string]interface{})
   httpData["code"] = wxCode

   httpDataCode, _ := json.Marshal(httpData)

   httpUrl := "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=" + accessToken
   client := &http.Client{}
   req, _ := http.NewRequest("POST", httpUrl, bytes.NewReader(httpDataCode))
   req.Header.Add("content-type", "application/json")

   res, _ := client.Do(req)

   defer func() {
      _ = res.Body.Close()
   }()

   body, _ := ioutil.ReadAll(res.Body)
   fmt.Print(string(body))
   var bodyData map[string]interface{}
   _ = json.Unmarshal(body, &bodyData)
   return bodyData["phone_info"].(interface{}).(map[string]interface{})["purePhoneNumber"]
}

注意!!!
  "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=" + accessToken 
token一定要拼接到url后面,至于为啥,微信规定的哈.

微信小程序手机号授权功能验证码

这种情况就是默认可以拿到openid来标识用户的。同时还会为用户分配一个sessionkey,有效期只有5分钟,这也是一种身份校验的方式。避免单独拿到openid就可以获取其他信息的风险。此外,在解密用户信息和手机号等数据时,也会用到sessionkey。

小程序里的授权,具体表现是,弹窗请求允许使用某些功能,比如授权获取用户信息、授权获取手机号等,标题会显示“微信授权”

版权声明:【小程序获取手机号失败是什么原因,小程序无法获取手机号】版权归原作者所有,本文由作者:【王鹏(python工程师)】用户自发贡献上传,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任,如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至举报,一经查实,本站将立刻删除,如若转载,请注明出处:https://www.intostarry.com/jrzy/285.html

(0)
上一篇 2023年10月27日 23:02:17
下一篇 2023年10月27日 23:08:57

相关推荐

发表回复

登录后才能评论