鸿蒙开发设备管理:【@ohos.account.appAccount (应用帐号管理)】
应用帐号管理
说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。开发前请熟悉鸿蒙开发指导文档:
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。
导入模块
import account_appAccount from '@ohos.account.appAccount';
 
account_appAccount.createAppAccountManager
createAppAccountManager(): AppAccountManager
应用帐号管理:获取应用帐号模块对象。
系统能力: SystemCapability.Account.AppAccount
返回值:
| 类型 | 说明 | 
|---|---|
| AppAccountManager | 获取应用帐号模块的实例。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
 
AppAccountManager
管理应用帐号模块的实例。
addAccount
addAccount(name: string, callback: AsyncCallback): void
将此应用的帐号名添加到帐号管理服务中,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 要添加的应用帐户的名称。 | 
| callback | AsyncCallback | 是 | 将此应用的帐号名添加到帐号管理服务的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.addAccount("WangWu", (err) => { console.log("addAccount err: " + JSON.stringify(err));
});
 
addAccount
addAccount(name: string, extraInfo: string, callback: AsyncCallback): void
将此应用程序的帐号名和额外信息添加到帐号管理服务中,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 要添加的应用帐户的名称。 | 
| extraInfo | string | 是 | 要添加的应用帐户的额外信息(例如token等),额外的信息不能是应用帐号的敏感信息。 | 
| callback | AsyncCallback | 是 | 将此应用程序的帐号名和额外信息添加到帐号管理服务中的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.addAccount("LiSi", "token101", (err) => { console.log("addAccount err: " + JSON.stringify(err));
});
 
addAccount
addAccount(name: string, extraInfo?: string): Promise
将此应用的帐号名或额外信息添加到帐号管理服务中,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 要添加的应用帐户的名称。 | 
| extraInfo | string | 是 | 要添加的应用帐户的额外信息,额外的信息不能是应用帐号的敏感信息。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.addAccount("LiSi", "token101").then(()=> { console.log('addAccount Success');
}).catch((err) => {console.log("addAccount err: "  + JSON.stringify(err));
});
 
addAccountImplicitly8+
addAccountImplicitly(owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
根据指定的帐号所有者、鉴权类型和可选项,隐式地添加应用帐号,并使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| owner | string | 是 | 要添加的应用帐户的所有者包名。 | 
| authType | string | 是 | 要添加的应用帐户的鉴权类型。 | 
| options | {[key: string]: any} | 是 | 鉴权所需要的可选项。 | 
| callback | AuthenticatorCallback | 是 | 认证器回调,用于返回鉴权结果。 | 
示例:
import featureAbility from '@ohos.ability.featureAbility';function onResultCallback(code, result) {console.log("resultCode: "  + code);console.log("result: "  + JSON.stringify(result));
}function onRequestRedirectedCallback(request) {let abilityStartSetting = {want: request};featureAbility.startAbility(abilityStartSetting, (err)=>{console.log("startAbility err: " + JSON.stringify(err));});
}const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.addAccountImplicitly("LiSi", "readAge", {}, {onResult: onResultCallback,onRequestRedirected: onRequestRedirectedCallback
});
 
deleteAccount
deleteAccount(name: string, callback: AsyncCallback): void
从帐号管理服务中删除应用帐号,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 要删除的应用帐户的名称。 | 
| callback | AsyncCallback | 是 | 帐号管理服务中删除应用帐号的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.deleteAccount("ZhaoLiu", (err) => { console.log("deleteAccount err: " + JSON.stringify(err));});
 
deleteAccount
deleteAccount(name: string): Promise
从帐号管理服务中删除应用帐号,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 要删除的应用帐户的名称。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.deleteAccount("ZhaoLiu").then(() => { console.log('deleteAccount Success');}).catch((err) => {console.log("deleteAccount err: "  + JSON.stringify(err));
});
 
disableAppAccess
disableAppAccess(name: string, bundleName: string, callback: AsyncCallback): void
禁止指定第三方应用帐户的名称访问指定包名称的第三方应用,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 要禁用访问的第三方应用帐户的名称。 | 
| bundleName | string | 是 | 第三方应用的包名。 | 
| callback | AsyncCallback | 是 | 禁止指定第三方应用帐户的名称访问指定包名称的第三方应用的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.disableAppAccess("ZhangSan", "com.example.ohos.accountjsdemo", (err) => { console.log("disableAppAccess err: " + JSON.stringify(err));
});
 
disableAppAccess
disableAppAccess(name: string, bundleName: string): Promise
禁止指定第三方应用帐户的名称访问指定包名称的第三方应用,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 要禁用访问的第三方应用帐户的名称。 | 
| bundleName | string | 是 | 第三方应用的包名。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.disableAppAccess("ZhangSan", "com.example.ohos.accountjsdemo").then(() => { console.log('disableAppAccess Success');
}).catch((err) => {console.log("disableAppAccess err: "  + JSON.stringify(err));
});
 
enableAppAccess
enableAppAccess(name: string, bundleName: string, callback: AsyncCallback): void
允许指定第三方应用帐户的名称访问指定包名称的第三方应用,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐号名称。 | 
| bundleName | string | 是 | 第三方应用的包名。 | 
| callback | AsyncCallback | 是 | 允许指定第三方应用帐户的名称访问指定包名称的第三方应用的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.enableAppAccess("ZhangSan", "com.example.ohos.accountjsdemo", (err) => { console.log("enableAppAccess: " + JSON.stringify(err));});
 
enableAppAccess
enableAppAccess(name: string, bundleName: string): Promise
允许指定第三方应用帐户的名称访问指定包名称的第三方应用,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐号名称。 | 
| bundleName | string | 是 | 第三方应用的包名。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
app_account_instance.enableAppAccess("ZhangSan", "com.example.ohos.accountjsdemo").then(() => { console.log('enableAppAccess Success');
}).catch((err) => {console.log("enableAppAccess err: "  + JSON.stringify(err));
});
 
checkAppAccountSyncEnable
checkAppAccountSyncEnable(name: string, callback: AsyncCallback): void
检查指定应用帐号是否允许应用数据同步,使用callback回调异步返回结果。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC,仅系统应用可用。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐号名称。 | 
| callback | AsyncCallback | 是 | 检查指定应用帐号是否允许应用数据同步的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.checkAppAccountSyncEnable("ZhangSan", (err, result) => { console.log("checkAppAccountSyncEnable err: " + JSON.stringify(err));console.log('checkAppAccountSyncEnable result: ' + result);
});
 
checkAppAccountSyncEnable
checkAppAccountSyncEnable(name: string): Promise
检查指定应用帐号是否允许应用数据同步,使用Promise方式异步返回结果。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC,仅系统应用可用。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐号名称。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.checkAppAccountSyncEnable("ZhangSan").then((data) => { console.log('checkAppAccountSyncEnable, result: ' + data);
}).catch((err) => {console.log("checkAppAccountSyncEnable err: "  + JSON.stringify(err));
});
 
setAccountCredential
setAccountCredential(name: string, credentialType: string, credential: string,callback: AsyncCallback): void
设置此应用程序帐号的凭据,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用程序帐户的名称。 | 
| credentialType | string | 是 | 要设置的凭据的类型。 | 
| credential | string | 是 | 要设置的凭据。 | 
| callback | AsyncCallback | 是 | 设置此应用帐号的凭据的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001", (err) => { console.log("setAccountCredential err: " + JSON.stringify(err));
});
 
