当前位置:   article > 正文

微信小程序获取手机号流程以及用到的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进行登录态检查。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/950273
推荐阅读
相关标签
  

闽ICP备14008679号