微信小程序获取手机号流程以及用到的API

微信小程序获取用户手机号的流程以及用到的API可以归纳如下:

流程:

  1. 用户触发:由于需要用户主动触发才能发起获取手机号接口,因此该功能不由单独的API来调用,而是使用button组件的点击来触发。需要将button组件的open-type值设置为getPhoneNumber
  2. 用户授权:当用户点击并同意授权后,可以通过bindgetphonenumber事件回调获取到微信服务器返回的加密数据。
  3. 服务器解密:在第三方服务端,使用微信提供的解密手机号的API,结合session_key以及app_id对加密数据进行解密,从而获取到用户的手机号。

用到的API:

  1. 前端(小程序端)
    • button组件:设置open-type="getPhoneNumber"
    • bindgetphonenumber事件:用于处理用户同意授权后的回调,获取加密数据。
    • wx.login()方法(可选但推荐):用于获取用户的临时登录凭证code。虽然可以在回调中调用,但为避免刷新登录态导致的解密失败,建议提前进行login操作或在回调中先使用checkSession进行登录态检查。
  2. 后端(服务器端)
    • 解密手机号的API:使用微信提供的API(如https://api.weixin.qq.com/sns/jscode2session)进行解密。这个API需要传入appidsecretjs_code(即从小程序端获取的code)以及grant_type(固定值为"authorization_code")。

注意事项:

  • 该接口仅针对非个人开发者,且完成了认证的小程序开放(不包含海外主体)。
  • 若用户举报较多或被发现在不必要场景下使用,微信有权永久回收该小程序的该接口权限。
  • 在回调中调用wx.login登录可能会刷新登录态,此时服务器使用code换取的sessionKey可能不是加密时使用的sessionKey,导致解密失败。因此,建议开发者提前进行login操作或在回调中先使用checkSession进行登录态检查。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值