setAccountCredential
setAccountCredential(name: string, credentialType: string, credential: string): Promise
设置此应用程序帐号的凭据,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| credentialType | string | 是 | 要设置的凭据的类型。 | 
| credential | string | 是 | 要设置的凭据。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001").then(() => { console.log('setAccountCredential Success');
}).catch((err) => {console.log("setAccountCredential err: "  + JSON.stringify(err));
});
 
setAccountExtraInfo
setAccountExtraInfo(name: string, extraInfo: string, callback: AsyncCallback): void
设置此应用程序帐号的额外信息,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| extraInfo | string | 是 | 要设置的额外信息。 | 
| callback | AsyncCallback | 是 | 设置此应用帐号的额外信息的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002", (err) => { console.log("setAccountExtraInfo err: " + JSON.stringify(err));
});
 
setAccountExtraInfo
setAccountExtraInfo(name: string, extraInfo: string): Promise
设置此应用程序帐号的额外信息,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| extraInfo | string | 是 | 要设置的额外信息。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002").then(() => { console.log('setAccountExtraInfo Success');
}).catch((err) => {console.log("setAccountExtraInfo err: "  + JSON.stringify(err));
});
 
setAppAccountSyncEnable
setAppAccountSyncEnable(name: string, isEnable: boolean, callback: AsyncCallback): void
设置指定的应用程序帐号是否允许应用程序数据同步,使用callback回调异步返回结果。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC,仅系统应用可用。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| isEnable | boolean | 是 | 是否允许应用数据同步。 | 
| callback | AsyncCallback | 是 | 设置指定的应用帐号是否允许应用程序数据同步的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAppAccountSyncEnable("ZhangSan", true, (err) => { console.log("setAppAccountSyncEnable err: " + JSON.stringify(err));
});
 
setAppAccountSyncEnable
setAppAccountSyncEnable(name: string, isEnable: boolean): Promise
设置指定的应用程序帐号是否允许应用程序数据同步,使用Promise方式异步返回结果。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC,仅系统应用可用。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| isEnable | boolean | 是 | 是否允许应用数据同步。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager .setAppAccountSyncEnable("ZhangSan", true).then(() => { console.log('setAppAccountSyncEnable Success');
}).catch((err) => {console.log("setAppAccountSyncEnable err: "  + JSON.stringify(err));
});
 
setAssociatedData
setAssociatedData(name: string, key: string, value: string, callback: AsyncCallback): void
设置与此应用程序帐号关联的数据,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| key | string | 是 | 要设置的数据的键,密钥可以自定义。 | 
| value | string | 是 | 要设置的数据的值。 | 
| callback | AsyncCallback | 是 | 设置与此应用帐号关联的数据的回调。 | 
示例:
app_account_instance.setAssociatedData("ZhangSan", "k001", "v001", (err) => { console.log("setAssociatedData err: " + JSON.stringify(err));
});
 
setAssociatedData
setAssociatedData(name: string, key: string, value: string): Promise
设置与此应用程序帐号关联的数据,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| key | string | 是 | 要设置的数据的键,密钥可以自定义。 | 
| value | string | 是 | 要设置的数据的值。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAssociatedData("ZhangSan", "k001", "v001").then(() => { console.log('setAssociatedData Success');
}).catch((err) => {console.log("setAssociatedData err: "  + JSON.stringify(err));
});
 
