前言:

在做获取用户手机号的时候遇到的,wx.login这个方法调用以后,直接失败,提示我没有权限,然后查了资料才知道是 个人账户是没有权限的,只有企业用户可以

报错信息(摘自百度图)

相关资料:(官网入口)

获取手机号

获取微信用户绑定的手机号,需先调用wx.login接口。

因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 button 组件的点击来触发。

注意:目前该接口针对非个人开发者,且完成了认证的小程序开放(不包含海外主体)。需谨慎使用,若用户举报较多或被发现在不必要场景下使用,微信有权永久回收该小程序的该接口权限。

使用方法

需要将 button 组件 open-type 的值设置为 getPhoneNumber,当用户点击并同意之后,可以通过 bindgetphonenumber 事件回调获取到微信服务器返回的加密数据, 然后在第三方服务端结合 session_key 以及 app_id 进行解密获取手机号。

注意

在回调中调用 wx.login 登录,可能会刷新登录态。此时服务器使用 code 换取的 sessionKey 不是加密时使用的 sessionKey,导致解密失败。建议开发者提前进行 login;或者在回调中先使用 checkSession 进行登录态检查,避免 login 刷新登录态。

代码示例

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>
Page({getPhoneNumber (e) {console.log(e.detail.errMsg)console.log(e.detail.iv)console.log(e.detail.encryptedData)}
})

返回参数说明

参数 类型 说明 最低版本
encryptedData String 包括敏感数据在内的完整用户信息的加密数据,详细见加密数据解密算法  
iv String 加密算法的初始向量,详细见加密数据解密算法  
cloudID string 敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见云调用直接获取开放数据 基础库 2.8.0

获取得到的开放数据为以下 json 结构:

{"phoneNumber": "13580006666","purePhoneNumber": "13580006666","countryCode": "86","watermark":{"appid":"APPID","timestamp": TIMESTAMP}
}
参数 类型 说明
phoneNumber String 用户绑定的手机号(国外手机号会有区号)
purePhoneNumber String 没有区号的手机号
countryCode String 区号

微信获取手机号提示该appid没有权限相关推荐

  1. uniapp 微信小程序 getPhoneNumber 获取手机号 提示 appid没有权限

    appid没有权限 问题出现原因,当前小程序账号没有进行"微信认证" 登录微信小程序后台,可以查看到当前小程序的基本信息. 微信小程序授权获取手机号接口 因为需要用户主动触发才能发 ...

  2. uni-app微信获取手机号,第一次解密总是失败

    项目场景: uni-app; 获取code,后台解密手机号 问题描述: 每次第一次登陆,后台都会解密失败 原因分析: code获取错误:导致后台的解密key与code不对应 解决方案: 小程序获取手机 ...

  3. 小程序~获取手机号getPhoneNumber提示该appid没有权限

    处理思路 (1)小程序是不是企业主体 (2)有没有进行认证 (3)如果没有 是不可以获取用户手机号码的 . 转载于:https://www.cnblogs.com/jianxian/p/1111006 ...

  4. 微信小程序登录-手机号授权并获取手机号

    做微信小程序时,记录实现微信小程序登录 这里已经获取用户openId和sessionKey 1.通过按钮触发手机号授权 必须要通过按钮触发授权,open-type='getPhoneNumber'不能 ...

  5. 微信小程序获取手机号登录流程

    微信小程序获取手机号登录流程 首先前端使用wx.login 获取code wx.login({success(res) {if (res.code) {that.setData({code: res. ...

  6. 企业微信获取客户群里用户的unionid;企业微信获取客户详情

    企业微信获取客户群里用户的unionid:企业微信获取客户详情 提示:企业微信获取客户群里用户的unionid其实是通过获取客户详情的接口 文章目录 企业微信获取客户群里用户的unionid:企业微信 ...

  7. 微信小程序开发提示“获取手机号码失败 ERROR:该appid没有权限”解决方案

    关于微信小程序开发提示"获取手机号码失败, ERROR:该appid没有权限"的解决方案 一般这种情况的出现都是出现在二次开发上面,原开发人员变动,不在开发该程序.新人在接手这个程 ...

  8. uni-app微信小程序获取手机号;微信小程序获取手机号,获取到后需要进行解密;微信小程序获取手机号失败 Error:该appId没有权限

    方法1.uni-app登录加获取手机号解密-直接看此篇即可解决 微信小程序获取手机号注意点: 1.需要先登录,微信小程序登录看这篇 2.手机号获取到时加密的,需要后端解密或者前端自己解密(解密时候就会 ...

  9. 微信小程序——按钮登录获取用户头像昵称、不需要获取权限就能显示头像和昵称、获取手机号(云端)

    1.登录获取用户头像昵称 代码 app.js App({globalData: {userInfo: null},onLaunch() {} }) . . . index.js const app = ...

最新文章

  1. 七月在线数据结构视频教程一
  2. 算法--06年华为面试:求两个数组的最小差值(Java实现)
  3. CSS---内外边距
  4. Android组件的通讯-Intent
  5. SAP Spartacus 如何连接到其他系统
  6. 小程序自带git方法提交时文件冲突的解决
  7. html打开时按钮自动触发事件,html在用户按下按键时触发的事件属性onkeydown
  8. android uboot获取mac地址,uboot生成随机的MAC地址
  9. User Agent跨站攻击
  10. Microsoft Office (2007) Open XML 文件格式
  11. @PropertySource注解获取配置文件值
  12. Java Jad 反编译class文件
  13. 企企通SRM:时尚服装品牌企业建立优质供应链体系,只需要做到这几步
  14. 手把手教你写让人眼前一亮的软件测试简历,收不到面试邀请算我输
  15. 戴尔刀片服务器运行风扇一直超速转动解决
  16. 统计学理论—假设检验
  17. linux 网络配置 nm_controlled,LINUX centos7.6修改静态IP与配置参数NM_CONTROLLED
  18. 无法定位程序输入点 getHostNameW 于动态链接库 WS2_32.dll
  19. 第十三届蓝桥杯c++b组国赛决赛
  20. LeetCode 461. 汉明距离 (布赖恩·克尼根算法)

热门文章

  1. notepad批量删除html元素,Notepad文本编辑器怎么快速删除一整行内容?
  2. 用品牌名吸引流量的“四三二一”法则
  3. 不服不行!狂刷1个月Java面试题,知乎上已获万赞
  4. pc分布使用率情况_如何在不违反法律的情况下获得廉价和免费的PC游戏
  5. 设置webhook_设置WebHook
  6. 中国电商现状 以及未来发展趋势
  7. MyBatis:缓存机制详解
  8. Adobe Photoshop Elements 2020官网下载
  9. WIN7系统安装mysql8超详细教程
  10. 网络通信——下载管理器DownloadManager——主动轮询当前的下载进度