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

【复现代码】:未涉及

【尝试解决方案】:未涉及

3 回复

开发者您好,错误码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 这个关键权限。即使你看到其他权限(如获取匿名手机号)已授权,但缺少此权限就无法获取明文手机号。

解决步骤:

  1. 检查 agconnect-services.json 配置文件:

    • 确保该文件是从 AppGallery Connect 网站为你的应用正确下载的,并且已放置到项目的正确位置(通常是 app 目录根路径)。
    • 确认该配置文件是最新的,与应用在 AppGallery Connect 上的包名等信息完全匹配。
  2. 检查并配置 HarmonyOS Next 的权限声明:

    • 在 HarmonyOS Next 项目中,权限通常在 module.json5 文件中声明。
    • 你需要确保已经为你的 Ability(通常是 EntryAbility)请求了必要的权限。找到 module.json5 文件,在对应 abilityrequestPermissions 字段中添加或检查以下权限:
    "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 是基础一键登录权限。
  3. 在 AppGallery Connect 中检查并开启服务:

    • 登录 AppGallery Connect
    • 进入你的项目,在“构建” > “认证服务”中,确保“华为帐号”服务已启用
    • 在华为帐号服务的设置中,确认“一键登录”功能已开启,并且你申请的应用包名与 HarmonyOS Next 项目中的包名完全一致。
  4. 检查 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 中的服务开关。配置正确后,重新编译部署应用即可。

回到顶部