getAccountCredential
getAccountCredential(name: string, credentialType: string, callback: AsyncCallback): void
获取此应用帐号的凭据,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐号名称。 | 
| credentialType | string | 是 | 要获取的凭据的类型。 | 
| callback | AsyncCallback | 是 | 获取此应用帐号的凭据的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAccountCredential("ZhangSan", "credentialType001", (err, result) => { console.log("getAccountCredential err: " + JSON.stringify(err));console.log('getAccountCredential result: ' + result);
});
 
getAccountCredential
getAccountCredential(name: string, credentialType: string): Promise
获取此应用程序帐号的凭据,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐号名称。 | 
| credentialType | string | 是 | 要获取的凭据的类型。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAccountCredential("ZhangSan", "credentialType001").then((data) => { console.log('getAccountCredential, result: ' + data);
}).catch((err) => {console.log("getAccountCredential err: "  + JSON.stringify(err));
});
 
getAccountExtraInfo
getAccountExtraInfo(name: string, callback: AsyncCallback): void
获取此应用帐号的额外信息,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐号名称。 | 
| callback | AsyncCallback | 是 | 获取此应用帐号的额外信息的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAccountExtraInfo("ZhangSan", (err, result) => { console.log("getAccountExtraInfo err: " + JSON.stringify(err));console.log('getAccountExtraInfo result: ' + result);
});
 
getAccountExtraInfo
getAccountExtraInfo(name: string): Promise
获取此应用程序帐号的额外信息,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐号名称。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAccountExtraInfo("ZhangSan").then((data) => { console.log('getAccountExtraInfo, result: ' + data);
}).catch((err) => {console.log("getAccountExtraInfo err: "  + JSON.stringify(err));
});
 
getAssociatedData
getAssociatedData(name: string, key: string, callback: AsyncCallback): void
获取与此应用程序帐号关联的数据,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐号名称。 | 
| key | string | 是 | 要获取的数据的key。 | 
| callback | AsyncCallback | 是 | 获取与此应用帐号关联的数据的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAssociatedData("ZhangSan", "k001", (err, result) => { console.log("getAssociatedData err: " + JSON.stringify(err));console.log('getAssociatedData result: ' + result);
});
 
getAssociatedData
getAssociatedData(name: string, key: string): Promise
获取与此应用程序帐号关联的数据,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐号名称。 | 
| key | string | 是 | 要获取的数据的key。 | 
返回值:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAssociatedData("ZhangSan", "k001").then((data) => { console.log('getAssociatedData: ' + data);
}).catch((err) => {console.log("getAssociatedData err: "  + JSON.stringify(err));
});
 
getAllAccessibleAccounts
getAllAccessibleAccounts(callback: AsyncCallback<Array>): void
获取全部应用已授权帐号信息。
需要权限: ohos.permission.GET_ALL_APP_ACCOUNTS,仅系统应用可用。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| callback | AsyncCallback<Array> | 是 | 应用帐号信息列表 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAllAccessibleAccounts((err, data)=>{console.debug("getAllAccessibleAccounts err:" + JSON.stringify(err));console.debug("getAllAccessibleAccounts data:" + JSON.stringify(data));
});
 
getAllAccessibleAccounts
getAllAccessibleAccounts(): Promise<Array>
获取全部应用已授权帐号信息。
需要权限: ohos.permission.GET_ALL_APP_ACCOUNTS,仅系统应用可用。
系统能力: SystemCapability.Account.AppAccount
参数:
| 类型 | 说明 | 
|---|---|
| Promise<Array> | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAllAccessibleAccounts().then((data) => { console.log('getAllAccessibleAccounts: ' + data);
}).catch((err) => {console.log("getAllAccessibleAccounts err: "  + JSON.stringify(err));
});
 
getAllAccounts
getAllAccounts(owner: string, callback: AsyncCallback<Array>): void
获取指定应用全部帐号信息。
需要权限: ohos.permission.GET_ALL_APP_ACCOUNTS,仅系统应用可用。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| owner | string | 是 | 应用包名称 | 
| callback | AsyncCallback<Array> | 是 | 应用帐号信息列表 | 
示例:
const appAccountManager = account.createAppAccountManager();
const selfBundle = "com.example.actsgetallaaccounts";
appAccountManager.getAllAccounts(selfBundle, (err, data)=>{console.debug("getAllAccounts err:" + JSON.stringify(err));console.debug("getAllAccounts data:" + JSON.stringify(data));
});
 
getAllAccounts
getAllAccounts(owner: string): Promise<Array>
获取指定应用全部帐号信息。
需要权限: ohos.permission.GET_ALL_APP_ACCOUNTS,仅系统应用可用。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| owner | string | 是 | 应用包名称 | 
参数:
| 类型 | 说明 | 
|---|---|
| Promise<Array> | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
const selfBundle = "com.example.actsgetallaaccounts";
appAccountManager.getAllAccounts(selfBundle).then((data) => { console.log('getAllAccounts: ' + data);
}).catch((err) => {console.log("getAllAccounts err: "  + JSON.stringify(err));
});
 
on(‘change’)
on(type: ‘change’, owners: Array, callback: Callback<Array>): void
订阅指定帐号所有者的帐户变更事件,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| type | ‘change’ | 是 | 关于帐户更改事件,当帐户所有者更新帐户时,订阅者将收到通知。 | 
| owners | Array | 是 | 指示帐户的所有者。 | 
| callback | Callback<Array> | 是 | 订阅指定帐号所有者的帐户变更事件的回调。 | 
示例:
const appAccountManager = account.createAppAccountManager();
function changeOnCallback(data){console.debug("receive change data:" + JSON.stringify(data));
}
try{appAccountManager.on('change', ["com.example.actsaccounttest"], changeOnCallback);
}
catch(err){console.error("on accountOnOffDemo err:" + JSON.stringify(err));
}
 
