harmony 鸿蒙@ohos.account.appAccount (应用帐号管理)

2022-08-09 浏览 (915)

@ohos.account.appAccount (应用帐号管理)

本模块提供应用帐号信息的添加、删除、修改和查询基础能力,并支持应用间鉴权和分布式数据同步功能。

说明:

本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import account_appAccount from '@ohos.account.appAccount';

account_appAccount.createAppAccountManager

createAppAccountManager(): AppAccountManager

创建应用帐号管理器对象。

系统能力: SystemCapability.Account.AppAccount

返回值:

类型说明
AppAccountManager应用帐号管理器对象。

示例:

let appAccountManager = account_appAccount.createAppAccountManager();

AppAccountManager

应用帐号管理器类。

createAccount9+

createAccount(name: string, callback: AsyncCallback<void>): void;

根据帐号名创建应用帐号。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
callbackAsyncCallback<void>是回调函数。当创建成功时,err为null,否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name.
12300004Account already exists.
12300007The number of accounts reaches the upper limit.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.createAccount('WangWu', (err: BusinessError) => { 
      console.log('createAccount err: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('createAccount err: ' + JSON.stringify(err));
}

createAccount9+

createAccount(name: string, options: CreateAccountOptions, callback: AsyncCallback<void>): void

根据帐号名和可选项创建应用帐号。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
optionsCreateAccountOptions是创建应用帐号的选项,可提供自定义数据,但不建议包含敏感数据(如密码、Token等)。
callbackAsyncCallback<void>是回调函数。当创建成功时,err为null,否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or options.
12300004Account already exists.
12300007The number of accounts reaches the upper limit.

示例:

import { BusinessError } from '@ohos.base';

let options:account_appAccount.CreateAccountOptions  = {
  customData: {
    age: '10'
  }
}
try {
  appAccountManager.createAccount('LiSi', options, (err: BusinessError) => {
    if (err) {
      console.log('createAccount failed, error: ' + JSON.stringify(err));
    } else {
      console.log('createAccount successfully');
    }
  });
} catch(err) {
  console.log('createAccount exception: ' + JSON.stringify(err));
}

createAccount9+

createAccount(name: string, options?: CreateAccountOptions): Promise<void>

根据帐号名和可选项创建应用帐号。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
optionsCreateAccountOptions否创建应用帐号的选项,可提供自定义数据,但不建议包含敏感数据(如密码、Token等)。不填无影响,默认为空,表示创建的该帐号无额外信息需要添加。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or options.
12300004Account already exists.
12300007The number of accounts reaches the upper limit.

示例:

import { BusinessError } from '@ohos.base';

let options: account_appAccount.CreateAccountOptions = {
  customData: {
    age: '10'
  }
}
try {
  appAccountManager.createAccount('LiSi', options).then(() => {
    console.log('createAccount successfully');
  }).catch((err: BusinessError) => {
    console.log('createAccount failed, error: ' + JSON.stringify(err));
  });
} catch(err) {
  console.log('createAccount exception: ' + JSON.stringify(err));
}

createAccountImplicitly9+

createAccountImplicitly(owner: string, callback: AuthCallback): void

根据指定的帐号所有者隐式地创建应用帐号。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring是应用帐号所有者的包名。
callbackAuthCallback是认证器回调对象,返回创建结果。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid owner.
12300007The number of accounts reaches the upper limit.
12300010Account service busy.
12300113Authenticator service not found.
12300114Authenticator service exception.

示例:

import { BusinessError } from '@ohos.base';
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';

let context = getContext(this) as common.UIAbilityContext; // UIAbilityContext

function onResultCallback(code: number, result?: account_appAccount.AuthResult): void {
  console.log('resultCode: ' + code);
  console.log('result: ' + JSON.stringify(result));
}

function onRequestRedirectedCallback(request: Want): void {
  let wantInfo: Want = {
    deviceId: '',
    bundleName: 'com.example.accountjsdemo',
    action: 'ohos.want.action.viewData',
    entities: ['entity.system.default'],
  }
  context.startAbility(wantInfo).then(() => {
    console.log('startAbility successfully');
  }).catch((err: BusinessError) => {
    console.log('startAbility err: ' + JSON.stringify(err));
  })
}

try {  
  appAccountManager.createAccountImplicitly('com.example.accountjsdemo', {
    onResult: onResultCallback,
    onRequestRedirected: onRequestRedirectedCallback
  });
} catch (err) {
  console.log('createAccountImplicitly exception: ' + JSON.stringify(err));
}

createAccountImplicitly9+

createAccountImplicitly(owner: string, options: CreateAccountImplicitlyOptions, callback: AuthCallback): void

根据指定的帐号所有者和可选项隐式地创建应用帐号。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring是应用帐号所有者的包名。
optionsCreateAccountImplicitlyOptions是隐式创建帐号的选项。
callbackAuthCallback是认证器回调对象,返回创建结果。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid owner or options.
12300007The number of accounts reaches the upper limit.
12300010Account service busy.
12300113Authenticator service not found.
12300114Authenticator service exception.

示例:

import { BusinessError } from '@ohos.base';
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';

let context = getContext(this) as common.UIAbilityContext; // UIAbilityContext

function onResultCallback(code: number, result?: account_appAccount.AuthResult): void {
  console.log('resultCode: ' + code);
  console.log('result: ' + JSON.stringify(result));
}

function onRequestRedirectedCallback(request: Want): void {
  let wantInfo: Want = {
    deviceId: '',
    bundleName: 'com.example.accountjsdemo',
    action: 'ohos.want.action.viewData',
    entities: ['entity.system.default'],
  }
  context.startAbility(wantInfo).then(() => {
    console.log('startAbility successfully');
  }).catch((err: BusinessError) => {
    console.log('startAbility err: ' + JSON.stringify(err));
  })
}

let options: account_appAccount.CreateAccountImplicitlyOptions = {
  authType: 'getSocialData',
  requiredLabels: [ 'student' ]
};
try {
  appAccountManager.createAccountImplicitly('com.example.accountjsdemo', options, {
    onResult: onResultCallback,
    onRequestRedirected: onRequestRedirectedCallback
  });
} catch (err) {
  console.log('createAccountImplicitly exception: ' + JSON.stringify(err));
}

removeAccount9+

removeAccount(name: string, callback: AsyncCallback<void>): void

删除应用帐号。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
callbackAsyncCallback<void>是回调函数。当删除成功时,err为null,否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name.
12300003Account not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.removeAccount('ZhaoLiu', (err: BusinessError) => {
    if (err) {
      console.log('removeAccount failed, error: ' + JSON.stringify(err));
    } else {
      console.log('removeAccount successfully');
    }
 });
} catch(err) {
  console.log('removeAccount exception: ' + JSON.stringify(err));
}

removeAccount9+

removeAccount(name: string): Promise<void>

删除应用帐号。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name.
12300003Account not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.removeAccount('Lisi').then(() => {
    console.log('removeAccount successfully');
  }).catch((err: BusinessError) => {
    console.log('removeAccount failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('removeAccount exception: ' + JSON.stringify(err));
}

setAppAccess9+

setAppAccess(name: string, bundleName: string, isAccessible: boolean, callback: AsyncCallback<void>): void

设置指定应用对特定帐号的访问权限。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
bundleNamestring是第三方应用的包名。
isAccessibleboolean是是否可访问。true表示允许访问,false表示禁止访问。
callbackAsyncCallback<void>是回调函数,如果设置成功,err为null,否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or bundleName.
12300003Account not found.
12400001Application not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.setAppAccess('ZhangSan', 'com.example.accountjsdemo', true, (err: BusinessError) => {
    if (err) {
      console.log('setAppAccess failed: ' + JSON.stringify(err));
    } else {
      console.log('setAppAccess successfully');
    }
  });
} catch (err) {
  console.log('setAppAccess exception: ' + JSON.stringify(err));
}

setAppAccess9+

setAppAccess(name: string, bundleName: string, isAccessible: boolean): Promise<void>

设置指定应用对特定帐号的数据访问权限。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
bundleNamestring是第三方应用的包名。
isAccessibleboolean是是否可访问。true表示允许访问,false表示禁止访问。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or bundleName.
12300003Account not found.
12400001Application not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.setAppAccess('ZhangSan', 'com.example.accountjsdemo', true).then(() => {
    console.log('setAppAccess successfully');
  }).catch((err: BusinessError) => {
    console.log('setAppAccess failed: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('setAppAccess exception: ' + JSON.stringify(err));
}

checkAppAccess9+

checkAppAccess(name: string, bundleName: string, callback: AsyncCallback<boolean>): void

检查指定应用对特定帐号的数据是否可访问。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
bundleNamestring是第三方应用的包名。
callbackAsyncCallback<boolean>是回调函数。返回true表示指定应用可访问特定帐号的数据;返回false表示不可访问。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or bundleName.
12300003Account not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.checkAppAccess('ZhangSan', 'com.example.accountjsdemo',
    (err: BusinessError, isAccessible: boolean) => {
      if (err) {
        console.log('checkAppAccess failed, error: ' + JSON.stringify(err));
      } else {
        console.log('checkAppAccess successfully');
      }
    });
} catch (err) {
  console.log('checkAppAccess exception: ' + JSON.stringify(err));
}

checkAppAccess9+

checkAppAccess(name: string, bundleName: string): Promise<boolean>

检查指定应用对特定帐号的数据是否可访问。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
bundleNamestring是第三方应用的包名。

返回值:

类型说明
Promise<boolean>Promise对象。返回true表示指定应用可访问特定帐号的数据;返回false表示不可访问。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or bundleName.
12300003Account not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.checkAppAccess('ZhangSan', 'com.example.accountjsdemo').then((isAccessible: boolean) => {
    console.log('checkAppAccess successfully, isAccessible: ' + isAccessible);
  }).catch((err: BusinessError) => {
    console.log('checkAppAccess failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('checkAppAccess exception: ' + JSON.stringify(err));
}

setDataSyncEnabled9+

setDataSyncEnabled(name: string, isEnabled: boolean, callback: AsyncCallback<void>): void

开启或禁止指定应用帐号的数据同步功能。使用callback异步回调。

需要权限: ohos.permission.DISTRIBUTED_DATASYNC

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
isEnabledboolean是是否开启数据同步。
callbackAsyncCallback<void>是回调函数。当开启或禁止成功时,err为null,否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name.
12300003Account not found.

示例:

import { BusinessError } from '@ohos.base';

try {
    appAccountManager.setDataSyncEnabled('ZhangSan', true, (err: BusinessError) => { 
        console.log('setDataSyncEnabled err: ' + JSON.stringify(err));
    });
} catch (err) {
    console.log('setDataSyncEnabled err: ' + JSON.stringify(err));
}

setDataSyncEnabled9+

setDataSyncEnabled(name: string, isEnabled: boolean): Promise<void>

开启或禁止指定应用帐号的数据同步功能。使用Promise异步回调。

需要权限: ohos.permission.DISTRIBUTED_DATASYNC

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
isEnabledboolean是是否开启数据同步。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name.
12300003Account not found.

示例:

import { BusinessError } from '@ohos.base';

try {
    appAccountManager .setDataSyncEnabled('ZhangSan', true).then(() => { 
        console.log('setDataSyncEnabled Success');
    }).catch((err: BusinessError) => {
        console.log('setDataSyncEnabled err: ' + JSON.stringify(err));
    });
} catch (err) {
    console.log('setDataSyncEnabled err: ' + JSON.stringify(err));
}

checkDataSyncEnabled9+

checkDataSyncEnabled(name: string, callback: AsyncCallback<boolean>): void

检查指定应用帐号是否开启数据同步功能。使用callback异步回调。

需要权限: ohos.permission.DISTRIBUTED_DATASYNC

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
callbackAsyncCallback<boolean>是回调函数。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name.
12300003Account not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.checkDataSyncEnabled('ZhangSan', (err: BusinessError, isEnabled: boolean) => {
    if (err) {
      console.log('checkDataSyncEnabled failed, err: ' + JSON.stringify(err));
    } else {
      console.log('checkDataSyncEnabled successfully, isEnabled: ' + isEnabled);
    }
  });
} catch (err) {
  console.log('checkDataSyncEnabled err: ' + JSON.stringify(err));
}

checkDataSyncEnabled9+

checkDataSyncEnabled(name: string): Promise<boolean>

检查指定应用帐号是否开启数据同步功能。使用Promise异步回调。

需要权限: ohos.permission.DISTRIBUTED_DATASYNC

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。

返回值:

类型说明
Promise<boolean>Promise对象。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name.
12300003Account not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.checkDataSyncEnabled('ZhangSan').then((isEnabled: boolean) => {
      console.log('checkDataSyncEnabled successfully, isEnabled: ' + isEnabled);
  }).catch((err: BusinessError) => {
    console.log('checkDataSyncEnabled failed, err: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('checkDataSyncEnabled err: ' + JSON.stringify(err));
}

setCredential9+

setCredential(name: string, credentialType: string, credential: string,callback: AsyncCallback<void>): void

设置指定应用帐号的凭据。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
credentialTypestring是凭据类型。
credentialstring是凭据取值。
callbackAsyncCallback<void>是回调函数。当凭据设置成功时,err为null,否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, credentialType or credential.
12300003Account not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.setCredential('ZhangSan', 'PIN_SIX', 'xxxxxx', (err: BusinessError) => {
    if (err) {
      console.log('setCredential failed, error: ' + JSON.stringify(err));
    } else {
      console.log('setCredential successfully');
    }
  });
} catch (err) {
  console.log('setCredential exception: ' + JSON.stringify(err));
}

setCredential9+

setCredential(name: string, credentialType: string, credential: string): Promise<void>

设置指定应用帐号的凭据。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
credentialTypestring是凭据类型。
credentialstring是凭据取值。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, credentialType or credential.
12300003Account not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.setCredential('ZhangSan', 'PIN_SIX', 'xxxxxx').then(() => {
    console.log('setCredential successfully');
  }).catch((err: BusinessError) => {
    console.log('setCredential failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('setCredential exception: ' + JSON.stringify(err));
}

getCredential9+

getCredential(name: string, credentialType: string, callback: AsyncCallback<string>): void

获取指定应用帐号的凭据。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
credentialTypestring是凭据类型。
callbackAsyncCallback<string>是回调函数。当获取凭据成功时,err为null,data为指定应用帐号的凭据;否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or credentialType.
12300003Account not found.
12300102Credential not found.

示例:

import { BusinessError } from '@ohos.base';

try {
    appAccountManager.getCredential('ZhangSan', 'PIN_SIX', (err: BusinessError, result: string) => { 
      if (err) {
        console.log('getCredential failed, error: ' + JSON.stringify(err));
      } else {
        console.log('getCredential successfully, result: ' + result);
      }
    });
} catch (err) {
    console.log('getCredential err: ' + JSON.stringify(err));
}

getCredential9+

getCredential(name: string, credentialType: string): Promise<string>

获取指定应用帐号的凭据。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
credentialTypestring是凭据类型。

返回值:

类型说明
Promise<string>Promise对象,返回指定应用帐号的凭据。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or credentialType.
12300003Account not found.
12300102Credential not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.getCredential('ZhangSan', 'PIN_SIX').then((credential: string) => {
      console.log('getCredential successfully, credential: ' + credential);
  }).catch((err: BusinessError) => {
      console.log('getCredential failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('getCredential exception: ' + JSON.stringify(err));
}

setCustomData9+

setCustomData(name: string, key: string, value: string, callback: AsyncCallback<void>): void

设置指定应用帐号的自定义数据。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
keystring是自定义数据的键名。
valuestring是自定义数据的取值。
callbackAsyncCallback<void>是回调函数。当设置自定义数据成功时,err为null,否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, key or value.
12300003Account not found.
12400003The number of custom data reaches the upper limit.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.setCustomData('ZhangSan', 'age', '12', (err: BusinessError) => {
    if (err) {
      console.log('setCustomData failed, error: ' + JSON.stringify(err));
    } else {
      console.log('setCustomData successfully');
    }
  });
} catch (err) {
  console.log('setCustomData exception: ' + JSON.stringify(err));
}

setCustomData9+

setCustomData(name: string, key: string, value: string): Promise<void>

设置指定应用帐号的自定义数据。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
keystring是自定义数据的键名。
valuestring是自定义数据的取值。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, key or value.
12300003Account not found.
12400003The number of custom data reaches the upper limit.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.setCustomData('ZhangSan', 'age', '12').then(() => {
    console.log('setCustomData successfully');
  }).catch((err: BusinessError) => {
    console.log('setCustomData failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('setCustomData exception: ' + JSON.stringify(err));
}

getCustomData9+

getCustomData(name: string, key: string, callback: AsyncCallback<string>): void

根据指定键名获取特定应用帐号的自定义数据。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
keystring是自定义数据的键名。
callbackAsyncCallback<string>是回调函数。当获取成功时,err为null,data为自定义数据的取值;否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or key.
12300003Account not found.
12400002Custom data not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.getCustomData('ZhangSan', 'age', (err: BusinessError, data: string) => {
    if (err) {
      console.log('getCustomData failed, error: ' + err);
    } else {
      console.log('getCustomData successfully, data: ' + data);
    }
  });
} catch (err) {
  console.log('getCustomData exception: ' + JSON.stringify(err));
}

getCustomData9+

getCustomData(name: string, key: string): Promise<string>

根据指定键名获取特定应用帐号的自定义数据。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
keystring是自定义数据的键名。

返回值:

类型说明
Promise<string>Promise对象,返回自定义数据的取值。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or key.
12300003Account not found.
12400002Custom data not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.getCustomData('ZhangSan', 'age').then((data: string) => {
    console.log('getCustomData successfully, data: ' + data);
  }).catch((err: BusinessError) => {
    console.log('getCustomData failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('getCustomData exception: ' + JSON.stringify(err));
}

getCustomDataSync9+

getCustomDataSync(name: string, key: string): string;

根据指定键名获取特定应用帐号的自定义数据。使用同步方式返回结果。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
keystring是自定义数据的键名。

返回值:

类型说明
string自定义数据的取值。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or key.
12300003Account not found.
12400002Custom data not found.

示例:

try {
    let value = appAccountManager.getCustomDataSync('ZhangSan', 'age');
    console.info('getCustomDataSync successfully, vaue: ' + value);
} catch (err) {
  console.error('getCustomDataSync failed, error: ' + JSON.stringify(err));
}

getAllAccounts9+

getAllAccounts(callback: AsyncCallback<Array<AppAccountInfo>>): void

获取所有可访问的应用帐号信息。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
callbackAsyncCallback<Array<AppAccountInfo>>是回调函数。当查询成功时,err为null,data为获取到的应用帐号信息列表;否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.getAllAccounts((err: BusinessError, data: account_appAccount.AppAccountInfo[]) => {
    if (err) {
      console.debug('getAllAccounts failed, error: ' + JSON.stringify(err));
    } else {
      console.debug('getAllAccounts successfully');
    }
  });
} catch (err) {
    console.debug('getAllAccounts exception: ' + JSON.stringify(err));
}

getAllAccounts9+

getAllAccounts(): Promise<Array<AppAccountInfo>>

获取所有可访问的应用帐号信息。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

返回值:

类型说明
Promise<Array<AppAccountInfo>>Promise对象,返回全部应用已授权帐号信息对象。

错误码:

错误码ID错误信息
12300001System service exception.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.getAllAccounts().then((data: account_appAccount.AppAccountInfo[]) => {
    console.debug('getAllAccounts successfully');
  }).catch((err: BusinessError) => {
    console.debug('getAllAccounts failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.debug('getAllAccounts exception: ' + JSON.stringify(err));
}

getAccountsByOwner9+

getAccountsByOwner(owner: string, callback: AsyncCallback<Array<AppAccountInfo>>): void

根据应用帐号所有者获取调用方可访问的应用帐号列表。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring是应用帐号所有者的包名。
callbackAsyncCallback<Array<AppAccountInfo>>是回调函数。如果获取成功,err为null,data为获取到的应用帐号列表;否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid owner.
12400001Application not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.getAccountsByOwner('com.example.accountjsdemo2',
    (err: BusinessError, data: account_appAccount.AppAccountInfo[]) => {
      if (err) {
        console.debug('getAccountsByOwner failed, error:' + JSON.stringify(err));
      } else {
        console.debug('getAccountsByOwner successfully, data:' + JSON.stringify(data));
      }
    });
} catch (err) {
  console.debug('getAccountsByOwner exception:' + JSON.stringify(err));
}

getAccountsByOwner9+

getAccountsByOwner(owner: string): Promise<Array<AppAccountInfo>>

根据应用帐号所有者获取调用方可访问的应用帐号列表。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring是应用帐号所有者的包名。

返回值:

类型说明
Promise<Array<AppAccountInfo>>Promise对象,返回获取到的应用帐号列表。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid owner.
12400001Application not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.getAccountsByOwner('com.example.accountjsdemo2').then((
    data: account_appAccount.AppAccountInfo[]) => {
    console.debug('getAccountsByOwner successfully, data: ' + JSON.stringify(data));
  }).catch((err: BusinessError) => {
    console.debug('getAccountsByOwner failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.debug('getAccountsByOwner exception: ' + JSON.stringify(err));
}

on('accountChange')9+

on(type: 'accountChange', owners: Array<string>, callback: Callback<Array<AppAccountInfo>>): void

订阅指定应用的帐号信息变更事件。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
type'accountChange'是事件回调类型,支持的事件为'accountChange',当目标应用更新帐号信息时,触发该事件。
ownersArray<string>是应用帐号所有者的包名列表。
callbackCallback<Array<AppAccountInfo>>是需要注册的回调函数,返回信息为发生变更的应用帐号列表。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid type or owners.
12400001Application not found.

示例:

function changeOnCallback(data: account_appAccount.AppAccountInfo[]): void {
	console.log('receive change data:' + JSON.stringify(data));
}
try{
	appAccountManager.on('accountChange', ['com.example.actsaccounttest'], changeOnCallback);
} catch(err) {
	console.error('on accountChange failed, error:' + JSON.stringify(err));
}

off('accountChange')9+

off(type: 'accountChange', callback?: Callback<Array<AppAccountInfo>>): void

取消订阅帐号信息变更事件。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
type'accountChange'是事件回调类型,支持的事件为'accountChange',当帐号所有者更新帐号信息时,触发该事件。
callbackCallback<Array<AppAccountInfo>>否需要注销的回调函数,默认为空,表示取消该类型事件所有的回调。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid type.

示例:

function changeOnCallback(data: account_appAccount.AppAccountInfo[]): void {
	console.log('receive change data:' + JSON.stringify(data));
}
try{
	appAccountManager.on('accountChange', ['com.example.actsaccounttest'], changeOnCallback);
} catch(err) {
	console.error('on accountChange failed, error:' + JSON.stringify(err));
}
try{
	appAccountManager.off('accountChange', changeOnCallback);
}
catch(err){
	console.error('off accountChange failed, error:' + JSON.stringify(err));
}

auth9+

auth(name: string, owner: string, authType: string, callback: AuthCallback): void

对应用帐号进行鉴权以获取授权令牌。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号所有者的包名。
authTypestring是鉴权类型。
callbackAuthCallback是回调对象,返回鉴权结果。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, owner or authType.
12300003Account not found.
12300010Account service busy.
12300113Authenticator service not found.
12300114Authenticator service exception.

示例:

import { BusinessError } from '@ohos.base';
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';

let context = getContext(this) as common.UIAbilityContext; // UIAbilityContext

function onResultCallback(code: number, authResult?: account_appAccount.AuthResult): void {
  console.log('resultCode: ' + code);
  console.log('authResult: ' + JSON.stringify(authResult));
}

function onRequestRedirectedCallback(request: Want): void {
  let wantInfo: Want = {
    deviceId: '',
    bundleName: 'com.example.accountjsdemo',
    action: 'ohos.want.action.viewData',
    entities: ['entity.system.default'],
  }
  context.startAbility(wantInfo).then(() => {
    console.log('startAbility successfully');
  }).catch((err: BusinessError) => {
    console.log('startAbility err: ' + JSON.stringify(err));
  })
}

try {
  appAccountManager.auth('LiSi', 'com.example.accountjsdemo', 'getSocialData', {
      onResult: onResultCallback,
      onRequestRedirected: onRequestRedirectedCallback
  });
} catch (err) {
  console.log('auth exception: ' + JSON.stringify(err));
}

auth9+

auth(name: string, owner: string, authType: string, options: {[key: string]: Object}, callback: AuthCallback): void

对应用帐号进行鉴权以获取授权令牌。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号所有者的包名。
authTypestring是鉴权类型。
options{[key: string]: Object}是鉴权所需的可选项。
callbackAuthCallback是回调对象,返回鉴权结果。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, owner, authType or options.
12300003Account not found.
12300010Account service busy.
12300113Authenticator service not found.
12300114Authenticator service exception.

示例:

import { BusinessError } from '@ohos.base';
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';

let context = getContext(this) as common.UIAbilityContext; // UIAbilityContext

function onResultCallback(code: number, authResult?: account_appAccount.AuthResult): void {
  console.log('resultCode: ' + code);
  console.log('authResult: ' + JSON.stringify(authResult));
}

function onRequestRedirectedCallback(request: Want): void {
  let wantInfo: Want = {
    deviceId: '',
    bundleName: 'com.example.accountjsdemo',
    action: 'ohos.want.action.viewData',
    entities: ['entity.system.default'],
  }
  context.startAbility(wantInfo).then(() => {
    console.log('startAbility successfully');
  }).catch((err: BusinessError) => {
    console.log('startAbility err: ' + JSON.stringify(err));
  })
}

let options: Record<string, Object> = {
  'password': 'xxxx',
};
try {
  appAccountManager.auth('LiSi', 'com.example.accountjsdemo', 'getSocialData', options, {
      onResult: onResultCallback,
      onRequestRedirected: onRequestRedirectedCallback
  });
} catch (err) {
  console.log('auth exception: ' + JSON.stringify(err));
}

getAuthToken9+

getAuthToken(name: string, owner: string, authType: string, callback: AsyncCallback<string>): void

获取指定应用帐号的特定鉴权类型的授权令牌。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号所有者的包名。
authTypestring是鉴权类型。
callbackAsyncCallback<string>是回调函数。当获取成功时,err为null,data为授权令牌值;否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, owner or authType.
12300003Account not found.
12300107AuthType not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.getAuthToken('LiSi', 'com.example.accountjsdemo', 'getSocialData',
    (err: BusinessError, token: string) => {
      if (err) {
        console.log('getAuthToken failed, error: ' + JSON.stringify(err));
      } else {
        console.log('getAuthToken successfully, token: ' + token);
      }
    });
} catch (err) {
    console.log('getAuthToken exception: ' + JSON.stringify(err));
}

getAuthToken9+

getAuthToken(name: string, owner: string, authType: string): Promise<string>

获取指定应用帐号的特定鉴权类型的授权令牌。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号所有者的包名。
authTypestring是鉴权类型。

返回值:

类型说明
Promise<string>Promise对象,返回授权令牌。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, owner or authType.
12300003Account not found.
12300107AuthType not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.getAuthToken('LiSi', 'com.example.accountjsdemo', 'getSocialData').then((token: string) => {
    console.log('getAuthToken successfully, token: ' + token);
  }).catch((err: BusinessError) => {
    console.log('getAuthToken failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
    console.log('getAuthToken exception: ' + JSON.stringify(err));
}

setAuthToken9+

setAuthToken(name: string, authType: string, token: string, callback: AsyncCallback<void>): void

为指定应用帐号设置特定鉴权类型的授权令牌。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是鉴权类型。
tokenstring是授权令牌。
callbackAsyncCallback<void>是回调函数。当设置成功时,err为null;否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, authType or token.
12300003Account not found.
12400004The number of tokens reaches the upper limit.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.setAuthToken('LiSi', 'getSocialData', 'xxxx', (err: BusinessError) => {
    if (err) {
      console.log('setAuthToken failed, error: ' + JSON.stringify(err));
    } else {
      console.log('setAuthToken successfully');
    }
  });
} catch (err) {
  console.log('setAuthToken exception: ' + JSON.stringify(err));
}

setAuthToken9+

setAuthToken(name: string, authType: string, token: string): Promise<void>

为指定应用帐号设置特定鉴权类型的授权令牌。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是鉴权类型。
tokenstring是授权令牌。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, authType or token.
12300003Account not found.
12400004The number of tokens reaches the upper limit.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.setAuthToken('LiSi', 'getSocialData', 'xxxx').then(() => {
      console.log('setAuthToken successfully');
  }).catch((err: BusinessError) => {
      console.log('setAuthToken failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('setAuthToken exception: ' + JSON.stringify(err));
}

deleteAuthToken9+

deleteAuthToken(name: string, owner: string, authType: string, token: string, callback: AsyncCallback<void>): void

删除指定应用帐号的特定鉴权类型的授权令牌。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号所有者的包名。
authTypestring是鉴权类型。
tokenstring是授权令牌。
callbackAsyncCallback<void>是回调函数。当删除成功时,err为null;否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, owner, authType or token.
12300003Account not found.
12300107AuthType not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.deleteAuthToken('LiSi', 'com.example.accountjsdemo', 'getSocialData', 'xxxxx',
    (err: BusinessError) => {
      if (err) {
        console.log('deleteAuthToken failed, error: ' + JSON.stringify(err));
      } else {
        console.log('deleteAuthToken successfully');
      }
    });
} catch (err) {
  console.log('deleteAuthToken exception: ' + JSON.stringify(err));
}

deleteAuthToken9+

deleteAuthToken(name: string, owner: string, authType: string, token: string): Promise<void>

删除指定应用帐号的特定鉴权类型的授权令牌。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号所有者的包名。
authTypestring是鉴权类型。
tokenstring是授权令牌。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, owner, authType or token.
12300003Account not found.
12300107AuthType not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.deleteAuthToken('LiSi', 'com.example.accountjsdemo', 'getSocialData', 'xxxxx').then(() => {
    console.log('deleteAuthToken successfully');
  }).catch((err: BusinessError) => {
    console.log('deleteAuthToken failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('deleteAuthToken exception: ' + JSON.stringify(err));
}

setAuthTokenVisibility9+

setAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean, callback: AsyncCallback<void>): void

设置指定帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是鉴权类型。
bundleNamestring是被设置可见性的应用包名。
isVisibleboolean是是否可见。true表示可见,false表示不可见。
callbackAsyncCallback<void>是回调函数。当设置成功时,err为null;否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, authType or bundleName.
12300003Account not found.
12300107AuthType not found.
12400001Application not found.
12400005The size of authorization list reaches the upper limit.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.setAuthTokenVisibility('LiSi', 'getSocialData', 'com.example.accountjsdemo', true,
    (err: BusinessError) => {
      if (err) {
        console.log('setAuthTokenVisibility failed, error: ' + JSON.stringify(err));
      } else {
        console.log('setAuthTokenVisibility successfully');
      }
    });
} catch (err) {
    console.log('setAuthTokenVisibility exception: ' + JSON.stringify(err));
}

setAuthTokenVisibility9+

setAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean): Promise<void>

设置指定帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是鉴权类型。
bundleNamestring是被设置可见性的应用包名。
isVisibleboolean是是否可见。true表示可见,false表示不可见。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, authType or bundleName.
12300003Account not found.
12300107AuthType not found.
12400001Application not found.
12400005The size of authorization list reaches the upper limit.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.setAuthTokenVisibility('LiSi', 'getSocialData', 'com.example.accountjsdemo', true).then(() => {
    console.log('setAuthTokenVisibility successfully');
  }).catch((err: BusinessError) => {
    console.log('setAuthTokenVisibility failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('setAuthTokenVisibility exception: ' + JSON.stringify(err));
}

checkAuthTokenVisibility9+

checkAuthTokenVisibility(name: string, authType: string, bundleName: string, callback: AsyncCallback<boolean>): void

检查指定应用帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是鉴权类型。
bundleNamestring是检查可见性的应用包名。
callbackAsyncCallback<boolean>是回调函数。当检查成功时,err为null,data为true表示可见,data为false表示不可见;否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, authType or bundleName.
12300003Account not found.
12300107AuthType not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.checkAuthTokenVisibility('LiSi', 'getSocialData', 'com.example.accountjsdemo',
    (err: BusinessError, isVisible: boolean) => {
      if (err) {
        console.log('checkAuthTokenVisibility failed, error: ' + JSON.stringify(err));
      } else {
        console.log('checkAuthTokenVisibility successfully, isVisible: ' + isVisible);
      }
    });
} catch (err) {
  console.log('checkAuthTokenVisibility exception: ' + JSON.stringify(err));
}

checkAuthTokenVisibility9+

checkAuthTokenVisibility(name: string, authType: string, bundleName: string): Promise<boolean>

检查指定应用帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是鉴权类型。
bundleNamestring是用于检查可见性的应用包名。

返回值:

类型说明
Promise<boolean>Promise对象。返回true表示授权令牌对指定应用的可见,返回false表示不可见。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, authType or bundleName.
12300003Account not found.
12300107AuthType not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.checkAuthTokenVisibility('LiSi', 'getSocialData', 'com.example.accountjsdemo').then((
    isVisible: boolean) => {
    console.log('checkAuthTokenVisibility successfully, isVisible: ' + isVisible);
  }).catch((err: BusinessError) => {
    console.log('checkAuthTokenVisibility failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('checkAuthTokenVisibility exception: ' + JSON.stringify(err));
}

getAllAuthTokens9+

getAllAuthTokens(name: string, owner: string, callback: AsyncCallback<Array<AuthTokenInfo>>): void

获取指定帐号对调用方可见的所有授权令牌。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号所有者的包名。
callbackAsyncCallback<Array<AuthTokenInfo>>是回调函数。当获取成功时,err为null,data为授权令牌数组;否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or owner.
12300003Account not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.getAllAuthTokens('LiSi', 'com.example.accountjsdemo',
    (err: BusinessError, tokenArr: account_appAccount.AuthTokenInfo[]) => {
      if (err) {
        console.log('getAllAuthTokens failed, error: ' + JSON.stringify(err));
      } else {
        console.log('getAllAuthTokens successfully, tokenArr: ' + tokenArr);
      }
    });
} catch (err) {
  console.log('getAllAuthTokens exception: ' + JSON.stringify(err));
}

getAllAuthTokens9+

getAllAuthTokens(name: string, owner: string): Promise<Array<AuthTokenInfo>>

获取指定帐号对调用方可见的所有授权令牌。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号所有者的包名。

返回值:

类型说明
Promise<Array<AuthTokenInfo>>Promise对象,返回授权令牌数组。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or owner.
12300003Account not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.getAllAuthTokens('LiSi', 'com.example.accountjsdemo').then((
    tokenArr: account_appAccount.AuthTokenInfo[]) => {
    console.log('getAllAuthTokens successfully, tokenArr: ' + JSON.stringify(tokenArr));
  }).catch((err: BusinessError) => {
    console.log('getAllAuthTokens failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('getAllAuthTokens exception: ' + JSON.stringify(err));
}

getAuthList9+

getAuthList(name: string, authType: string, callback: AsyncCallback<Array<string>>): void

获取指定应用帐号的特定鉴权类型的授权列表,即被授权的包名数组(令牌的授权列表通过setAuthTokenVisibility来设置)。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是鉴权类型。
callbackAsyncCallback<Array<string>>是回调函数。当获取成功时,err为null,data为被授权的包名数组;否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or authType.
12300003Account not found.
12300107AuthType not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.getAuthList('LiSi', 'getSocialData', (err: BusinessError, authList: string[]) => {
    if (err) {
      console.log('getAuthList failed, error: ' + JSON.stringify(err));
    } else {
      console.log('getAuthList successfully, authList: ' + authList);
    }
  });
} catch (err) {
  console.log('getAuthList exception: ' + JSON.stringify(err));
}

getAuthList9+

getAuthList(name: string, authType: string): Promise<Array<string>>

获取指定应用帐号的特定鉴权类型的授权列表,即被授权的包名数组(令牌的授权列表通过setAuthTokenVisibility来设置)。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是鉴权类型。

返回值:

类型说明
Promise<Array<string>>Promise对象,返回被授权的包名数组。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or authType.
12300003Account not found.
12300107AuthType not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.getAuthList('LiSi', 'getSocialData').then((authList: string[]) => {
      console.log('getAuthList successfully, authList: ' + authList);
  }).catch((err: BusinessError) => {
      console.log('getAuthList failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('getAuthList exception: ' + JSON.stringify(err));
}

getAuthCallback9+

getAuthCallback(sessionId: string, callback: AsyncCallback<AuthCallback>): void

获取鉴权会话的认证器回调对象。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
sessionIdstring是鉴权会话的标识。
callbackAsyncCallback<AuthCallback>是回调函数。当获取成功时,err为null,data为鉴权会话的认证器回调对象;否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid sessionId.
12300108Session not found.

示例:

import { BusinessError } from '@ohos.base';
import UIAbility from '@ohos.app.ability.UIAbility';
import Want from '@ohos.app.ability.Want';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';

export default class EntryAbility extends UIAbility {
  onCreate(want: Want, param: AbilityConstant.LaunchParam) { // ability 生命周期函数
    let sessionId: string = want.parameters![account_appAccount.Constants.KEY_SESSION_ID] as string;
    try {
      appAccountManager.getAuthCallback(sessionId, (err: BusinessError, callback: account_appAccount.AuthCallback) => {
        if (err != null) {
            console.log('getAuthCallback err: ' + JSON.stringify(err));
            return;
        }
        let result: account_appAccount.AuthResult = {
          account: {
            name: 'Lisi',
            owner: 'com.example.accountjsdemo',
          },
          tokenInfo: {
            token: 'xxxxxx',
            authType: 'getSocialData'
          }
        }; 
        callback.onResult(0, result);
      });
    } catch (err) {
        console.log('getAuthCallback exception: ' + JSON.stringify(err));
    }
  }
}

getAuthCallback9+

getAuthCallback(sessionId: string): Promise<AuthCallback>

获取鉴权会话的认证器回调对象。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
sessionIdstring是鉴权会话的标识。

返回值:

类型说明
Promise<AuthCallback>Promise对象,返回鉴权会话的认证器回调对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid sessionId.
12300108Session not found.

示例:

import { BusinessError } from '@ohos.base';
import UIAbility from '@ohos.app.ability.UIAbility';
import Want from '@ohos.app.ability.Want';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';

export default class EntryAbility extends UIAbility {
  onCreate(want: Want, param: AbilityConstant.LaunchParam) { // ability 生命周期函数
    let sessionId: string = want.parameters![account_appAccount.Constants.KEY_SESSION_ID] as string;
    try {
      appAccountManager.getAuthCallback(sessionId).then((callback: account_appAccount.AuthCallback) => {
      let result: account_appAccount.AuthResult = {
        account: {
          name: 'Lisi',
          owner: 'com.example.accountjsdemo',
        },
        tokenInfo: {
          token: 'xxxxxx',
          authType: 'getSocialData'
        }
      };
      callback.onResult(0, result);
      }).catch((err: BusinessError) => {
        console.log('getAuthCallback err: ' + JSON.stringify(err));
      });
    } catch (err) {
      console.log('getAuthCallback exception: ' + JSON.stringify(err));
    }
  }
}

queryAuthenticatorInfo9+

queryAuthenticatorInfo(owner: string, callback: AsyncCallback<AuthenticatorInfo>): void

获取指定应用的认证器信息。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring是应用包名。
callbackAsyncCallback<AuthenticatorInfo>是回调函数。当获取成功时,err为null,data为认证器信息对象;否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid owner.
12300113Authenticator service not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.queryAuthenticatorInfo('com.example.accountjsdemo',
    (err: BusinessError, info: account_appAccount.AuthenticatorInfo) => {
      if (err) {
        console.log('queryAuthenticatorInfo failed, error: ' + JSON.stringify(err));
      } else {
        console.log('queryAuthenticatorInfo successfully, info: ' + JSON.stringify(info));
      }
    });
} catch (err) {
  console.log('queryAuthenticatorInfo exception: ' + JSON.stringify(err));
}

queryAuthenticatorInfo9+

queryAuthenticatorInfo(owner: string): Promise<AuthenticatorInfo>

获取指定应用的认证器信息。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring是应用包名。

返回值:

类型说明
Promise<AuthenticatorInfo>Promise对象,返回指定应用的认证器信息对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid owner.
12300113Authenticator service not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.queryAuthenticatorInfo('com.example.accountjsdemo').then((
    info: account_appAccount.AuthenticatorInfo) => { 
    console.log('queryAuthenticatorInfo successfully, info: ' + JSON.stringify(info));
  }).catch((err: BusinessError) => {
    console.log('queryAuthenticatorInfo failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('queryAuthenticatorInfo exception: ' + JSON.stringify(err));
}

checkAccountLabels9+

checkAccountLabels(name: string, owner: string, labels: Array<string>, callback: AsyncCallback<boolean>): void;

检查指定应用帐号是否满足特定的标签集合。使用callback异步回调。该方法依赖目标应用的认证器提供标签检查的能力。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号的所有者。
labelsArray<string>是标签数组。
callbackAsyncCallback<boolean>是回调函数。当检查成功时,err为null,data为true表示满足特定的标签集合,data为false表示不满足;否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, owner or labels.
12300003Account not found.
12300010Account service busy.
12300113Authenticator service not found.
12300114Authenticator service exception.

示例:

import { BusinessError } from '@ohos.base';

let labels = ['student'];
try {
  appAccountManager.checkAccountLabels('zhangsan', 'com.example.accountjsdemo', labels,
    (err: BusinessError, hasAllLabels: boolean) => {
      if (err) {
        console.log('checkAccountLabels failed, error: ' + JSON.stringify(err));
      } else {
        console.log('checkAccountLabels successfully, hasAllLabels: ' + hasAllLabels);
      }
    });
} catch (err) {
  console.log('checkAccountLabels exception: ' + JSON.stringify(err));
}

checkAccountLabels9+

checkAccountLabels(name: string, owner: string, labels: Array<string>): Promise<boolean>

检查指定应用帐号是否满足特定的标签集合。使用Promise异步回调。该方法依赖目标应用的认证器提供标签检查的能力。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号的所有者。
labelsArray<string>是标签数组。

返回值:

类型说明
Promise<boolean>Promise对象。返回true表示指定帐号满足特定的标签集合,返回false表示不满足。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, owner or labels.
12300003Account not found.
12300010Account service busy.
12300113Authenticator service not found.
12300114Authenticator service exception.

示例:

import { BusinessError } from '@ohos.base';

let labels = ['student'];
try {
  appAccountManager.checkAccountLabels('zhangsan', 'com.example.accountjsdemo', labels).then((
    hasAllLabels: boolean) => {
    console.log('checkAccountLabels successfully: ' + hasAllLabels);
  }).catch((err: BusinessError) => {
    console.log('checkAccountLabels failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('checkAccountLabels exception: ' + JSON.stringify(err));
}

deleteCredential9+

deleteCredential(name: string, credentialType: string, callback: AsyncCallback<void>): void

删除指定应用帐号的特定类型的凭据信息。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
credentialTypestring是凭据类型。
callbackAsyncCallback<void>是回调函数。当删除成功时,err为null;否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or credentialType.
12300003Account not found.
12300102Credential not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.deleteCredential('zhangsan', 'PIN_SIX', (err: BusinessError) => {
    if (err) {
      console.log('deleteCredential failed, error: ' + JSON.stringify(err));
    } else {
      console.log('deleteCredential successfully');
    }
  });
} catch (err) {
  console.log('deleteCredential exception: ' + JSON.stringify(err));
}

deleteCredential9+

deleteCredential(name: string, credentialType: string): Promise<void>

删除指定应用帐号的特定类型的凭据信息。使用Promise异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
credentialTypestring是凭据类型。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or credentialType.
12300003Account not found.
12300102Credential not found.

示例:

import { BusinessError } from '@ohos.base';

try {
  appAccountManager.deleteCredential('zhangsan', 'PIN_SIX').then(() => {
    console.log('deleteCredential successfully');
  }).catch((err: BusinessError) => {
    console.log('deleteCredential failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('deleteCredential exception: ' + JSON.stringify(err));
}

selectAccountsByOptions9+

selectAccountsByOptions(options: SelectAccountsOptions, callback: AsyncCallback<Array<AppAccountInfo>>): void

根据选项选择调用方可访问的帐号列表。使用callback异步回调。如果选项中包含标签约束,则该方法依赖目标应用的认证器提供标签检查的能力。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
optionsSelectAccountsOptions是选择帐号的选项。
callbackAsyncCallback<Array<AppAccountInfo>>是回调函数。当根据选项选择请求方可访问的帐号列表时,err为null,data为可访问的帐号信息对象;否则为错误对象。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid options.
12300010Account service busy.
12300114Authenticator service exception.

示例:

import { BusinessError } from '@ohos.base';

let options: account_appAccount.SelectAccountsOptions = {
  allowedOwners: [ 'com.example.accountjsdemo' ],
  requiredLabels: [ 'student' ]
};
try {
  appAccountManager.selectAccountsByOptions(options,
    (err: BusinessError, accountArr: account_appAccount.AppAccountInfo[]) => {
      if (err) {
        console.log('selectAccountsByOptions failed, error: ' + JSON.stringify(err));
      } else {
        console.log('selectAccountsByOptions successfully, accountArr: ' + JSON.stringify(accountArr));
      }
    });
} catch (err) {
  console.log('selectAccountsByOptions exception: ' + JSON.stringify(err));
}

selectAccountsByOptions9+

selectAccountsByOptions(options: SelectAccountsOptions): Promise<Array<AppAccountInfo>>

根据选项选择调用方可访问的帐号列表。使用Promise异步回调。如果选项中包含标签约束,则该方法依赖目标应用的认证器提供标签检查的能力。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
optionsSelectAccountsOptions是选择帐号的选项。

返回值:

类型说明
Promise<AppAccountInfo>Promise对象,返回调用方可访问的帐号列表。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid options.
12300010Account service busy.
12300114Authenticator service exception.

示例:

import { BusinessError } from '@ohos.base';

let options: account_appAccount.SelectAccountsOptions = {
  allowedOwners: ['com.example.accountjsdemo']
};
try {
  appAccountManager.selectAccountsByOptions(options).then((accountArr: account_appAccount.AppAccountInfo[]) => {
    console.log('selectAccountsByOptions successfully, accountArr: ' + JSON.stringify(accountArr));
  }).catch((err: BusinessError) => {
    console.log('selectAccountsByOptions failed, error: ' + JSON.stringify(err));
  });
} catch (err) {
  console.log('selectAccountsByOptions exception: ' + JSON.stringify(err));
}

verifyCredential9+

verifyCredential(name: string, owner: string, callback: AuthCallback): void;

验证指定帐号的凭据。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号所有者的包名。
callbackAuthCallback是回调函数,返回验证结果。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name or owner.
12300003Account not found.
12300010Account service busy.
12300113Authenticator service not found.
12300114Authenticator service exception.

示例:

import Want from '@ohos.app.ability.Want';

try {
    appAccountManager.verifyCredential('zhangsan', 'com.example.accountjsdemo', {
        onResult: (resultCode: number, result?: account_appAccount.AuthResult) => {
            console.log('verifyCredential onResult, resultCode: ' + JSON.stringify(resultCode));
            console.log('verifyCredential onResult, result: ' + JSON.stringify(result));
        },
        onRequestRedirected: (request: Want) => {
            console.log('verifyCredential onRequestRedirected, request: ' + JSON.stringify(request));
        }
    });
} catch (err) {
    console.log('verifyCredential err: ' + JSON.stringify(err));
}

verifyCredential9+

verifyCredential(name: string, owner: string, options: VerifyCredentialOptions, callback: AuthCallback): void;

验证用户凭据。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号所有者的包名。
optionsVerifyCredentialOptions是验证凭据的选项。
callbackAuthCallback是回调函数,返回验证结果。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid name, owner or options.
12300003Account not found.
12300010Account service busy.
12300113Authenticator service not found.
12300114Authenticator service exception.

示例:

import Want from '@ohos.app.ability.Want';

let options: account_appAccount.VerifyCredentialOptions = {
  credentialType: 'pin',
  credential: '123456'
};
try {
  appAccountManager.verifyCredential('zhangsan', 'com.example.accountjsdemo', options, {
    onResult: (resultCode: number, result?: account_appAccount.AuthResult) => {
      console.log('verifyCredential onResult, resultCode: ' + JSON.stringify(resultCode));
      console.log('verifyCredential onResult, result: ' + JSON.stringify(result));
    },
    onRequestRedirected: (request: Want) => {
      console.log('verifyCredential onRequestRedirected, request: ' + JSON.stringify(request));
    }
  });
} catch (err) {
  console.log('verifyCredential err: ' + JSON.stringify(err));
}

setAuthenticatorProperties9+

setAuthenticatorProperties(owner: string, callback: AuthCallback): void;

设置指定应用的认证器属性。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring是认证器的所有者。
callbackAuthCallback是回调函数,返回设置属性的结果。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid owner.
12300010Account service busy.
12300113Authenticator service not found.
12300114Authenticator service exception.

示例:

import Want from '@ohos.app.ability.Want';

try {
  appAccountManager.setAuthenticatorProperties('com.example.accountjsdemo', {
    onResult: (resultCode: number, result?: account_appAccount.AuthResult) => {
      console.log('setAuthenticatorProperties onResult, resultCode: ' + JSON.stringify(resultCode));
      console.log('setAuthenticatorProperties onResult, result: ' + JSON.stringify(result));
    },
    onRequestRedirected: (request: Want) => {
      console.log('setAuthenticatorProperties onRequestRedirected, request: ' + JSON.stringify(request));
    }
  });
} catch (err) {
  console.log('setAuthenticatorProperties err: ' + JSON.stringify(err));
}

setAuthenticatorProperties9+

setAuthenticatorProperties(owner: string, options: SetPropertiesOptions, callback: AuthCallback): void;

设置认证器属性。使用callback异步回调。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring是认证器的所有者。
optionsSetPropertiesOptions是设置属性的选项。
callbackAuthCallback是认证器回调,返回设置属性的结果。

错误码:

错误码ID错误信息
12300001System service exception.
12300002Invalid owner or options.
12300010Account service busy.
12300113Authenticator service not found.
12300114Authenticator service exception.

示例:

import Want from '@ohos.app.ability.Want';

let options: account_appAccount.SetPropertiesOptions = {
  properties: {prop1: 'value1'}
};
try {
  appAccountManager.setAuthenticatorProperties('com.example.accountjsdemo', options, {
    onResult: (resultCode: number, result?: account_appAccount.AuthResult) => {
      console.log('setAuthenticatorProperties onResult, resultCode: ' + JSON.stringify(resultCode));
      console.log('setAuthenticatorProperties onResult, result: ' + JSON.stringify(result));
    },
    onRequestRedirected: (request: Want) => {
      console.log('setAuthenticatorProperties onRequestRedirected, request: ' + JSON.stringify(request));
    }
  });
} catch (err) {
  console.log('setAuthenticatorProperties err: ' + JSON.stringify(err));
} 

addAccount(deprecated)

addAccount(name: string, callback: AsyncCallback<void>): void

根据帐号名添加应用帐号。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用createAccount替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
callbackAsyncCallback<void>是回调函数。当创建成功时,err为null,否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.addAccount('WangWu', (err: BusinessError) => { 
    console.log('addAccount err: ' + JSON.stringify(err));
});

addAccount(deprecated)

addAccount(name: string, extraInfo: string, callback: AsyncCallback<void>): void

根据帐号名和额外信息添加应用帐号。使用callback异步回调。

说明: 从 API version 7开始支持,从API version 9开始废弃。建议使用createAccount替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
extraInfostring是额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。
callbackAsyncCallback<void>是回调函数。当创建成功时,err为null,否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.addAccount('LiSi', 'token101', (err: BusinessError) => { 
  console.log('addAccount err: ' + JSON.stringify(err));
});

addAccount(deprecated)

addAccount(name: string, extraInfo?: string): Promise<void>

根据帐号名和额外信息添加应用帐号。使用callback异步回调。使用Promise异步回调。

说明:
从 API version 7开始支持,从API version 9开始废弃。建议使用createAccount替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
extraInfostring否额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等),默认为空,表示创建的该帐号无额外信息需要添加。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.addAccount('LiSi', 'token101').then(()=> { 
  console.log('addAccount Success');
}).catch((err: BusinessError) => {
  console.log('addAccount err: ' + JSON.stringify(err));
});

addAccountImplicitly(deprecated)

addAccountImplicitly(owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void

根据指定的帐号所有者隐式地添加应用帐号。使用callback异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用createAccountImplicitly替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring是应用帐号所有者的包名。
authTypestring是鉴权类型。鉴权类型为自定义。
options{[key: string]: any}是鉴权所需要的可选项。可选项可根据自己需要设置。
callbackAuthenticatorCallback是认证器回调对象,返回添加结果。

示例:

import { BusinessError } from '@ohos.base';
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';

let context = getContext(this) as common.UIAbilityContext; // UIAbilityContext

function onResultCallback(code: number, result: Record<string, Object>): void {
  console.log('resultCode: ' + code);
  console.log('result: ' + JSON.stringify(result));
}

function onRequestRedirectedCallback(request: Want): void {
  let wantInfo: Want = {
    deviceId: '',
    bundleName: 'com.example.accountjsdemo',
    action: 'ohos.want.action.viewData',
    entities: ['entity.system.default'],
  }
  context.startAbility(wantInfo).then(() => {
    console.log('startAbility successfully');
  }).catch((err: BusinessError) => {
    console.log('startAbility err: ' + JSON.stringify(err));
  })
}

appAccountManager.addAccountImplicitly('com.example.accountjsdemo', 'getSocialData', {}, {
  onResult: onResultCallback,
  onRequestRedirected: onRequestRedirectedCallback
});

deleteAccount(deprecated)

deleteAccount(name: string, callback: AsyncCallback<void>): void

删除应用帐号。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用removeAccount替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
callbackAsyncCallback<void>是回调函数。当删除成功时,err为null,否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.deleteAccount('ZhaoLiu', (err: BusinessError) => { 
    console.log('deleteAccount err: ' + JSON.stringify(err));
 });

deleteAccount(deprecated)

deleteAccount(name: string): Promise<void>

删除应用帐号。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用removeAccount替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.deleteAccount('ZhaoLiu').then(() => { 
      console.log('deleteAccount Success');
 }).catch((err: BusinessError) => {
    console.log('deleteAccount err: ' + JSON.stringify(err));
});

disableAppAccess(deprecated)

disableAppAccess(name: string, bundleName: string, callback: AsyncCallback<void>): void

禁止指定第三方应用帐号名称对指定的第三方应用进行访问。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用setAppAccess替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
bundleNamestring是第三方应用的包名。
callbackAsyncCallback<void>是回调函数。当禁止指定第三方应用帐号名称对指定包名称的第三方应用进行访问设置成功时,err为null,否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.disableAppAccess('ZhangSan', 'com.example.accountjsdemo', (err: BusinessError) => { 
    console.log('disableAppAccess err: ' + JSON.stringify(err));
});

disableAppAccess(deprecated)

disableAppAccess(name: string, bundleName: string): Promise<void>

禁止指定第三方应用帐号名称对指定包名称的第三方应用进行访问。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用setAppAccess替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是要禁用访问的第三方应用帐号的名称。
bundleNamestring是第三方应用的包名。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.disableAppAccess('ZhangSan', 'com.example.accountjsdemo').then(() => { 
    console.log('disableAppAccess Success');
}).catch((err: BusinessError) => {
    console.log('disableAppAccess err: ' + JSON.stringify(err));
});

enableAppAccess(deprecated)

enableAppAccess(name: string, bundleName: string, callback: AsyncCallback<void>): void

允许指定第三方应用帐号名称对指定包名称的第三方应用进行访问。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用setAppAccess替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
bundleNamestring是第三方应用的包名。
callbackAsyncCallback<void>是回调函数。当允许指定第三方应用帐号名称对指定包名称的第三方应用进行访问设置成功时,err为null,否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.enableAppAccess('ZhangSan', 'com.example.accountjsdemo', (err: BusinessError) => { 
    console.log('enableAppAccess: ' + JSON.stringify(err));
 });

enableAppAccess(deprecated)

enableAppAccess(name: string, bundleName: string): Promise<void>

允许指定第三方应用帐号的名称对指定包名称的第三方应用进行访问。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用setAppAccess替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
bundleNamestring是第三方应用的包名。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.enableAppAccess('ZhangSan', 'com.example.accountjsdemo').then(() => { 
     console.log('enableAppAccess Success');
}).catch((err: BusinessError) => {
    console.log('enableAppAccess err: ' + JSON.stringify(err));
});

checkAppAccountSyncEnable(deprecated)

checkAppAccountSyncEnable(name: string, callback: AsyncCallback<boolean>): void

检查指定应用帐号是否开启数据同步功能。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用checkDataSyncEnabled替代。

需要权限: ohos.permission.DISTRIBUTED_DATASYNC

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
callbackAsyncCallback<boolean>是回调函数。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.checkAppAccountSyncEnable('ZhangSan', (err: BusinessError, result: boolean) => { 
    console.log('checkAppAccountSyncEnable err: ' + JSON.stringify(err));
    console.log('checkAppAccountSyncEnable result: ' + result);
});

checkAppAccountSyncEnable(deprecated)

checkAppAccountSyncEnable(name: string): Promise<boolean>

检查指定应用帐号是否开启数据同步功能。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用checkDataSyncEnabled替代。

需要权限: ohos.permission.DISTRIBUTED_DATASYNC

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。

返回值:

类型说明
Promise<boolean>Promise对象。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.checkAppAccountSyncEnable('ZhangSan').then((data: boolean) => { 
    console.log('checkAppAccountSyncEnable, result: ' + data);
}).catch((err: BusinessError) => {
    console.log('checkAppAccountSyncEnable err: ' + JSON.stringify(err));
});

setAccountCredential(deprecated)

setAccountCredential(name: string, credentialType: string, credential: string,callback: AsyncCallback<void>): void

设置指定应用帐号的凭据。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃,建议使用setCredential替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
credentialTypestring是凭据类型。
credentialstring是凭据取值。
callbackAsyncCallback<void>是回调函数。当设置此应用程序帐号的凭据成功时,err为null,否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.setAccountCredential('ZhangSan', 'credentialType001', 'credential001', (err: BusinessError) => { 
    console.log('setAccountCredential err: ' + JSON.stringify(err));
});

setAccountCredential(deprecated)

setAccountCredential(name: string, credentialType: string, credential: string): Promise<void>

设置指定应用帐号的凭据。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃,建议使用setCredential替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
credentialTypestring是凭据类型。
credentialstring是凭据取值。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.setAccountCredential('ZhangSan', 'credentialType001', 'credential001').then(() => { 
    console.log('setAccountCredential Success');
}).catch((err: BusinessError) => {
    console.log('setAccountCredential err: ' + JSON.stringify(err));
});

setAccountExtraInfo(deprecated)

setAccountExtraInfo(name: string, extraInfo: string, callback: AsyncCallback<void>): void

设置指定应用帐号的额外信息。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用setCustomData替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
extraInfostring是额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。
callbackAsyncCallback<void>是回调函数。当设置成功时,err为null,否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.setAccountExtraInfo('ZhangSan', 'Tk002', (err: BusinessError) => { 
    console.log('setAccountExtraInfo err: ' + JSON.stringify(err));
});

setAccountExtraInfo(deprecated)

setAccountExtraInfo(name: string, extraInfo: string): Promise<void>

设置此应用程序帐号的额外信息。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用setCustomData替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
extraInfostring是额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.setAccountExtraInfo('ZhangSan', 'Tk002').then(() => { 
    console.log('setAccountExtraInfo Success');
}).catch((err: BusinessError) => {
    console.log('setAccountExtraInfo err: ' + JSON.stringify(err));
});

setAppAccountSyncEnable(deprecated)

setAppAccountSyncEnable(name: string, isEnable: boolean, callback: AsyncCallback<void>): void

开启或禁止指定应用帐号的数据同步功能。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用setDataSyncEnabled替代。

需要权限: ohos.permission.DISTRIBUTED_DATASYNC

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
isEnableboolean是是否开启数据同步。
callbackAsyncCallback<void>是回调函数。当开启或禁止成功时,err为null,否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.setAppAccountSyncEnable('ZhangSan', true, (err: BusinessError) => { 
    console.log('setAppAccountSyncEnable err: ' + JSON.stringify(err));
});

setAppAccountSyncEnable(deprecated)

setAppAccountSyncEnable(name: string, isEnable: boolean): Promise<void>

开启或禁止指定应用帐号的数据同步功能。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用setDataSyncEnabled替代。

需要权限: ohos.permission.DISTRIBUTED_DATASYNC

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
isEnableboolean是是否开启数据同步。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager .setAppAccountSyncEnable('ZhangSan', true).then(() => { 
    console.log('setAppAccountSyncEnable Success');
}).catch((err: BusinessError) => {
    console.log('setAppAccountSyncEnable err: ' + JSON.stringify(err));
});

setAssociatedData(deprecated)

setAssociatedData(name: string, key: string, value: string, callback: AsyncCallback<void>): void

设置指定应用帐号的关联数据。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用setCustomData替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
keystring是关联数据的键名。
valuestring是关联数据的取值。
callbackAsyncCallback<void>是回调函数。当设置与此应用帐号关联的数据成功时,err为null,否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.setAssociatedData('ZhangSan', 'k001', 'v001', (err: BusinessError) => { 
    console.log('setAssociatedData err: ' + JSON.stringify(err));
});

setAssociatedData(deprecated)

setAssociatedData(name: string, key: string, value: string): Promise<void>

设置指定应用帐号的关联数据。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用setCustomData替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
keystring是关联数据的键名。
valuestring是关联数据的取值。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.setAssociatedData('ZhangSan', 'k001', 'v001').then(() => { 
    console.log('setAssociatedData Success');
}).catch((err: BusinessError) => {
    console.log('setAssociatedData err: ' + JSON.stringify(err));
});

getAllAccessibleAccounts(deprecated)

getAllAccessibleAccounts(callback: AsyncCallback<Array<AppAccountInfo>>): void

获取所有可访问的应用帐号信息。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getAllAccounts替代。

需要权限: ohos.permission.GET_ALL_APP_ACCOUNTS。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
callbackAsyncCallback<Array<AppAccountInfo>>是回调函数。当查询成功时,err为null,data为获取到的应用帐号信息列表;否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.getAllAccessibleAccounts((err: BusinessError, data: account_appAccount.AppAccountInfo[])=>{
	console.debug('getAllAccessibleAccounts err: ' + JSON.stringify(err));
	console.debug('getAllAccessibleAccounts data: ' + JSON.stringify(data));
});

getAllAccessibleAccounts(deprecated)

getAllAccessibleAccounts(): Promise<Array<AppAccountInfo>>

获取所有可访问的应用帐号信息。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getAllAccounts替代。

需要权限: ohos.permission.GET_ALL_APP_ACCOUNTS。

系统能力: SystemCapability.Account.AppAccount

返回值:

类型说明
Promise<Array<AppAccountInfo>>Promise对象,返回全部应用已授权帐号信息对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.getAllAccessibleAccounts().then((data: account_appAccount.AppAccountInfo[]) => { 
     console.log('getAllAccessibleAccounts: ' + data);
}).catch((err: BusinessError) => {
    console.log('getAllAccessibleAccounts err: ' + JSON.stringify(err));
});

getAllAccounts(deprecated)

getAllAccounts(owner: string, callback: AsyncCallback<Array<AppAccountInfo>>): void

根据应用帐号所有者获取调用方可访问的应用帐号列表。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getAccountsByOwner替代。

需要权限: ohos.permission.GET_ALL_APP_ACCOUNTS。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring是应用帐号所有者的包名。
callbackAsyncCallback<Array<AppAccountInfo>>是应用帐号信息列表。

示例:

import { BusinessError } from '@ohos.base';

const selfBundle = 'com.example.actsgetallaaccounts';
appAccountManager.getAllAccounts(selfBundle, (err: BusinessError, data: account_appAccount.AppAccountInfo[])=>{
	console.debug('getAllAccounts err: ' + JSON.stringify(err));
	console.debug('getAllAccounts data:' + JSON.stringify(data));
});

getAllAccounts(deprecated)

getAllAccounts(owner: string): Promise<Array<AppAccountInfo>>

根据应用帐号所有者获取调用方可访问的应用帐号列表。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getAccountsByOwner替代。

需要权限: ohos.permission.GET_ALL_APP_ACCOUNTS,仅系统应用可用。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring是应用包名称。

返回值:

类型说明
Promise<Array<AppAccountInfo>>Promise对象,返回指定应用全部帐号信息对象。

示例:

import { BusinessError } from '@ohos.base';

const selfBundle = 'com.example.actsgetallaaccounts';
appAccountManager.getAllAccounts(selfBundle).then((data: account_appAccount.AppAccountInfo[]) => { 
     console.log('getAllAccounts: ' + data);
}).catch((err: BusinessError) => {
    console.log('getAllAccounts err: ' + JSON.stringify(err));
});

getAccountCredential(deprecated)

getAccountCredential(name: string, credentialType: string, callback: AsyncCallback<string>): void

获取指定应用帐号的凭据。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getCredential替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
credentialTypestring是凭据类型。
callbackAsyncCallback<string>是回调函数。当获取凭据成功时,err为null,data为指定应用帐号的凭据;否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.getAccountCredential('ZhangSan', 'credentialType001', (err: BusinessError, result: string) => { 
    console.log('getAccountCredential err: ' + JSON.stringify(err));
    console.log('getAccountCredential result: ' + result);
});

getAccountCredential(deprecated)

getAccountCredential(name: string, credentialType: string): Promise<string>

获取指定应用帐号的凭据。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getCredential替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
credentialTypestring是凭据类型。

返回值:

类型说明
Promise<string>Promise对象,返回指定应用帐号的凭据。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.getAccountCredential('ZhangSan', 'credentialType001').then((data: string) => { 
    console.log('getAccountCredential, result: ' + data);
}).catch((err: BusinessError) => {
    console.log('getAccountCredential err: ' + JSON.stringify(err));
});

getAccountExtraInfo(deprecated)

getAccountExtraInfo(name: string, callback: AsyncCallback<string>): void

获取指定应用帐号的额外信息(能转换成string类型的其它信息)。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getCustomData替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
callbackAsyncCallback<string>是回调函数。当获取此应用帐号的额外信息成功时,err为null,data返回此应用帐号的额外信息对象;否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.getAccountExtraInfo('ZhangSan', (err: BusinessError, result: string) => { 
    console.log('getAccountExtraInfo err: ' + JSON.stringify(err));
    console.log('getAccountExtraInfo result: ' + result);
});

getAccountExtraInfo(deprecated)

getAccountExtraInfo(name: string): Promise<string>

获取指定应用帐号的额外信息(能转换成string类型的其它信息)。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getCustomData替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。

返回值:

类型说明
Promise<string>Promise对象,返回此应用程序帐号的额外信息对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.getAccountExtraInfo('ZhangSan').then((data: string) => { 
    console.log('getAccountExtraInfo, result: ' + data);
}).catch((err: BusinessError) => {
    console.log('getAccountExtraInfo err: ' + JSON.stringify(err));
});

getAssociatedData(deprecated)

getAssociatedData(name: string, key: string, callback: AsyncCallback<string>): void

根据指定键名获取特定应用帐号的关联数据。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getCustomData替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
keystring是关联数据的键名。
callbackAsyncCallback<string>是回调函数。当获取成功时,err为null,data为关联数据的取值;否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.getAssociatedData('ZhangSan', 'k001', (err: BusinessError, result: string) => { 
    console.log('getAssociatedData err: ' + JSON.stringify(err));
    console.log('getAssociatedData result: ' + result);
});

getAssociatedData(deprecated)

getAssociatedData(name: string, key: string): Promise<string>

获取与此应用程序帐号关联的数据。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getCustomData替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
keystring是关联数据的键名。

返回值:

类型说明
Promise<string>Promise对象,返回关联数据的取值。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.getAssociatedData('ZhangSan', 'k001').then((data: string) => { 
     console.log('getAssociatedData: ' + data);
}).catch((err: BusinessError) => {
    console.log('getAssociatedData err: ' + JSON.stringify(err));
});

on('change')(deprecated)

on(type: 'change', owners: Array<string>, callback: Callback<Array<AppAccountInfo>>): void

订阅指定应用的帐号信息变更事件。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用on('accountChange')替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
type'change'是事件回调类型,支持的事件为'change',当帐号所有者更新帐号信息时,触发该事件。
ownersArray<string>是应用帐号所有者的包名列表。
callbackCallback<Array<AppAccountInfo>>是需要注册的回调函数,返回信息发生变更的应用帐号列表。

示例:

function changeOnCallback(data: account_appAccount.AppAccountInfo[]): void {
	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')(deprecated)

off(type: 'change', callback?: Callback<Array<AppAccountInfo>>): void

取消订阅帐号信息变更事件。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用off('accountChange')替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
type'change'是事件回调类型,支持的事件为'change',当帐号所有者更新帐号信息时,触发该事件。
callbackCallback<Array<AppAccountInfo>>否需要注销的回调函数,默认为空,表示取消该类型事件的所有回调。

示例:

function changeOnCallback(data: account_appAccount.AppAccountInfo[]): void {
	console.debug('receive change data: ' + JSON.stringify(data));
	appAccountManager.off('change', () => {
		console.debug('off finish');
	})
}
try{
	appAccountManager.on('change', ['com.example.actsaccounttest'], changeOnCallback);
}
catch(err){
	console.error('on accountOnOffDemo err: ' + JSON.stringify(err));
}

authenticate(deprecated)

authenticate(name: string, owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void

对应用帐号进行鉴权以获取授权令牌。使用callback异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用auth替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号所有者的包名。
authTypestring是鉴权类型。
options{[key: string]: any}是鉴权所需的可选项。
callbackAuthenticatorCallback是回调对象,返回鉴权结果。

示例:

import { BusinessError } from '@ohos.base';
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';

let context = getContext(this) as common.UIAbilityContext; // UIAbilityContext

function onResultCallback(code: number, result: Record<string, Object>): void {
    console.log('resultCode: ' + code);
    console.log('result: ' + JSON.stringify(result));
}

function onRequestRedirectedCallback(request: Want): void {
  let wantInfo: Want = {
    deviceId: '',
    bundleName: 'com.example.accountjsdemo',
    action: 'ohos.want.action.viewData',
    entities: ['entity.system.default'],
  }
  context.startAbility(wantInfo).then(() => {
    console.log('startAbility successfully');
  }).catch((err: BusinessError) => {
    console.log('startAbility err: ' + JSON.stringify(err));
  })
}

appAccountManager.authenticate('LiSi', 'com.example.accountjsdemo', 'getSocialData', {}, {
  onResult: onResultCallback,
  onRequestRedirected: onRequestRedirectedCallback
});

getOAuthToken(deprecated)

getOAuthToken(name: string, owner: string, authType: string, callback: AsyncCallback<string>): void

获取指定应用帐号的特定鉴权类型的授权令牌。使用callback异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用getAuthToken替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号所有者的包名。
authTypestring是鉴权类型。
callbackAsyncCallback<string>是回调函数。当获取成功时,err为null,data为授权令牌值;否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.getOAuthToken('LiSi', 'com.example.accountjsdemo', 'getSocialData',
  (err: BusinessError, data: string) => {
    console.log('getOAuthToken err: ' + JSON.stringify(err));
    console.log('getOAuthToken token: ' + data);
  });

getOAuthToken(deprecated)

getOAuthToken(name: string, owner: string, authType: string): Promise<string>

获取指定应用帐号的特定鉴权类型的授权令牌。使用Promise异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用getAuthToken替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号所有者的包名。
authTypestring是鉴权类型。

返回值:

类型说明
Promise<string>Promise对象,返回授权令牌。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.getOAuthToken('LiSi', 'com.example.accountjsdemo', 'getSocialData').then((data: string) => {
     console.log('getOAuthToken token: ' + data);
}).catch((err: BusinessError) => {
    console.log('getOAuthToken err: ' + JSON.stringify(err));
});

setOAuthToken(deprecated)

setOAuthToken(name: string, authType: string, token: string, callback: AsyncCallback<void>): void

为指定应用帐号设置特定鉴权类型的授权令牌。使用callback异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用setAuthToken替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是鉴权类型。
tokenstring是授权令牌。
callbackAsyncCallback<void>是回调函数。当设置成功时,err为null;否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.setOAuthToken('LiSi', 'getSocialData', 'xxxx', (err: BusinessError) => {
    console.log('setOAuthToken err: ' + JSON.stringify(err));
});

setOAuthToken(deprecated)

setOAuthToken(name: string, authType: string, token: string): Promise<void>

为指定应用帐号设置特定鉴权类型的授权令牌。使用Promise异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用setAuthToken替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是鉴权类型。
tokenstring是授权令牌。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.setOAuthToken('LiSi', 'getSocialData', 'xxxx').then(() => {
    console.log('setOAuthToken successfully');
}).catch((err: BusinessError) => {
    console.log('setOAuthToken err: ' + JSON.stringify(err));
});

deleteOAuthToken(deprecated)

deleteOAuthToken(name: string, owner: string, authType: string, token: string, callback: AsyncCallback<void>): void

删除指定应用帐号的特定鉴权类型的授权令牌。使用callback异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用deleteAuthToken替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号所有者的包名。
authTypestring是鉴权类型。
tokenstring是授权令牌。
callbackAsyncCallback<void>是回调函数。当删除成功时,err为null;否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.deleteOAuthToken('LiSi', 'com.example.accountjsdemo', 'getSocialData', 'xxxxx',
  (err: BusinessError) => {
    console.log('deleteOAuthToken err: ' + JSON.stringify(err));
  });

deleteOAuthToken(deprecated)

deleteOAuthToken(name: string, owner: string, authType: string, token: string): Promise<void>

删除指定应用帐号的特定鉴权类型的授权令牌。使用Promise异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用deleteAuthToken替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号所有者的包名。
authTypestring是鉴权类型。
tokenstring是授权令牌。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.deleteOAuthToken('LiSi', 'com.example.accountjsdemo', 'getSocialData', 'xxxxx').then(() => {
     console.log('deleteOAuthToken successfully');
}).catch((err: BusinessError) => {
    console.log('deleteOAuthToken err: ' + JSON.stringify(err));
});

setOAuthTokenVisibility(deprecated)

setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean, callback: AsyncCallback<void>): void

设置指定帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用callback异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用setAuthTokenVisibility替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是鉴权类型。
bundleNamestring是被设置可见性的应用包名。
isVisibleboolean是是否可见。true表示可见,false表示不可见。
callbackAsyncCallback<void>是回调函数。当设置成功时,err为null;否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.setOAuthTokenVisibility('LiSi', 'getSocialData', 'com.example.accountjsdemo', true,
  (err: BusinessError) => {
    console.log('setOAuthTokenVisibility err: ' + JSON.stringify(err));
  });

setOAuthTokenVisibility(deprecated)

setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean): Promise<void>

设置指定帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用Promise异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用setAuthTokenVisibility替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是鉴权类型。
bundleNamestring是被设置可见性的应用包名。
isVisibleboolean是是否可见。true表示可见,false表示不可见。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.setOAuthTokenVisibility('LiSi', 'getSocialData', 'com.example.accountjsdemo', true).then(() => {
    console.log('setOAuthTokenVisibility successfully');
}).catch((err: BusinessError) => {
    console.log('setOAuthTokenVisibility err: ' + JSON.stringify(err));
});

checkOAuthTokenVisibility(deprecated)

checkOAuthTokenVisibility(name: string, authType: string, bundleName: string, callback: AsyncCallback<boolean>): void

检查指定应用帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用callback异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用checkAuthTokenVisibility替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是鉴权类型。
bundleNamestring是检查可见性的应用包名。
callbackAsyncCallback<boolean>是回调函数。当检查成功时,err为null,data为true表示可见,data为false表示不可见;否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.checkOAuthTokenVisibility('LiSi', 'getSocialData', 'com.example.accountjsdemo',
  (err: BusinessError, data: boolean) => {
    console.log('checkOAuthTokenVisibility err: ' + JSON.stringify(err));
    console.log('checkOAuthTokenVisibility isVisible: ' + data);
  });

checkOAuthTokenVisibility(deprecated)

checkOAuthTokenVisibility(name: string, authType: string, bundleName: string): Promise<boolean>

检查指定应用帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用Promise异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用checkAuthTokenVisibility替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是鉴权类型。
bundleNamestring是用于检查可见性的应用包名。

返回值:

类型说明
Promise<boolean>Promise对象。返回true表示指定鉴权类型的OAuth令牌对特定应用的可见,返回false表示不可见。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.checkOAuthTokenVisibility('LiSi', 'getSocialData', 'com.example.accountjsdemo').then((
  data: boolean) => {
  console.log('checkOAuthTokenVisibility isVisible: ' + data);
}).catch((err: BusinessError) => {
  console.log('checkOAuthTokenVisibility err: ' + JSON.stringify(err));
});

getAllOAuthTokens(deprecated)

getAllOAuthTokens(name: string, owner: string, callback: AsyncCallback<Array<OAuthTokenInfo>>): void

获取指定帐号对调用方可见的所有授权令牌。使用callback异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用getAllAuthTokens替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号所有者的包名。
callbackAsyncCallback<Array<OAuthTokenInfo>>是回调函数。当获取成功时,err为null,data为授权令牌数组;否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.getAllOAuthTokens('LiSi', 'com.example.accountjsdemo',
  (err: BusinessError, data: account_appAccount.OAuthTokenInfo[]) => {
    console.log('getAllOAuthTokens err: ' + JSON.stringify(err));
    console.log('getAllOAuthTokens data: ' + JSON.stringify(data));
  });

getAllOAuthTokens(deprecated)

getAllOAuthTokens(name: string, owner: string): Promise<Array<OAuthTokenInfo>>

获取指定帐号对调用方可见的所有授权令牌。使用Promise异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用getAllAuthTokens替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
ownerstring是应用帐号所有者的包名。

返回值:

类型说明
Promise<Array< OAuthTokenInfo>>Promise对象,返回授权令牌数组。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.getAllOAuthTokens('LiSi', 'com.example.accountjsdemo').then((
  data: account_appAccount.OAuthTokenInfo[]) => {
  console.log('getAllOAuthTokens data: ' + JSON.stringify(data));
}).catch((err: BusinessError) => {
  console.log('getAllOAuthTokens err: ' + JSON.stringify(err));
});

getOAuthList(deprecated)

getOAuthList(name: string, authType: string, callback: AsyncCallback<Array<string>>): void

获取指定应用帐号的特定鉴权类型的授权列表,即被授权的包名数组(令牌的授权列表通过setOAuthTokenVisibility(#setoauthtokenvisibilitydeprecated)来设置)。使用callback异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用getAuthList替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是鉴权类型。
callbackAsyncCallback<Array<string>>是回调函数。当获取成功时,err为null,data为被授权的包名数组;否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.getOAuthList('LiSi', 'getSocialData', (err: BusinessError, data: string[]) => {
  console.log('getOAuthList err: ' + JSON.stringify(err));
  console.log('getOAuthList data: ' + JSON.stringify(data));
});

getOAuthList(deprecated)

getOAuthList(name: string, authType: string): Promise<Array<string>>

获取指定应用帐号的特定鉴权类型的授权列表,即被授权的包名数组(令牌的授权列表通过setOAuthTokenVisibility(#setoauthtokenvisibilitydeprecated)来设置)。使用Promise异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用getAuthList替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是鉴权类型。

返回值:

类型说明
Promise<Array<string>>Promise对象,返回被授权的包名数组。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.getOAuthList('LiSi', 'getSocialData').then((data: string[]) => {
     console.log('getOAuthList data: ' + JSON.stringify(data));
}).catch((err: BusinessError) => {
    console.log('getOAuthList err: ' + JSON.stringify(err));
});

getAuthenticatorCallback(deprecated)

getAuthenticatorCallback(sessionId: string, callback: AsyncCallback<AuthenticatorCallback>): void

获取鉴权会话的认证器回调。使用callback异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用getAuthCallback替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
sessionIdstring是鉴权会话的标识。
callbackAsyncCallback<AuthenticatorCallback>是回调函数。当获取鉴权会话的认证器回调函数成功时,err为null,data为认证器回调函数;否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';
import UIAbility from '@ohos.app.ability.UIAbility';
import Want from '@ohos.app.ability.Want';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';

export default class EntryAbility extends UIAbility {
  onCreate(want: Want, param: AbilityConstant.LaunchParam) { // ability 生命周期函数
    let sessionId: string = want.parameters![account_appAccount.Constants.KEY_SESSION_ID] as string;
    appAccountManager.getAuthenticatorCallback(sessionId,
        (err: BusinessError, callback: account_appAccount.AuthenticatorCallback) => {
        if (err.code != account_appAccount.ResultCode.SUCCESS) {
            console.log('getAuthenticatorCallback err: ' + JSON.stringify(err));
            return;
        }
        callback.onResult(account_appAccount.ResultCode.SUCCESS, {
          name: 'LiSi',
          owner: 'com.example.accountjsdemo',
          authType: 'getSocialData',
          token: 'xxxxxx'}
        );
      });
  }
}

getAuthenticatorCallback(deprecated)

getAuthenticatorCallback(sessionId: string): Promise<AuthenticatorCallback>

获取鉴权会话的认证器回调。使用Promise异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用getAuthCallback替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
sessionIdstring是鉴权会话的标识。

返回值:

类型说明
Promise<AuthenticatorCallback>Promise对象,返回鉴权会话的认证器回调对象。

示例:

import { BusinessError } from '@ohos.base';
import UIAbility from '@ohos.app.ability.UIAbility';
import Want from '@ohos.app.ability.Want';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';

export default class EntryAbility extends UIAbility {
  onCreate(want: Want, param: AbilityConstant.LaunchParam) { // ability 生命周期函数
    let sessionId: string = want.parameters![account_appAccount.Constants.KEY_SESSION_ID] as string;
    appAccountManager.getAuthenticatorCallback(sessionId).then((
      callback: account_appAccount.AuthenticatorCallback) => {
      callback.onResult(account_appAccount.ResultCode.SUCCESS, {
        name: 'LiSi',
        owner: 'com.example.accountjsdemo',
        authType: 'getSocialData',
        token: 'xxxxxx'}
      );
    }).catch((err: BusinessError) => {
      console.log('getAuthenticatorCallback err: ' + JSON.stringify(err));
    });
  }
}

getAuthenticatorInfo(deprecated)

getAuthenticatorInfo(owner: string, callback: AsyncCallback<AuthenticatorInfo>): void

获取指定应用的认证器信息。使用callback异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用queryAuthenticatorInfo替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring是应用帐号所有者的包名。
callbackAsyncCallback<AuthenticatorInfo>是回调函数。当获取成功时,err为null,data为认证器信息对象;否则为错误对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.getAuthenticatorInfo('com.example.accountjsdemo',
  (err: BusinessError, data: account_appAccount.AuthenticatorInfo) => {
    console.log('getAuthenticatorInfo err: ' + JSON.stringify(err));
    console.log('getAuthenticatorInfo data: ' + JSON.stringify(data));
  });

getAuthenticatorInfo(deprecated)

getAuthenticatorInfo(owner: string): Promise<AuthenticatorInfo>

获取指定应用的认证器信息。使用Promise异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用queryAuthenticatorInfo替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
ownerstring是应用帐号所有者的包名。

返回值:

类型说明
Promise<AuthenticatorInfo>Promise对象,返回指定应用的认证器信息对象。

示例:

import { BusinessError } from '@ohos.base';

appAccountManager.getAuthenticatorInfo('com.example.accountjsdemo').then((
  data: account_appAccount.AuthenticatorInfo) => { 
  console.log('getAuthenticatorInfo: ' + JSON.stringify(data));
}).catch((err: BusinessError) => {
  console.log('getAuthenticatorInfo err: ' + JSON.stringify(err));
});

AppAccountInfo

表示应用帐号信息。

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

名称类型必填说明
ownerstring是应用帐号所有者的包名。
namestring是应用帐号的名称。

AuthTokenInfo9+

表示Auth令牌信息。

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

名称类型必填说明
authType9+string是令牌的鉴权类型。
token9+string是令牌的取值。
account9+AppAccountInfo否令牌所属的帐号信息,默认为空。

OAuthTokenInfo(deprecated)

表示OAuth令牌信息。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用AuthTokenInfo替代。

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

名称类型必填说明
authTypestring是令牌的鉴权类型。
tokenstring是令牌的取值。
account9+AppAccountInfo否令牌所属的帐号信息,默认为空。

AuthenticatorInfo8+

表示OAuth认证器信息。

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

名称类型必填说明
ownerstring是认证器的所有者包名。
iconIdnumber是认证器的图标标识。
labelIdnumber是认证器的标签标识。

AuthResult9+

表示认证结果信息。

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

名称类型必填说明
accountAppAccountInfo否令牌所属的帐号信息,默认为空。
tokenInfoAuthTokenInfo否令牌信息,默认为空。

CreateAccountOptions9+

表示创建帐号的选项。

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

名称类型必填说明
customData{[key: string]: string}否自定义数据,默认为空。

CreateAccountImplicitlyOptions9+

表示隐式创建帐号的选项。

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

名称类型必填说明
requiredLabelsArray<string>否所需的标签,默认为空。
authTypestring否鉴权类型,默认为空。
parameters{[key: string]: Object}否自定义参数对象,默认为空。

SelectAccountsOptions9+

表示用于选择帐号的选项。

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

名称类型必填说明
allowedAccountsArray<AppAccountInfo>否允许的帐号数组,默认为空。
allowedOwnersArray<string>否允许的帐号所有者数组,默认为空。
requiredLabelsArray<string>否认证器的标签标识,默认为空。

VerifyCredentialOptions9+

表示用于验证凭据的选项。

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

名称类型必填说明
credentialTypestring否凭据类型,默认为空。
credentialstring否凭据取值,默认为空。
parameters{[key: string]: Object}否自定义参数对象,默认为空。

SetPropertiesOptions9+

表示用于设置属性的选项。

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

名称类型必填说明
properties{[key: string]: Object}否属性对象,默认为空。
parameters{[key: string]: Object}否自定义参数对象,默认为空。

Constants8+

表示常量的枚举。

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

名称值说明
ACTION_ADD_ACCOUNT_IMPLICITLY(deprecated)'addAccountImplicitly'表示操作,隐式添加帐号。
ACTION_AUTHENTICATE(deprecated)'authenticate'表示操作,鉴权。
ACTION_CREATE_ACCOUNT_IMPLICITLY9+'createAccountImplicitly'表示操作,隐式创建帐号。
ACTION_AUTH9+'auth'表示操作,鉴权。
ACTION_VERIFY_CREDENTIAL9+'verifyCredential'表示操作,验证凭据。
ACTION_SET_AUTHENTICATOR_PROPERTIES9+'setAuthenticatorProperties'表示操作,设置认证器属性。
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'表示键名,调用方包名。
KEY_REQUIRED_LABELS9+'requiredLabels'表示键名,必需的标签。
KEY_BOOLEAN_RESULT9+'booleanResult'表示键名,布尔返回值。

ResultCode(deprecated)

表示返回码的枚举。

说明:
从API version 8开始支持,从API version 9开始废弃。相关信息建议查看错误码文档替代。

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

名称值说明
SUCCESS0表示操作成功。
ERROR_ACCOUNT_NOT_EXIST10001表示应用帐号不存在。
ERROR_APP_ACCOUNT_SERVICE_EXCEPTION10002表示应用帐号服务异常。
ERROR_INVALID_PASSWORD10003表示密码无效。
ERROR_INVALID_REQUEST10004表示请求无效。
ERROR_INVALID_RESPONSE10005表示响应无效。
ERROR_NETWORK_EXCEPTION10006表示网络异常。
ERROR_OAUTH_AUTHENTICATOR_NOT_EXIST10007表示认证器不存在。
ERROR_OAUTH_CANCELED10008表示鉴权取消。
ERROR_OAUTH_LIST_TOO_LARGE10009表示开放授权列表过大。
ERROR_OAUTH_SERVICE_BUSY10010表示开放授权服务忙碌。
ERROR_OAUTH_SERVICE_EXCEPTION10011表示开放授权服务异常。
ERROR_OAUTH_SESSION_NOT_EXIST10012表示鉴权会话不存在。
ERROR_OAUTH_TIMEOUT10013表示鉴权超时。
ERROR_OAUTH_TOKEN_NOT_EXIST10014表示开放授权令牌不存在。
ERROR_OAUTH_TOKEN_TOO_MANY10015表示开放授权令牌过多。
ERROR_OAUTH_UNSUPPORT_ACTION10016表示不支持的鉴权操作。
ERROR_OAUTH_UNSUPPORT_AUTH_TYPE10017表示不支持的鉴权类型。
ERROR_PERMISSION_DENIED10018表示权限不足。

AuthCallback9+

认证器回调类。

onResult9+

onResult: (code: number, result?: AuthResult) => void

通知请求结果。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
codenumber是鉴权结果码。
resultAuthResult否鉴权结果,默认为空,表示不接收认证结果信息。

示例:

import { BusinessError } from '@ohos.base';

let appAccountManager = account_appAccount.createAppAccountManager();
let sessionId = '1234';
appAccountManager.getAuthCallback(sessionId).then((callback: account_appAccount.AuthCallback) => {
    let result: account_appAccount.AuthResult = {
        account: {
          name: 'Lisi',
          owner: 'com.example.accountjsdemo',
        },
        tokenInfo: {
          token: 'xxxxxx',
          authType: 'getSocialData'
        }
    };
    callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
}).catch((err: BusinessError) => {
    console.log('getAuthCallback err: ' + JSON.stringify(err));
});

onRequestRedirected9+

onRequestRedirected: (request: Want) => void

通知请求被跳转。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
requestWant是用于跳转的请求信息。

示例:

class MyAuthenticator extends account_appAccount.Authenticator {
    createAccountImplicitly(
      options: account_appAccount.CreateAccountImplicitlyOptions, callback: account_appAccount.AuthCallback) {
        let want: Want = {
          bundleName: 'com.example.accountjsdemo',
          abilityName: 'com.example.accountjsdemo.LoginAbility',
        };
        callback.onRequestRedirected(want);
    }

    auth(name: string, authType: string,
      options: Record<string, Object>, callback: account_appAccount.AuthCallback) {
        let result: account_appAccount.AuthResult = {
          account: {
            name: 'Lisi',
            owner: 'com.example.accountjsdemo',
          },
          tokenInfo: {
            token: 'xxxxxx',
            authType: 'getSocialData'
          }
        };
        callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
    }
}

onRequestContinued9+

onRequestContinued?: () => void

通知请求被继续处理。

系统能力: SystemCapability.Account.AppAccount

示例:

import { BusinessError } from '@ohos.base';

let appAccountManager = account_appAccount.createAppAccountManager();
let sessionId = '1234';
appAccountManager.getAuthCallback(sessionId).then((callback: account_appAccount.AuthCallback) => {
  if (callback.onRequestContinued != undefined) {
    callback.onRequestContinued();
  }
}).catch((err: BusinessError) => {
  console.log('getAuthCallback err: ' + JSON.stringify(err));
});

AuthenticatorCallback(deprecated)

OAuth认证器回调接口。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用AuthCallback替代。

onResult8+

onResult: (code: number, result: {[key: string]: any}) => void

通知请求结果。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
codenumber是鉴权结果码。
result{[key: string]: any}是鉴权结果。

示例:

import { BusinessError } from '@ohos.base';

let appAccountManager = account_appAccount.createAppAccountManager();
let sessionId = '1234';
appAccountManager.getAuthenticatorCallback(sessionId).then((callback: account_appAccount.AuthenticatorCallback) => {
    callback.onResult(account_appAccount.ResultCode.SUCCESS, {
      name: 'LiSi',
      owner: 'com.example.accountjsdemo',
      authType: 'getSocialData',
      token: 'xxxxxx'}
    );
}).catch((err: BusinessError) => {
    console.log('getAuthenticatorCallback err: ' + JSON.stringify(err));
});

onRequestRedirected8+

onRequestRedirected: (request: Want) => void

通知请求被跳转。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
requestWant是用于跳转的请求信息。

示例:

class MyAuthenticator extends account_appAccount.Authenticator {
    addAccountImplicitly(authType: string, callerBundleName: string,
      options: Record<string, Object>, callback: account_appAccount.AuthenticatorCallback) {
        let want: Want = {
          bundleName: 'com.example.accountjsdemo',
          abilityName: 'com.example.accountjsdemo.LoginAbility',
        };
        callback.onRequestRedirected(want);
    }

    authenticate(name: string, authType: string, callerBundleName: string,
      options: Record<string, Object>, callback: account_appAccount.AuthenticatorCallback) {
        callback.onResult(account_appAccount.ResultCode.SUCCESS, {
          name: name,
          authType: authType,
          token: 'xxxxxx'}
        );
    }
}

Authenticator8+

认证器基类。

createAccountImplicitly9+

createAccountImplicitly(options: CreateAccountImplicitlyOptions, callback: AuthCallback): void

根据指定的帐号所有者隐式地创建应用帐号,并使用callback异步回调返回结果。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
optionsCreateAccountImplicitlyOptions是隐式创建帐号的选项。
callbackAuthCallback是认证器回调对象,用于返回创建结果。

addAccountImplicitly(deprecated)

addAccountImplicitly(authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void

根据指定的鉴权类型和可选项,隐式地添加应用帐号,并使用callback异步回调返回结果。

说明:

从 API version 8开始支持, 从API version 9开始废弃。建议使用createAccountImplicitly替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
authTypestring是应用帐号的鉴权类型。
callerBundleNamestring是鉴权请求方的包名。
options{[key: string]: any}是鉴权所需要的可选项。
callbackAuthenticatorCallback是认证器回调,用于返回鉴权结果。

auth9+

auth(name: string, authType: string, options: {[key:string]: Object}, callback: AuthCallback): void

对应用帐号进行鉴权以获取授权令牌,并使用callback异步回调返回结果。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是应用帐号的鉴权类型。
callerBundleNamestring是鉴权类型。
options{[key: string]: Object}是鉴权所需要的可选项。
callbackAuthCallback是回调对象,用于返回鉴权结果。

authenticate(deprecated)

authenticate(name: string, authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void

对应用帐号进行鉴权,获取OAuth令牌,并使用callback异步回调返回结果。

说明:

从 API version 8开始支持, 从API version 9开始废弃。建议使用auth替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
authTypestring是应用帐号的鉴权类型。
callerBundleNamestring是鉴权请求方的包名。
options{[key: string]: any}是鉴权所需要的可选项。
callbackAuthenticatorCallback是认证器回调,用于返回鉴权结果。

verifyCredential9+

verifyCredential(name: string, options: VerifyCredentialOptions, callback: AuthCallback): void;

验证应用帐号的凭据,并使用callback异步回调返回结果。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
optionsVerifyCredentialOptions是验证凭据的可选项。
callbackAuthCallback是认证器回调,用于返回验证结果。

setProperties9+

setProperties(options: SetPropertiesOptions, callback: AuthCallback): void;

设置认证器属性,并使用callback异步回调返回结果。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
optionsSetPropertiesOptions是设置属性的可选项。
callbackAuthCallback是认证器回调,用于返回设置结果。

checkAccountLabels9+

checkAccountLabels(name: string, labels: Array<string>, callback: AuthCallback): void;

检查帐号标签,并使用callback异步回调返回结果。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
labelsArray<string>是标签数组。
callbackAuthCallback是认证器回调,用于返回检查结果。

checkAccountRemovable9+

checkAccountRemovable(name: string, callback: AuthCallback): void;

判断帐号是否可以删除,并使用callback异步回调返回结果。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名类型必填说明
namestring是应用帐号的名称。
callbackAuthCallback是认证器回调,用于返回判断结果。

getRemoteObject9+

getRemoteObject(): rpc.RemoteObject;

获取认证器的远程对象,不可以重载实现。

系统能力: SystemCapability.Account.AppAccount

示例:

import rpc from '@ohos.rpc';

class MyAuthenticator extends account_appAccount.Authenticator {
  addAccountImplicitly(authType: string, callerBundleName: string,
    options: Record<string, Object>, callback: account_appAccount.AuthenticatorCallback) {
      let want: Want = {
        bundleName: 'com.example.accountjsdemo',
        abilityName: 'com.example.accountjsdemo.LoginAbility',
      };
      callback.onRequestRedirected(want);
  }

  authenticate(name: string, authType: string, callerBundleName: string,
    options: Record<string, Object>, callback: account_appAccount.AuthenticatorCallback) {
      callback.onResult(account_appAccount.ResultCode.SUCCESS, {
        name: name,
        authType: authType,
        token: 'xxxxxx'}
      );
  }

  verifyCredential(name: string,
    options: account_appAccount.VerifyCredentialOptions, callback: account_appAccount.AuthCallback) {
      let want: Want = {
        bundleName: 'com.example.accountjsdemo',
        abilityName: 'com.example.accountjsdemo.VerifyAbility',
        parameters: {
          name: name
        }
      };
      callback.onRequestRedirected(want);
  }

  setProperties(options: account_appAccount.SetPropertiesOptions, callback: account_appAccount.AuthCallback) {
    let want: Want = {
        bundleName: 'com.example.accountjsdemo',
        abilityName: 'com.example.accountjsdemo.SetPropertiesAbility',
        parameters: {
          options: options
        }
      };
      callback.onRequestRedirected(want);
  }

  checkAccountLabels(name: string, labels: string[], callback: account_appAccount.AuthCallback) {
    callback.onResult(account_appAccount.ResultCode.SUCCESS);
  }

  checkAccountRemovable(name: string, callback: account_appAccount.AuthCallback) {
    callback.onResult(account_appAccount.ResultCode.SUCCESS);
  }
}

export default {
  onConnect(want: Want): rpc.RemoteObject { // serviceAbility 生命周期函数
    let authenticator = new MyAuthenticator();
    return authenticator.getRemoteObject();
  }
}

你可能感兴趣的鸿蒙文章

harmony 鸿蒙接口

harmony 鸿蒙系统公共事件定义(待停用)

harmony 鸿蒙系统公共事件定义

harmony 鸿蒙开发说明

harmony 鸿蒙企业设备管理概述(仅对系统应用开放)

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager模块)

harmony 鸿蒙@ohos.distributedBundle (分布式包管理)

harmony 鸿蒙@ohos.bundle (Bundle模块)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (企业设备管理扩展能力)

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/0efa106c3c0249deb483a1a48fe55c36