【HarmonyOS】鸿蒙应用获取华为帐号手机号码步骤(API7及以下)

发布时间 2023-08-17 15:26:19作者: Mayism123
【写在前面】

本文主要介绍使用API7及以下版本开发HarmonyOS应用时,通过华为帐号SDK和云侧接口获取手机号码的主要开发步骤,注意:开发过程中集成的华为帐号SDK仅支持API7及以下版本的HarmonyOS应用。

 

【前提准备】

1、HarmonyOS应用已申请获取手机号码的权限,申请权限文档请参考文档:

手机号权限申请流程

2、登录的华为帐号已绑定手机号码

 

【开发步骤】

步骤1:集成华为帐号HarmonyOS Javascripts SDK,进行开发准备和集成SDK等一系列步骤,按照文档操作即可。调用登录华为帐号接口时,使用Authorization Code方式进行登录,参考文档如下:

华为账号服务(HarmonyOS(JavaScript))

注意:调用登录华为帐号接口时,参数需要通过setScopeList或setScope方法传入手机号的scope(即https://www.huawei.com/auth/account/mobile.number),此部分代码如下所示,以setScope为例:

import {HuaweiIdAuthParamsHelper, HuaweiIdAuthManager} from '@hw-hmscore/hms-jsb-account';
var signInOption = new HuaweiIdAuthParamsHelper().setId().setProfile().setScope(new Scope('https://www.huawei.com/auth/account/mobile.number')).setAuthorizationCode().build();

步骤2:集成华为帐号SDK调用华为登录接口,可以获取到authorization code(即通过getServerAuthCode方法获取到authCode,下文中authCode表示此处获取的用户授权码),获取到authCode后,HarmonyOS应用可通过http请求调用云侧获取凭证Access Token接口,获取AccessToken,接口参考文档如下:

获取凭证Access Token

步骤3:在获取到AccessToken后,再次用http请求调用云侧Gopen.User.getInfo 接口,AccessToken作为参数,获取手机号,接口参考文档如下:

获取用户信息

 

【参考文档总结】

 

【FAQ】

1、通过集成华为帐号SDK无法直接获取手机号码,需要使用从SDK获取的authCode调用云侧相关接口获取手机号码;

2、调用云侧获取凭证AccessToken接口时,redirect_uri为非必填参数,若设置了回调参数可进行传参;

3、API8及以上HarmonyOS应用,华为帐号暂未对三方应用开发可用的SDK。