HarmonyOS鸿蒙Next中uniapp适配,华为一键登录报错60180007,scope not contain quickLoginMobilePhone
HarmonyOS鸿蒙Next中uniapp适配,华为一键登录报错60180007,scope not contain quickLoginMobilePhone 【问题描述】:华为一键登录报错60180007,scope not contain quickLoginMobilePhone
【问题现象】:权限获取成功了也超过了24小时也能成功获取匿名手机号,但就是获取不了明文手机号
【版本信息】:开发工具版本:uniapp 4.87 手机系统版本:6.0.2 、Api语言版本:22
【复现代码】:未涉及
【尝试解决方案】:未涉及
开发者您好,错误码60180007表示code未授权华为账号一键登录权限。具体可参考官网文档:一键登录获取华为账号绑定号码和UnionID/OpenID。
该错误码产生的可能原因如下:
- 应用使用华为账号一键登录功能之前,需要完成华为账号一键登录权限申请,详见申请账号权限。
- code不是通过调用华为账号的一键登录组件获取到的,请参考客户端开发的步骤3(展示一键登录页面并获取Authorization Code),获取华为账号一键登录场景所需的code参数。
看您已经排查了第一个原因,请您再排查一下第二个原因。若未能解决您的问题,请您再反馈。
更多关于HarmonyOS鸿蒙Next中uniapp适配,华为一键登录报错60180007,scope not contain quickLoginMobilePhone的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中,UniApp适配华为一键登录报错60180007,原因是应用配置的scope未包含quickLoginMobilePhone权限。需在AppGallery Connect中检查应用的OAuth配置,确保已正确添加并启用该权限。同时,在UniApp项目内核对华为登录插件的配置参数,确保scope字段包含quickLoginMobilePhone。
这个错误 60180007 表示 scope 权限范围中未包含 quickLoginMobilePhone,这是 HarmonyOS Next 中华为帐号服务(Account Kit)的权限配置问题。
核心原因是:你的应用在申请华为帐号服务权限时,没有正确声明或获取到 quickLoginMobilePhone 这个关键权限。即使你看到其他权限(如获取匿名手机号)已授权,但缺少此权限就无法获取明文手机号。
解决步骤:
-
检查
agconnect-services.json配置文件:- 确保该文件是从 AppGallery Connect 网站为你的应用正确下载的,并且已放置到项目的正确位置(通常是
app目录根路径)。 - 确认该配置文件是最新的,与应用在 AppGallery Connect 上的包名等信息完全匹配。
- 确保该文件是从 AppGallery Connect 网站为你的应用正确下载的,并且已放置到项目的正确位置(通常是
-
检查并配置 HarmonyOS Next 的权限声明:
- 在 HarmonyOS Next 项目中,权限通常在
module.json5文件中声明。 - 你需要确保已经为你的 Ability(通常是
EntryAbility)请求了必要的权限。找到module.json5文件,在对应ability的requestPermissions字段中添加或检查以下权限:
"requestPermissions": [ { "name": "ohos.permission.GET_NETWORK_INFO" }, { "name": "ohos.permission.INTERNET" }, // 确保包含华为帐号服务所需权限,特别是以下两个: { "name": "com.huawei.hms.account.QUICK_LOGIN" }, { "name": "com.huawei.hms.account.QUICK_LOGIN_MOBILE_PHONE_NUMBER" } ]- 关键点:
com.huawei.hms.account.QUICK_LOGIN_MOBILE_PHONE_NUMBER这个权限直接对应获取明文手机号的能力。com.huawei.hms.account.QUICK_LOGIN是基础一键登录权限。
- 在 HarmonyOS Next 项目中,权限通常在
-
在 AppGallery Connect 中检查并开启服务:
- 登录 AppGallery Connect。
- 进入你的项目,在“构建” > “认证服务”中,确保“华为帐号”服务已启用。
- 在华为帐号服务的设置中,确认“一键登录”功能已开启,并且你申请的应用包名与 HarmonyOS Next 项目中的包名完全一致。
-
检查 Uniapp 插件或 SDK 版本:
- 确认你使用的 Uniapp 原生插件(如果使用了特定插件)或集成 HMS Core SDK 的版本支持 HarmonyOS Next,并且与你的开发环境兼容。
- 由于你提到使用的是 Uniapp,请确保你按照 Uniapp 官方文档或插件市场提供的 HarmonyOS Next 适配指南,正确集成了华为一键登录的相关模块和依赖。
总结:
问题根源在于应用配置层面缺少 quickLoginMobilePhone(对应权限 com.huawei.hms.account.QUICK_LOGIN_MOBILE_PHONE_NUMBER)的声明和授权。请按照上述步骤,重点检查 module.json5 的权限配置和 AppGallery Connect 中的服务开关。配置正确后,重新编译部署应用即可。