off(‘change’)
off(type: ‘change’, callback?: Callback<Array>): void
取消订阅帐号事件,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| type | ‘change’ | 是 | 关于帐户更改事件。 | 
| callback | Callback<Array> | 否 | 取消订阅帐号事件的回调。 | 
示例:
const appAccountManager = account.createAppAccountManager();
function changeOnCallback(data){console.debug("receive change data:" + JSON.stringify(data));appAccountManager.off('change', function(){console.debug("off finish");})
}
try{appAccountManager.on('change', ["com.example.actsaccounttest"], changeOnCallback);
}
catch(err){console.error("on accountOnOffDemo err:" + JSON.stringify(err));
}
 
authenticate8+
authenticate(name: string, owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
鉴权应用帐户以获取OAuth令牌,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 要鉴权的应用帐户的名称。 | 
| owner | string | 是 | 要鉴权的应用帐户的所有者包名。 | 
| authType | string | 是 | 鉴权类型。 | 
| options | {[key: string]: any} | 是 | 鉴权所需的可选项。 | 
| callback | AuthenticatorCallback | 是 | 认证器回调,用于返回鉴权结果。 | 
示例:
import featureAbility from '@ohos.ability.featureAbility';function onResultCallback(code, result) {console.log("resultCode: "  + code);console.log("result: "  + JSON.stringify(result));
}function onRequestRedirectedCallback(request) {let abilityStartSetting = {want: request};featureAbility.startAbility(abilityStartSetting, (err)=>{console.log("startAbility err: " + JSON.stringify(err));});
}const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.authenticate("LiSi", "com.example.ohos.accountjsdemo", "readAge", {}, {onResult: onResultCallback,onRequestRedirected: onRequestRedirectedCallback
});
 
getOAuthToken8+
getOAuthToken(name: string, owner: string, authType: string, callback: AsyncCallback): void
获取指定应用帐户和鉴权类型的OAuth令牌,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| owner | string | 是 | 应用帐户的所有者包名。 | 
| authType | string | 是 | 鉴权类型。 | 
| callback | AsyncCallback | 是 | 查询结果的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getOAuthToken("LiSi", "com.example.ohos.accountjsdemo", "readAge", (err, data) => {console.log('getOAuthToken err: ' + JSON.stringify(err));console.log('getOAuthToken token: ' + data);
});
 
getOAuthToken8+
getOAuthToken(name: string, owner: string, authType: string): Promise
获取指定应用帐户和鉴权类型的OAuth令牌,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| owner | string | 是 | 应用帐户的所有者包名。 | 
| authType | string | 是 | 鉴权类型。 | 
参数:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getOAuthToken("LiSi", "com.example.ohos.accountjsdemo", "readAge").then((data) => {console.log('getOAuthToken token: ' + data);
}).catch((err) => {console.log("getOAuthToken err: "  + JSON.stringify(err));
});
 
setOAuthToken8+
setOAuthToken(name: string, authType: string, token: string, callback: AsyncCallback): void
设置指定应用帐户和鉴权类型的OAuth令牌,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| authType | string | 是 | 鉴权类型。 | 
| token | string | 是 | OAuth令牌。 | 
| callback | AsyncCallback | 是 | 设置结果的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setOAuthToken("LiSi", "readAge", "xxxx", (err) => {console.log('setOAuthToken err: ' + JSON.stringify(err));
});
 
setOAuthToken8+
setOAuthToken(name: string, authType: string, token: string): Promise
设置指定应用帐户和鉴权类型的OAuth令牌,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| authType | string | 是 | 鉴权类型。 | 
| token | string | 是 | OAuth令牌。 | 
参数:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setOAuthToken("LiSi", "readAge", "xxxx").then(() => {console.log('setOAuthToken successfully');
}).catch((err) => {console.log('setOAuthToken err: ' + JSON.stringify(err));
});
 
deleteOAuthToken8+
deleteOAuthToken(name: string, owner: string, authType: string, token: string, callback: AsyncCallback): void
删除指定应用帐户和鉴权类型的OAuth令牌,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| owner | string | 是 | 应用帐户的所有者包名。 | 
| authType | string | 是 | 鉴权类型。 | 
| token | string | 是 | 要删除的OAuth令牌。 | 
| callback | AsyncCallback | 是 | 删除结果的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.deleteOAuthToken("LiSi", "com.example.ohos.accountjsdemo", "readAge", "xxxxx", (err) => {console.log('deleteOAuthToken err: ' + JSON.stringify(err));
});
 
deleteOAuthToken8+
deleteOAuthToken(name: string, owner: string, authType: string, token: string): Promise
删除指定应用帐户和鉴权类型的OAuth令牌,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| owner | string | 是 | 应用帐户的所有者包名。 | 
| authType | string | 是 | 鉴权类型。 | 
| token | string | 是 | 要删除的OAuth令牌。 | 
参数:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.deleteOAuthToken("LiSi", "com.example.ohos.accountjsdemo", "readAge", "xxxxx").then(() => {console.log('deleteOAuthToken successfully');
}).catch((err) => {console.log("deleteOAuthToken err: "  + JSON.stringify(err));
});
 
setOAuthTokenVisibility8+
setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean, callback: AsyncCallback): void
设置指定鉴权类型的OAuth令牌对特定应用的可见性,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| authType | string | 是 | 鉴权类型。 | 
| bundleName | string | 是 | 被设置可见性的应用包名。 | 
| isVisible | boolean | 是 | 是否可见。 | 
| callback | AsyncCallback | 是 | 设置结果的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setOAuthTokenVisibility("LiSi", "readAge", "com.example.ohos.accountjsdemo", true, (err) => {console.log('setOAuthTokenVisibility err: ' + JSON.stringify(err));
});
 
