HarmonyOS 怎么获取华为账号绑定的手机号
怎么获取华为账号绑定的手机号?参考https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/account-phone-unionid-login-V5,使用以下源码可以获取到UnionID、OpenID但是无法获取手机号。
import ArkUI from 'arkui';
@Entry
@Component
struct MyComponent {
@State listItems: ListView.Item[] = [];
build(private authDebug() {
// 创建授权请求,并设置参数。
let authRequest = new authentication.HuaweiIDProvider().createAuthorizationWithHuaweiIDRequest();
// 获取匿名手机号需传quickLoginAnonymousPhone这个scope,传参之前需要先申请“华为账号一键登录”权限
//(权限名称为:quickLoginMobilePhone),后续才能获取匿名手机号数据;
// 获取UnionID、OpenID需传openid这个scope,这个scope不需要申请权限。
authRequest.scopes = ['quickLoginAnonymousPhone','openid'];
// 用于防跨站点请求伪造。
authRequest.state = util.generateRandomUUID();
// 一键登录场景该参数只能设置为false。
authRequest.forceAuthorization = false;
let controller = new authentication.AuthenticationController();
try {
controller.executeRequest(authRequest).then((response: authentication.AuthorizationWithHuaweiIDResponse) => {
// 获取到UnionID、OpenID、匿名手机号
let unionID = response.data?.unionID;
let openID = response.data?.openID;
let anonymousPhone = response.data?.extraInfo?.quickLoginAnonymousPhone;
hilog.info(0x0000, 'testTag', 'unionID:' + unionID + ' openID:' + openID + ' anonymousPhone:' + anonymousPhone);
if (anonymousPhone) {
hilog.info(0x0000, 'testTag', 'Succeeded in authentication');
// 将匿名手机号传给第3步使用
return;
}
hilog.info(0x0000, 'testTag', 'Succeeded in authentication. AnonymousPhone is empty');
// 未获取到匿名手机号需要跳转到应用自定义的登录页面。
}).catch((error: BusinessError) => {
this.dealAllError(error);
})
} catch (error) {
this.dealAllError(error);
}
}
// 错误处理
private dealAllError(error: BusinessError): void {
hilog.error(0x0000, 'testTag', `Failed to auth. Code: ${error.code}, message: ${error.message}`);
}) {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
ListView({
itemCount: this.listItems.length,
scrollToIndex: 3, // 假设你想跳转到第四个ListItem,索引从0开始
renderItem: (item: ListView.Item) => {
ListItem({
onSelected: () => {
// 处理点击事件
}
}) {
Text(item.title)
}
}
})
.height(200)
.width('100%')
.margin(20)
.onListViewReady((listView) => {
for (let i = 0; i < 10; i++) {
this.listItems.push({ title: 'Item ' + (i + 1), index: i });
}
})
}
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
HarmonyOS
赞
收藏 0
回答 1
相关问题
华为账号登录获取不到手机号
1425浏览 • 1回复 待解决
如何获取华为手机号?
345浏览 • 0回复 待解决
#鸿蒙学习大百科#申请华为账号服务下的“获取您的手机号”,“获取并验证您的手机号”失败问题
1423浏览 • 1回复 待解决
HarmonyOS 点击快速登录绑定手机号失败,提示“该手机号已绑定过其他账号,请联系客服解绑”等问题
1026浏览 • 1回复 待解决
HarmonyOS 如何获取手机号
715浏览 • 1回复 待解决
验证手机号是否已被注册/绑定功能?
4840浏览 • 1回复 待解决
HarmonyOS 获取不到手机号
1144浏览 • 1回复 待解决
HarmonyOS 华为手机号授权后,怎么清除掉授权信息呢
747浏览 • 1回复 待解决
HarmonyOS 元服务 华为登录 如何拿到手机号
897浏览 • 1回复 待解决
鸿蒙OS如何获取当前的手机号
26063浏览 • 1回复 待解决
HarmonyOS 华为账号一键登录跟手机号一键登录一样吗?
1300浏览 • 1回复 待解决
HarmonyOS 使用华为帐号一键登录无法获取匿名手机号
892浏览 • 1回复 待解决
HarmonyOS 接入华为账号一键登录时,获取手机号的这个过程大概多久,1秒以内能做到吗
781浏览 • 1回复 待解决
HarmonyOS 手机号快速验证
903浏览 • 1回复 待解决
后台程序获取手机号报错:access forbidden
2760浏览 • 1回复 待解决
HarmonyOS 如何一键获取本机手机号
865浏览 • 1回复 待解决
系统登录的华为帐号一定有对应的手机号吗
905浏览 • 1回复 待解决
快速验证手机号Button的实现
1310浏览 • 1回复 待解决
实时验证手机号Button的实现
1137浏览 • 1回复 待解决
HarmonyOS 获取通话状态和手机号及通话记录
1012浏览 • 1回复 待解决
PersistentStorage实现手机号登录匹配
1644浏览 • 1回复 待解决
HarmonyOS 一键登录button目前只支持固定的文案,是否有支持绑定手机号的获取操作
689浏览 • 1回复 待解决
HarmonyOS 手机号一键登录功能
715浏览 • 1回复 待解决
HarmonyOS 输入框关于手机号空格问题
1017浏览 • 1回复 待解决
#鸿蒙学习大百科#手机号快速验证与手机号实时验证有什么区别?
1053浏览 • 1回复 待解决
华为账号一键登录 需要先申请“华为账号一键登录”Scope权限。https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/account-config-permissions-V5#section132012717318