收藏
回答

phonenumber.getPhoneNumber的调用究竟需传什么参数?

phonenumber.getPhoneNumber

//我的调用方法如下
wx.request({
    url:'https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token='+this.accessToken.access_token,
  method:'POST',
  header: {'content-type''application/json'},
   data:{
   // appid:this.appid,
  // secret:this.secret,
  code:this.loginCode,
  // encryptedData:this.phoneNumber.encryptedData,
   // iv: this.phoneNumber.iv
  },
   success:function(res){
     console.log(res.data)
   }
})

//返回的结果
errcode40029
errmsg"invalid code hint: [RJGACOLoRa-AGMPWa] rid: 620a4ce4-20963e07-281d13a8"
回答关注问题邀请回答
收藏

3 个回答

  • brave
    brave
    2022-02-15

    微信服务端接口不能直接在前端调用:

    无code自行排查:

    ① 确认当前基础库版本是否为 2.21.2 及以上。

    ② 目前开发者工具稳定版未兼容此表现(近期应该会同步)。

    ③ 正常情况下,基础库 2.21.2 对应的是客户端版本号为 8.0.16,如果你的版本低于 8.0.16 并且是通过开发者工具向客户端推送的 2.21.2 基础库,大几率不会返回 code 参数,请手动更新微信版本。

    目前请先用 开发版 或者 真机 进行调试。

    2022-02-15
    有用 3
    回复
  • seepine
    seepine
    2022-04-07

    <button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>

    获取的

    encryptedData: "xxx"  # 目前会一直都有
    errMsg: "getPhoneNumber:ok"
    iv:"xxx"
    code:"xxxxx" # 可能有,可能没有,需要做兼容,没有的话还是用encryptedData去解密
    


    2022-04-07
    有用
    回复
  • 拾忆
    拾忆
    2022-02-14

    1.api接口需要服务端请求,不能在小程序内直接请求

    2.code需要通过按钮open-type类型为getPhoneNumberbindtap事件触发才能获取到code

    2022-02-14
    有用
    回复 5
    • 不想当
      不想当
      2022-02-14
      我是通过官方文档中的按钮获取的手机号,如下
      2022-02-14
      回复
    • 开心每一天
      开心每一天
      2022-03-03回复不想当
      请问解决了吗
      2022-03-03
      回复
    • 马奎
      马奎
      2022-03-04回复开心每一天
      你在手机号获取的页面onload里,再用wx.login拿一次code。保存下,让这个code给后端就可以了。
      2022-03-04
      回复
    • seepine
      seepine
      2022-04-07回复马奎
      这个code不是wx.login的code,别混淆了
      2022-04-07
      2
      回复
    • Alex张
      Alex张
      2022-06-13
      我也同意 @seepine 的说法。是在getPhoneNumber 里面获得本次的取手机号的code,然后小程序传这code到服务器后端,服务器使用access_code + code 到接口上去获取手机号。但是我这里调试是48001错误。
      2022-06-13
      回复
登录 后发表内容