setOAuthTokenVisibility8+
setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean): Promise
设置指定鉴权类型的OAuth令牌对特定应用的可见性,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| authType | string | 是 | 鉴权类型。 | 
| bundleName | string | 是 | 被设置可见性的应用包名。 | 
| isVisible | boolean | 是 | 是否可见。 | 
参数:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setOAuthTokenVisibility("LiSi", "readAge", "com.example.ohos.accountjsdemo", true).then(() => {console.log('setOAuthTokenVisibility successfully');
}).catch((err) => {console.log('setOAuthTokenVisibility err: ' + JSON.stringify(err));
});
 
checkOAuthTokenVisibility8+
checkOAuthTokenVisibility(name: string, authType: string, bundleName: string, callback: AsyncCallback): void
检查指定鉴权类型的OAuth令牌对特定应用的可见性,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| authType | string | 是 | 鉴权类型。 | 
| bundleName | string | 是 | 用于检查可见性的应用包名。 | 
| callback | AsyncCallback | 是 | 检查结果的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.checkOAuthTokenVisibility("LiSi", "readAge", "com.example.ohos.accountjsdemo", true, (err, data) => {console.log('checkOAuthTokenVisibility err: ' + JSON.stringify(err));console.log('checkOAuthTokenVisibility isVisible: ' + data);
});
 
checkOAuthTokenVisibility8+
checkOAuthTokenVisibility(name: string, authType: string, bundleName: string): Promise
检查指定鉴权类型的OAuth令牌对特定应用的可见性,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| authType | string | 是 | 鉴权类型。 | 
| bundleName | string | 是 | 用于检查可见性的应用包名。 | 
参数:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.checkOAuthTokenVisibility("LiSi", "readAge", "com.example.ohos.accountjsdemo", true).then((data) => {console.log('checkOAuthTokenVisibility isVisible: ' + data);
}).catch((err) => {console.log('checkOAuthTokenVisibility err: ' + JSON.stringify(err));
});
 
getAllOAuthTokens8+
getAllOAuthTokens(name: string, owner: string, callback: AsyncCallback<Array>): void
获取指定应用对调用方全部可见的OAuth令牌,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| owner | string | 是 | 应用帐户的所有者包名。 | 
| callback | AsyncCallback<Array> | 是 | 查询结果的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAllOAuthTokens("LiSi", "com.example.ohos.accountjsdemo", (err, data) => {console.log("getAllOAuthTokens err: "  + JSON.stringify(err));console.log('getAllOAuthTokens data: ' + JSON.stringify(data));
});
 
getAllOAuthTokens8+
getAllOAuthTokens(name: string, owner: string): Promise<Array>
获取指定应用帐户对调用方可见的全部OAuth令牌,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| owner | string | 是 | 应用帐户的所有者包名。 | 
参数:
| 类型 | 说明 | 
|---|---|
| Promise<Array> | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAllOAuthTokens("LiSi", "com.example.ohos.accountjsdemo").then((data) => {console.log('getAllOAuthTokens data: ' + JSON.stringify(data));
}).catch((err) => {console.log("getAllOAuthTokens err: "  + JSON.stringify(err));
});
 
getOAuthList8+
getOAuthList(name: string, authType: string, callback: AsyncCallback<Array>): void
获取指定应用帐户和鉴权类型的OAuth令牌的授权列表,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| owner | string | 是 | 应用帐户的所有者包名。 | 
| callback | AsyncCallback<Array> | 是 | 查询结果的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getOAuthList("com.example.ohos.accountjsdemo", "readAge", (err, data) => {console.log('getOAuthList err: ' + JSON.stringify(err));console.log('getOAuthList data: ' + JSON.stringify(data));
});
 
getOAuthList8+
getOAuthList(name: string, authType: string): Promise<Array>
获取指定应用帐户和鉴权类型的OAuth令牌的授权列表,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| owner | string | 是 | 应用帐户的所有者包名。 | 
参数:
| 类型 | 说明 | 
|---|---|
| Promise<Array> | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getOAuthList("com.example.ohos.accountjsdemo", "readAge").then((data) => {console.log('getOAuthList data: ' + JSON.stringify(data));
}).catch((err) => {console.log("getOAuthList err: "  + JSON.stringify(err));
});
 
getAuthenticatorCallback8+
getAuthenticatorCallback(sessionId: string, callback: AsyncCallback): void
获取鉴权会话的认证器回调,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| sessionId | string | 是 | 鉴权会话的标识。 | 
| callback | AsyncCallback | 是 | 查询结果的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
featureAbility.getWant((err, want) => {var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];appAccountManager.getAuthenticatorCallback(sessionId, (err, callback) => {if (err.code != account_appAccount.ResultCode.SUCCESS) {console.log("getAuthenticatorCallback err: "  + JSON.stringify(err));return;}var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",[account_appAccount.Constants.KEY_OWNER]: "com.example.ohos.accountjsdemo",[account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};callback.OnResult(account_appAccount.ResultCode.SUCCESS, result);});
});
 
getAuthenticatorCallback8+
getAuthenticatorCallback(sessionId: string): Promise
获取鉴权会话的认证器回调,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| sessionId | string | 是 | 鉴权会话的标识。 | 
参数:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
featureAbility.getWant().then((want) => {var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",[account_appAccount.Constants.KEY_OWNER]: "com.example.ohos.accountjsdemo",[account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};callback.OnResult(account_appAccount.ResultCode.SUCCESS, result);}).catch((err) => {console.log("getAuthenticatorCallback err: "  + JSON.stringify(err));});
}).catch((err) => {console.log("getWant err: "  + JSON.stringify(err));
});
 
getAuthenticatorInfo8+
getAuthenticatorInfo(owner: string, callback: AsyncCallback): void
获取指定应用帐户的认证器信息,使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| owner | string | 是 | 应用帐户的所有者包名。 | 
| callback | AsyncCallback | 是 | 查询结果的回调。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAuthenticatorInfo("com.example.ohos.accountjsdemo", (err, data) => {console.log("getAuthenticatorInfo err: "  + JSON.stringify(err));console.log('getAuthenticatorInfo data: ' + JSON.stringify(data));
});
 
getAuthenticatorInfo8+
getAuthenticatorInfo(owner: string): Promise
获取指定应用帐户的认证器信息,使用Promise方式异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| owner | string | 是 | 应用帐户的所有者包名。 | 
参数:
| 类型 | 说明 | 
|---|---|
| Promise | Promise实例,用于获取异步返回结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAuthenticatorInfo("com.example.ohos.accountjsdemo").then((data) => { console.log('getAuthenticatorInfo: ' + JSON.stringify(data));
}).catch((err) => {console.log("getAuthenticatorInfo err: "  + JSON.stringify(err));
});
 
AppAccountInfo
表示应用帐号信息。
系统能力: 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| owner | string | 是 | 应用帐户的所有者包名。 | 
| name | string | 是 | 应用帐户的名称。 | 
OAuthTokenInfo8+
表示OAuth令牌信息。
系统能力: 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| authType | string | 是 | 令牌的鉴权类型。 | 
| token | string | 是 | 令牌的取值。 | 
AuthenticatorInfo8+
表示OAuth认证器信息。
系统能力: 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| owner | string | 是 | 认证器的所有者包名。 | 
| iconId | string | 是 | 认证器的图标标识。 | 
| labelId | string | 是 | 认证器的标签标识。 | 
Constants8+
表示常量的枚举。
系统能力: 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。
| 名称 | 默认值 | 描述 | 
|---|---|---|
| ACTION_ADD_ACCOUNT_IMPLICITLY | “addAccountImplicitly” | 表示操作_隐式添加帐号。 | 
| ACTION_AUTHENTICATE | “authenticate” | 表示操作_鉴权。 | 
| KEY_NAME | “name” | 表示键名_应用帐户名称。 | 
| KEY_OWNER | “owner” | 表示键名_应用帐户所有者。 | 
| KEY_TOKEN | “token” | 表示键名_令牌。 | 
| KEY_ACTION | “action” | 表示键名_操作。 | 
| KEY_AUTH_TYPE | “authType” | 表示键名_鉴权类型。 | 
| KEY_SESSION_ID | “sessionId” | 表示键名_会话标识。 | 
| KEY_CALLER_PID | “callerPid” | 表示键名_调用方PID。 | 
| KEY_CALLER_UID | “callerUid” | 表示键名_调用方UID。 | 
| KEY_CALLER_BUNDLE_NAME | “callerBundleName” | 表示键名_调用方包名。 | 
ResultCode8+
表示返回码的枚举。
系统能力: 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。
| 名称 | 默认值 | 描述 | 
|---|---|---|
| SUCCESS | 0 | 表示操作成功。 | 
| ERROR_ACCOUNT_NOT_EXIST | 10001 | 表示应用帐户不存在。 | 
| ERROR_APP_ACCOUNT_SERVICE_EXCEPTION | 10002 | 表示应用帐户服务异常。 | 
| ERROR_INVALID_PASSWORD | 10003 | 表示密码无效。 | 
| ERROR_INVALID_REQUEST | 10004 | 表示请求无效。 | 
| ERROR_INVALID_RESPONSE | 10005 | 表示响应无效。 | 
| ERROR_NETWORK_EXCEPTION | 10006 | 表示网络异常。 | 
| ERROR_OAUTH_AUTHENTICATOR_NOT_EXIST | 10007 | 表示认证器不存在。 | 
| ERROR_OAUTH_CANCELED | 10008 | 表示鉴权取消。 | 
| ERROR_OAUTH_LIST_TOO_LARGE | 10009 | 表示开放授权列表过大。 | 
| ERROR_OAUTH_SERVICE_BUSY | 10010 | 表示开放授权服务忙碌。 | 
| ERROR_OAUTH_SERVICE_EXCEPTION | 10011 | 表示开放授权服务异常。 | 
| ERROR_OAUTH_SESSION_NOT_EXIST | 10012 | 表示鉴权会话不存在。 | 
| ERROR_OAUTH_TIMEOUT | 10013 | 表示鉴权超时。 | 
| ERROR_OAUTH_TOKEN_NOT_EXIST | 10014 | 表示开放授权令牌不存在。 | 
| ERROR_OAUTH_TOKEN_TOO_MANY | 10015 | 表示开放授权令牌过多。 | 
| ERROR_OAUTH_UNSUPPORT_ACTION | 10016 | 表示不支持的鉴权操作。 | 
| ERROR_OAUTH_UNSUPPORT_AUTH_TYPE | 10017 | 表示不支持的鉴权类型。 | 
| ERROR_PERMISSION_DENIED | 10018 | 表示权限不足。 | 
AuthenticatorCallback8+
OAuth认证器回调接口。
onResult8+
onResult: (code: number, result: {[key: string]: any}) => void
通知鉴权结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| code | number | 是 | 鉴权结果码。 | 
| result | {[key: string]: any} | 是 | 鉴权结果。 | 
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
var sessionId = "1234";
appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",[account_appAccount.Constants.KEY_OWNER]: "com.example.ohos.accountjsdemo",[account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};callback.OnResult(account_appAccount.ResultCode.SUCCESS, result);
}).catch((err) => {console.log("getAuthenticatorCallback err: "  + JSON.stringify(err));
});
 
onRequestRedirected8+
onRequestRedirected: (request: Want) => void
通知鉴权请求被跳转。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| request | Want | 是 | 用于跳转的请求信息。 | 
示例:
class MyAuthenticator extends account_appAccount.Authenticator {addAccountImplicitly(authType, callerBundleName, options, callback) {callback.onRequestRedirected({bundleName: "com.example.ohos.accountjsdemo",abilityName: "com.example.ohos.accountjsdemo.LoginAbility",});}authenticate(name, authType, callerBundleName, options, callback) {var result = {[account_appAccount.Constants.KEY_NAME]: name,[account_appAccount.Constants.KEY_AUTH_TYPE]: authType,[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};callback.onResult(account_appAccount.ResultCode.SUCCESS, result);}
}
 
Authenticator8+
OAuth认证器基类。
addAccountImplicitly8+
addAccountImplicitly(authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
根据指定的鉴权类型和可选项,隐式地添加应用帐户,并使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
| 参数名 | 类型 | 必填 | 说明 | 
|---|---|---|---|
| authType | string | 是 | 应用帐户的鉴权类型。 | 
| callerBundleName | string | 是 | 鉴权请求方的包名。 | 
| options | {[key: string]: any} | 是 | 鉴权所需要的可选项。 | 
| callback | AuthenticatorCallback | 是 | 认证器回调,用于返回鉴权结果。 | 
authenticate8+
authenticate(name: string, authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
对应用帐户进行鉴权,获取OAuth令牌,并使用callback回调异步返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:

| 接口名 | 类型 | 必填 | 说明 HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿 | 
|---|---|---|---|
| name | string | 是 | 应用帐户的名称。 | 
| authType | string | 是 | 应用帐户的鉴权类型。 | 
| callerBundleName | string | 是 | 鉴权请求方的包名。 | 
| options | {[key: string]: any} | 是 | 鉴权所需要的可选项。 | 
| callback | AuthenticatorCallback | 是 | 认证器回调,用于返回鉴权结果。 | 
示例:
class MyAuthenticator extends account_appAccount.Authenticator {addAccountImplicitly(authType, callerBundleName, options, callback) {callback.onRequestRedirected({bundleName: "com.example.ohos.accountjsdemo",abilityName: "com.example.ohos.accountjsdemo.LoginAbility",});}authenticate(name, authType, callerBundleName, options, callback) {var result = {[account_appAccount.Constants.KEY_NAME]: name,[account_appAccount.Constants.KEY_AUTH_TYPE]: authType,[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};callback.onResult(account_appAccount.ResultCode.SUCCESS, result);}
}export default {onConnect(want) {return new MyAuthenticator();}
}
相关文章:
鸿蒙开发设备管理:【@ohos.account.appAccount (应用帐号管理)】
应用帐号管理 说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 导入模…...
java项目自定义打印日志,打印请求方式,参数用时等
1.相关依赖 <!-- 私人工具包 --><dependency><groupId>cn.changeforyou</groupId><artifactId>location</artifactId><version>1.13-SNAPSHOT</version></dependency><!-- hutool工具依赖 --><dependency>…...
03:EDA的进阶使用
使用EDA设计一个38译码器电路和245放大电路 1、38译码器1.1、查看74HC138芯片数据1.2、电路设计 2、245放大电路2.1、查看数据手册2.2、设计电路 3、绘制PCB3.1、导入3.2、放置3.3、飞线3.4、特殊方式连接GND3.5、泪滴3.6、配置丝印和划分区域3.7、添加typc接口供电 1、38译码器…...
Linux/Unix系统指令:(tar压缩和解压)
tar 是一个在Linux和Unix系统中用于创建和处理归档文件的命令。 下面是tar命令的详细用法,包括它的所有常用选项和一些示例。 基本语法 tar [选项] [归档文件] [文件或目录]常用选项 基本操作 -c:创建一个新的归档文件(create)…...
MySQL 日期和时间函数知识点总结
引言 在数据库管理和开发中,日期查询是一项基础且频繁使用的功能。MySQL提供了丰富的日期和时间处理函数,使得我们能够灵活地进行日期查询和数据处理。本文将详细介绍MySQL中关于日期查询的几个重要知识点,并附上具体的案例。 1. MySQL的日…...
鸿蒙登录页面及页面跳转的设计
目录 任务目标任务分析任务实施1.新建工程项目HMLogin2.设计登录页面Index.visual3.设计第二个页面SecondPage4.修改Index.ets代码5.修改SecondPage.ets代码6.运行工程 任务目标 设计一个简单的登录页面,要求可以将第一页的登录信息,传递到第二个页面&a…...
【居家养老实训室】:看中医保健在养老中的应用
本文以居家养老实训室为视角,深入探讨了中医保健在养老中的应用。通过对中医保健理念、常用方法以及在居家养老中的具体实践进行分析,阐述了其在改善老年人健康状况、提高生活质量方面的重要作用。同时,也指出了目前应用中存在的问题…...
【区块链+基础设施】区块链服务网络 BSN | FISCO BCOS应用案例
BSN(Blockchain-based Service Network,区块链服务网络)是一个跨云服务、跨门户、跨底层框架,用于部 署和运行各类区块链应用的全球性基础设施网络,旨在为开发者提供低成本和技术互通的区块链一站式服务。 2019 年 12…...
六、快速启动框架:SpringBoot3实战-个人版
六、快速启动框架:SpringBoot3实战 文章目录 六、快速启动框架:SpringBoot3实战一、SpringBoot3介绍1.1 SpringBoot3简介1.2 系统要求1.3 快速入门1.4 入门总结回顾复习 二、SpringBoot3配置文件2.1 统一配置管理概述2.2 属性配置文件使用2.3 YAML配置文…...
SA 注册流程
目录 1. UE开机后按照3GPP TS 38.104定义的Synchronization Raster搜索特定频点 2.UE尝试检测PSS/SSS,取得下行时钟同步,并获取小区的PCI;如果失败则转步骤1搜索下一个频点;否则继续后续步骤; 3.解析Mib,…...
图像的灰度直方图
先来认识一下灰度直方图,灰度直方图是图像灰度级的函数,用来描述每个灰度级在图像矩阵中的像素个数或者占有率。接下来使用程序实现直方图: 首先导入所需的程序包: In [ ]: import cv2 import numpy as np import matplotlib…...
软件测试面试题:Redis的五种数据结构,以及使用的场景是什么?
字符串(Strings):简单直接,就像记事本一样,用来存储和快速访问简单的数据,比如缓存网页或者保存用户会话信息。 列表(Lists):有序的数据集合,适合用来存储按…...
Java后端每日面试题(day1)
目录 JavaWeb三大组件依赖注入的方式Autowire和Resurce有什么区别?Spring Boot的优点Spring IoC是什么?说说Spring Aop的优点Component和Bean的区别自定义注解时使用的RetentionPolicy枚举类有哪些值?如何理解Spring的SPI机制?Spr…...
AI与测试相辅相成
AI助力软件测试 1.AI赋能软件测试 使用AI工具来帮助测试人员提高测试效率,提供缺陷分析和缺陷预测。 语法格式 设定角色 具体指示 上下文格式 例: 角色:你是一个测试人员 内容:请帮我生成登录案例的测试用例  1.只有输入正确账号和密码才…...
搜索+动态规划
刷题刷题刷题刷题 Forgery - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路: 需要两个数组,一个数组全部初始化为".",另一个数组输入数据,每碰到一个“.”就进行染色操作,将其周围的…...
strcpy,srtcmp,strlen函数漏洞利用
strcpy,srtcmp,strlen函数漏洞利用 strcpy strcpy函数用于将字符串复制到另一个指针指向的空间中,遇到空字符 **b’x\00’**时停止,: 所以可以利用 strcpy不检查缓冲区 的漏洞(构造的字符串要以\0结尾),…...
SketchUp + Enscape+ HTC Focus3 VR
1. 硬件: 设备连接 2. 软件: 安装steam steamVR Vive Business streaming 3. 操作: 双方登录steam 账号,然后带上头盔,用手柄在HTC Focus3 安装 串流软件,选择串流软件,在Enscape中选择 VR 模式即可 4.最终效果: SketchUp Enscape HTC Focus 3 VR 实时预览_哔哩哔哩_bi…...
推荐3款Windows系统的神级软件,免费、轻量、绝对好用!
DiskView DiskView是一款用于管理和查看磁盘空间的工具,它集成了于微软的Windows操作系统资源管理器中,以显示直观的磁盘空间使用情况。该软件通过生成图形化地图,帮助用户组织和管理大量文件和文件夹,从而高效地管理磁盘空间。用…...
-bash: /snap/bin/docker: 没有那个文件或目录
-bash: /snap/bin/docker: 没有那个文件或目录 解决办法 export PATH$PATH:/usr/bin/docker然后,重新加载配置文件 source ~/.bashrc...
[深度学习]卷积理解
单通道卷积 看这个的可视化就很好理解了 https://github.com/vdumoulin/conv_arithmetic/blob/master/README.md 多通道卷积 当输入有多个通道时,卷积核需要拥有相同的通道数. 假设输入有c个通道,那么卷积核的每个通道分别于相应的输入数据通道进行卷积,然后将得到的特征图对…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?
FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...
怎么开发一个网络协议模块(C语言框架)之(六) ——通用对象池总结(核心)
+---------------------------+ | operEntryTbl[] | ← 操作对象池 (对象数组) +---------------------------+ | 0 | 1 | 2 | ... | N-1 | +---------------------------+↓ 初始化时全部加入 +------------------------+ +-------------------------+ | …...

 说明:  本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。开发前请熟悉鸿蒙开发指导文档: