应用帐号管理

2024-01-23 17:53 更新

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

说明

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

导入模块

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

account_appAccount.createAppAccountManager

createAppAccountManager(): AppAccountManager

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

系统能力: SystemCapability.Account.AppAccount

返回值:

类型

说明

AppAccountManager

应用帐号管理器对象。

示例:

  1. let appAccountManager = account_appAccount.createAppAccountManager();

AppAccountManager

应用帐号管理器类。

createAccount9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

callback

AsyncCallback<void>

回调函数。当创建成功时,err为null,否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name.

12300004

Account already exists.

12300007

The number of accounts reaches the upper limit.

示例:

  1. try {
  2. appAccountManager.createAccount("WangWu", (err) => {
  3. console.log("createAccount err: " + JSON.stringify(err));
  4. });
  5. } catch (err) {
  6. console.log("createAccount err: " + JSON.stringify(err));
  7. }

createAccount9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

options

CreateAccountOptions

创建应用帐号的选项,可提供自定义数据,但不建议包含敏感数据(如密码、Token等)。

callback

AsyncCallback<void>

回调函数。当创建成功时,err为null,否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or options.

12300004

Account already exists.

12300007

The number of accounts reaches the upper limit.

示例:

  1. let options = {
  2. customData: {
  3. "age": "10"
  4. }
  5. }
  6. try {
  7. appAccountManager.createAccount("LiSi", options, (err) => {
  8. if (err) {
  9. console.log("createAccount failed, error: " + JSON.stringify(err));
  10. } else {
  11. console.log("createAccount successfully");
  12. }
  13. });
  14. } catch(err) {
  15. console.log("createAccount exception: " + JSON.stringify(err));
  16. }

createAccount9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

options

CreateAccountOptions

创建应用帐号的选项,可提供自定义数据,但不建议包含敏感数据(如密码、Token等)。不填无影响。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or options.

12300004

Account already exists.

12300007

The number of accounts reaches the upper limit.

12400003

The number of custom data reaches the upper limit.

示例:

  1. let options = {
  2. customData: {
  3. "age": "10"
  4. }
  5. }
  6. try {
  7. appAccountManager.createAccount("LiSi", options).then(() => {
  8. console.log("createAccount successfully");
  9. }).catch((err) => {
  10. console.log("createAccount failed, error: " + JSON.stringify(err));
  11. });
  12. } catch(err) {
  13. console.log("createAccount exception: " + JSON.stringify(err));
  14. }

createAccountImplicitly9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

owner

string

应用帐号所有者的包名。

callback

AuthCallback

认证器回调对象,返回创建结果。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid owner.

12300007

The number of accounts reaches the upper limit.

12300010

Account service busy.

12300113

Authenticator service not found.

12300114

Authenticator service exception.

示例:

  1. function onResultCallback(code, result) {
  2. console.log("resultCode: " + code);
  3. console.log("result: " + JSON.stringify(result));
  4. }
  5. function onRequestRedirectedCallback(request) {
  6. let wantInfo = {
  7. deviceId: '',
  8. bundleName: 'com.example.accountjsdemo',
  9. action: 'ohos.want.action.viewData',
  10. entities: ['entity.system.default'],
  11. }
  12. this.context.startAbility(wantInfo).then(() => {
  13. console.log("startAbility successfully");
  14. }).catch((err) => {
  15. console.log("startAbility err: " + JSON.stringify(err));
  16. })
  17. }
  18. try {
  19. appAccountManager.createAccountImplicitly("com.example.accountjsdemo", {
  20. onResult: onResultCallback,
  21. onRequestRedirected: onRequestRedirectedCallback
  22. });
  23. } catch (err) {
  24. console.log("createAccountImplicitly exception: " + JSON.stringify(err));
  25. }

createAccountImplicitly9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

owner

string

应用帐号所有者的包名。

options

CreateAccountImplicitlyOptions

隐式创建帐号的选项。

callback

AuthCallback

认证器回调对象,返回创建结果。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or options.

12300007

The number of accounts reaches the upper limit.

12300010

Account service busy.

12300113

Authenticator service not found.

12300114

Authenticator service exception.

示例:

  1. function onResultCallback(code, result) {
  2. console.log("resultCode: " + code);
  3. console.log("result: " + JSON.stringify(result));
  4. }
  5. function onRequestRedirectedCallback(request) {
  6. let wantInfo = {
  7. deviceId: '',
  8. bundleName: 'com.example.accountjsdemo',
  9. action: 'ohos.want.action.viewData',
  10. entities: ['entity.system.default'],
  11. }
  12. this.context.startAbility(wantInfo).then(() => {
  13. console.log("startAbility successfully");
  14. }).catch((err) => {
  15. console.log("startAbility err: " + JSON.stringify(err));
  16. })
  17. }
  18. let options = {
  19. authType: "getSocialData",
  20. requiredLabels: [ "student" ]
  21. };
  22. try {
  23. appAccountManager.createAccountImplicitly("com.example.accountjsdemo", options, {
  24. onResult: onResultCallback,
  25. onRequestRedirected: onRequestRedirectedCallback
  26. });
  27. } catch (err) {
  28. console.log("createAccountImplicitly exception: " + JSON.stringify(err));
  29. }

removeAccount9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

callback

AsyncCallback<void>

回调函数。当删除成功时,err为null,否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name.

12300003

Account not found.

示例:

  1. try {
  2. appAccountManager.removeAccount("ZhaoLiu", (err) => {
  3. if (err) {
  4. console.log("removeAccount failed, error: " + JSON.stringify(err));
  5. } else {
  6. console.log("removeAccount successfully");
  7. }
  8. });
  9. } catch(err) {
  10. console.log("removeAccount exception: " + JSON.stringify(err));
  11. }

removeAccount9+

removeAccount(name: string): Promise<void>

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name.

12300003

Account not found.

示例:

  1. try {
  2. appAccountManager.removeAccount("Lisi").then(() => {
  3. console.log("removeAccount successfully");
  4. }).catch((err) => {
  5. console.log("removeAccount failed, error: " + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log("removeAccount exception: " + JSON.stringify(err));
  9. }

setAppAccess9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

bundleName

string

第三方应用的包名。

isAccessible

boolean

是否可访问。true表示允许访问,false表示禁止访问。

callback

AsyncCallback<void>

回调函数,如果设置成功,err为null,否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or bundleName.

12300003

Account not found.

12400001

Application not found.

示例:

  1. try {
  2. appAccountManager.setAppAccess("ZhangSan", "com.example.accountjsdemo", true, (err) => {
  3. if (err) {
  4. console.log("setAppAccess failed: " + JSON.stringify(err));
  5. } else {
  6. console.log("setAppAccess successfully");
  7. }
  8. });
  9. } catch (err) {
  10. console.log("setAppAccess exception: " + JSON.stringify(err));
  11. }

setAppAccess9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

bundleName

string

第三方应用的包名。

isAccessible

boolean

是否可访问。true表示允许访问,false表示禁止访问。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or bundleName.

12300003

Account not found.

12400001

Application not found.

示例:

  1. try {
  2. appAccountManager.setAppAccess("ZhangSan", "com.example.accountjsdemo", true).then(() => {
  3. console.log("setAppAccess successfully");
  4. }).catch((err) => {
  5. console.log("setAppAccess failed: " + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log("setAppAccess exception: " + JSON.stringify(err));
  9. }

checkAppAccess9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

bundleName

string

第三方应用的包名。

callback

AsyncCallback<boolean>

回调函数。返回true表示指定应用可访问特定帐号的数据;返回false表示不可访问。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or bundleName.

12300003

Account not found.

12400001

Application not found.

示例:

  1. try {
  2. appAccountManager.checkAppAccess("ZhangSan", "com.example.accountjsdemo", (err, isAccessible) => {
  3. if (err) {
  4. console.log("checkAppAccess failed, error: " + JSON.stringify(err));
  5. } else {
  6. console.log("checkAppAccess successfully");
  7. }
  8. });
  9. } catch (err) {
  10. console.log("checkAppAccess exception: " + JSON.stringify(err));
  11. }

checkAppAccess9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

bundleName

string

第三方应用的包名。

返回值:

类型

说明

Promise<boolean>

Promise对象。返回true表示指定应用可访问特定帐号的数据;返回false表示不可访问。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or bundleName.

12300003

Account not found.

12400001

Application not found.

示例:

  1. try {
  2. appAccountManager.checkAppAccess("ZhangSan", "com.example.accountjsdemo").then((isAccessible) => {
  3. console.log("checkAppAccess successfully, isAccessible: " + isAccessible);
  4. }).catch((err) => {
  5. console.log("checkAppAccess failed, error: " + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log("checkAppAccess exception: " + JSON.stringify(err));
  9. }

setDataSyncEnabled9+

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

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

需要权限: ohos.permission.DISTRIBUTED_DATASYNC

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

isEnabled

boolean

是否开启数据同步。

callback

AsyncCallback<void>

回调函数。当开启或禁止成功时,err为null,否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name.

12300003

Account not found.

示例:

  1. try {
  2. appAccountManager.setDataSyncEnabled("ZhangSan", true, (err) => {
  3. console.log("setDataSyncEnabled err: " + JSON.stringify(err));
  4. });
  5. } catch (err) {
  6. console.log("setDataSyncEnabled err: " + JSON.stringify(err));
  7. }

setDataSyncEnabled9+

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

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

需要权限: ohos.permission.DISTRIBUTED_DATASYNC

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

isEnabled

boolean

是否开启数据同步。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name.

12300003

Account not found.

示例:

  1. try {
  2. appAccountManager .setDataSyncEnabled("ZhangSan", true).then(() => {
  3. console.log('setDataSyncEnabled Success');
  4. }).catch((err) => {
  5. console.log("setDataSyncEnabled err: " + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log("setDataSyncEnabled err: " + JSON.stringify(err));
  9. }

checkDataSyncEnabled9+

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

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

需要权限: ohos.permission.DISTRIBUTED_DATASYNC

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

callback

AsyncCallback<boolean>

回调函数。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name.

12300003

Account not found.

示例:

  1. try {
  2. appAccountManager.checkDataSyncEnabled("ZhangSan", (err, isEnabled) => {
  3. if (err) {
  4. console.log("checkDataSyncEnabled failed, err: " + JSON.stringify(err));
  5. } else {
  6. console.log('checkDataSyncEnabled successfully, isEnabled: ' + isEnabled);
  7. }
  8. });
  9. } catch (err) {
  10. console.log("checkDataSyncEnabled err: " + JSON.stringify(err));
  11. }

checkDataSyncEnabled9+

checkDataSyncEnabled(name: string): Promise<boolean>

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

需要权限: ohos.permission.DISTRIBUTED_DATASYNC

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

返回值:

类型

说明

Promise<boolean>

Promise对象。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name.

12300003

Account not found.

示例:

  1. try {
  2. appAccountManager.checkDataSyncEnabled("ZhangSan").then((isEnabled) => {
  3. console.log("checkDataSyncEnabled successfully, isEnabled: " + isEnabled);
  4. }).catch((err) => {
  5. console.log("checkDataSyncEnabled failed, err: " + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log("checkDataSyncEnabled err: " + JSON.stringify(err));
  9. }

setCredential9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

credentialType

string

凭据类型。

credential

string

凭据取值。

callback

AsyncCallback<void>

回调函数。当凭据设置成功时,err为null,否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or credentialType or credential.

12300003

Account not found.

示例:

  1. try {
  2. appAccountManager.setCredential("ZhangSan", "PIN_SIX", "xxxxxx", (err) => {
  3. if (err) {
  4. console.log("setCredential failed, error: " + JSON.stringify(err));
  5. } else {
  6. console.log("setCredential successfully");
  7. }
  8. });
  9. } catch (err) {
  10. console.log("setCredential exception: " + JSON.stringify(err));
  11. }

setCredential9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

credentialType

string

凭据类型。

credential

string

凭据取值。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or credentialType or credential.

12300003

Account not found.

示例:

  1. try {
  2. appAccountManager.setCredential("ZhangSan", "PIN_SIX", "xxxxxx").then(() => {
  3. console.log("setCredential successfully");
  4. }).catch((err) => {
  5. console.log("setCredential failed, error: " + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log("setCredential exception: " + JSON.stringify(err));
  9. }

getCredential9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

credentialType

string

凭据类型。

callback

AsyncCallback<string>

回调函数。当获取凭据成功时,err为null,data为指定应用帐号的凭据;否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or credentialType.

12300003

Account not found.

12300102

Credential not found.

示例:

  1. try {
  2. appAccountManager.getCredential("ZhangSan", "PIN_SIX", (err, result) => {
  3. if (err) {
  4. console.log("getCredential failed, error: " + JSON.stringify(err));
  5. } else {
  6. console.log('getCredential successfully, result: ' + result);
  7. }
  8. });
  9. } catch (err) {
  10. console.log("getCredential err: " + JSON.stringify(err));
  11. }

getCredential9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

credentialType

string

凭据类型。

返回值:

类型

说明

Promise<string>

Promise对象,返回指定应用帐号的凭据。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or credentialType.

12300003

Account not found.

12300102

Credential not found.

示例:

  1. try {
  2. appAccountManager.getCredential("ZhangSan", "PIN_SIX").then((credential) => {
  3. console.log("getCredential successfully, credential: " + credential);
  4. }).catch((err) => {
  5. console.log("getCredential failed, error: " + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log("getCredential exception: " + JSON.stringify(err));
  9. }

setCustomData9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

key

string

自定义数据的键名。

value

string

自定义数据的取值。

callback

AsyncCallback<void>

回调函数。当设置自定义数据成功时,err为null,否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or key or value.

12300003

Account not found.

12400003

The number of custom data reaches the upper limit.

示例:

  1. try {
  2. appAccountManager.setCustomData("ZhangSan", "age", "12", (err) => {
  3. if (err) {
  4. console.log("setCustomData failed, error: " + JSON.stringify(err));
  5. } else {
  6. console.log("setCustomData successfully");
  7. }
  8. });
  9. } catch (err) {
  10. console.log("setCustomData exception: " + JSON.stringify(err));
  11. }

setCustomData9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

key

string

自定义数据的键名。

value

string

自定义数据的取值。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or key or value.

12300003

Account not found.

12400003

The number of custom data reaches the upper limit.

示例:

  1. try {
  2. appAccountManager.setCustomData("ZhangSan", "age", "12").then(() => {
  3. console.log("setCustomData successfully");
  4. }).catch((err) => {
  5. console.log("setCustomData failed, error: " + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log("setCustomData exception: " + JSON.stringify(err));
  9. }

getCustomData9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

key

string

自定义数据的键名。

callback

AsyncCallback<string>

回调函数。当获取成功时,err为null,data为自定义数据的取值;否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or key.

12300003

Account not found.

12400002

Custom data not found.

示例:

  1. try {
  2. appAccountManager.getCustomData("ZhangSan", "age", (err, data) => {
  3. if (err) {
  4. console.log('getCustomData failed, error: ' + err);
  5. } else {
  6. console.log("getCustomData successfully, data: " + data);
  7. }
  8. });
  9. } catch (err) {
  10. console.log("getCustomData exception: " + JSON.stringify(err));
  11. }

getCustomData9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

key

string

自定义数据的键名。

返回值:

类型

说明

Promise<string>

Promise对象,返回自定义数据的取值。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or key.

12300003

Account not found.

12400002

Custom data not found.

示例:

  1. try {
  2. appAccountManager.getCustomData("ZhangSan", "age").then((data) => {
  3. console.log("getCustomData successfully, data: " + data);
  4. }).catch((err) => {
  5. console.log("getCustomData failed, error: " + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log("getCustomData exception: " + JSON.stringify(err));
  9. }

getCustomDataSync9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

key

string

自定义数据的键名。

返回值:

类型

说明

string

自定义数据的取值。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or key.

12300003

Account not found.

12400002

Custom data not found.

示例:

  1. try {
  2. let value = appAccountManager.getCustomDataSync("ZhangSan", "age");
  3. console.info("getCustomDataSync successfully, vaue:" + value);
  4. } catch (err) {
  5. console.error("getCustomDataSync failed, error: " + JSON.stringify(err));
  6. }

getAllAccounts9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

callback

AsyncCallback<Array<AppAccountInfo>>

回调函数。当查询成功时,err为null,data为获取到的应用帐号信息列表;否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

示例:

  1. try {
  2. appAccountManager.getAllAccounts((err, data) => {
  3. if (err) {
  4. console.debug("getAllAccounts failed, error:" + JSON.stringify(err));
  5. } else {
  6. console.debug("getAllAccounts successfully");
  7. }
  8. });
  9. } catch (err) {
  10. console.debug("getAllAccounts exception: " + JSON.stringify(err));
  11. }

getAllAccounts9+

getAllAccounts(): Promise<Array<AppAccountInfo>>

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

系统能力: SystemCapability.Account.AppAccount

返回值:

类型

说明

Promise<Array<AppAccountInfo>>

Promise对象,返回全部应用已授权帐号信息对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

示例:

  1. try {
  2. appAccountManager.getAllAccounts().then((data) => {
  3. console.debug("getAllAccounts successfully");
  4. }).catch((err) => {
  5. console.debug("getAllAccounts failed, error:" + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.debug("getAllAccounts exception: " + JSON.stringify(err));
  9. }

getAccountsByOwner9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

owner

string

应用帐号所有者的包名。

callback

AsyncCallback<Array<AppAccountInfo>>

回调函数。如果获取成功,err为null,data为获取到的应用帐号列表;否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid owner.

12400001

Application not found.

示例:

  1. try {
  2. appAccountManager.getAccountsByOwner("com.example.accountjsdemo2", (err, data) => {
  3. if (err) {
  4. console.debug("getAccountsByOwner failed, error:" + JSON.stringify(err));
  5. } else {
  6. console.debug("getAccountsByOwner successfully, data:" + JSON.stringify(data));
  7. }
  8. });
  9. } catch (err) {
  10. console.debug("getAccountsByOwner exception:" + JSON.stringify(err));
  11. }

getAccountsByOwner9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

owner

string

应用帐号所有者的包名。

返回值:

类型

说明

Promise<Array<AppAccountInfo>>

Promise对象,返回获取到的应用帐号列表。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid owner.

12400001

Application not found.

示例:

  1. try {
  2. appAccountManager.getAccountsByOwner("com.example.accountjsdemo2").then((data) => {
  3. console.debug("getAccountsByOwner successfully, data:" + JSON.stringify(data));
  4. }).catch((err) => {
  5. console.debug("getAccountsByOwner failed, error:" + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.debug("getAccountsByOwner exception:" + JSON.stringify(err));
  9. }

on('accountChange')9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

type

'accountChange'

事件回调类型,支持的事件为'accountChange',当目标应用更新帐号信息时,触发该事件。

owners

Array<string>

应用帐号所有者的包名列表。

callback

Callback<Array<AppAccountInfo>>

回调函数,返回信息发生变更的应用帐号列表。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid type or owners.

12300011

Callback has been registered.

12400001

Application not found.

示例:

  1. function changeOnCallback(data){
  2. console.log("receive change data:" + JSON.stringify(data));
  3. }
  4. try{
  5. appAccountManager.on("accountChange", ["com.example.actsaccounttest"], changeOnCallback);
  6. } catch(err) {
  7. console.error("on accountChange failed, error:" + JSON.stringify(err));
  8. }

off('accountChange')9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

type

'accountChange'

事件回调类型,支持的事件为'accountChange',当帐号所有者更新帐号信息时,触发该事件。

callback

Callback<Array<AppAccountInfo>>

回调函数,返回信息发生变更的应用帐号列表。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid type.

12300012

Callback has not been registered.

示例:

  1. function changeOnCallback(data){
  2. console.log("receive change data:" + JSON.stringify(data));
  3. }
  4. try{
  5. appAccountManager.on("accountChange", ["com.example.actsaccounttest"], changeOnCallback);
  6. } catch(err) {
  7. console.error("on accountChange failed, error:" + JSON.stringify(err));
  8. }
  9. try{
  10. appAccountManager.off('accountChange', changeOnCallback);
  11. }
  12. catch(err){
  13. console.error("off accountChange failed, error:" + JSON.stringify(err));
  14. }

auth9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

authType

string

鉴权类型。

callback

AuthCallback

回调对象,返回鉴权结果。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or owner or authType.

12300003

Account not found.

12300010

Account service busy.

12300113

Authenticator service not found.

12300114

Authenticator service exception.

示例:

  1. function onResultCallback(code, authResult) {
  2. console.log("resultCode: " + code);
  3. console.log("authResult: " + JSON.stringify(authResult));
  4. }
  5. function onRequestRedirectedCallback(request) {
  6. let wantInfo = {
  7. deviceId: '',
  8. bundleName: 'com.example.accountjsdemo',
  9. action: 'ohos.want.action.viewData',
  10. entities: ['entity.system.default'],
  11. }
  12. this.context.startAbility(wantInfo).then(() => {
  13. console.log("startAbility successfully");
  14. }).catch((err) => {
  15. console.log("startAbility err: " + JSON.stringify(err));
  16. })
  17. }
  18. try {
  19. appAccountManager.auth("LiSi", "com.example.accountjsdemo", "getSocialData", {
  20. onResult: onResultCallback,
  21. onRequestRedirected: onRequestRedirectedCallback
  22. });
  23. } catch (err) {
  24. console.log("auth exception: " + JSON.stringify(err));
  25. }

auth9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

authType

string

鉴权类型。

options

{[key: string]: Object}

鉴权所需的可选项。

callback

AuthCallback

回调对象,返回鉴权结果。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or owner or authType.

12300003

Account not exist.

12300010

Account service busy.

12300113

Authenticator service not found.

12300114

Authenticator service exception.

示例:

  1. function onResultCallback(code, authResult) {
  2. console.log("resultCode: " + code);
  3. console.log("authResult: " + JSON.stringify(authResult));
  4. }
  5. function onRequestRedirectedCallback(request) {
  6. let wantInfo = {
  7. deviceId: '',
  8. bundleName: 'com.example.accountjsdemo',
  9. action: 'ohos.want.action.viewData',
  10. entities: ['entity.system.default'],
  11. }
  12. this.context.startAbility(wantInfo).then(() => {
  13. console.log("startAbility successfully");
  14. }).catch((err) => {
  15. console.log("startAbility err: " + JSON.stringify(err));
  16. })
  17. }
  18. let options = {
  19. "password": "xxxx",
  20. };
  21. try {
  22. appAccountManager.auth("LiSi", "com.example.accountjsdemo", "getSocialData", options, {
  23. onResult: onResultCallback,
  24. onRequestRedirected: onRequestRedirectedCallback
  25. });
  26. } catch (err) {
  27. console.log("auth exception: " + JSON.stringify(err));
  28. }

getAuthToken9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

authType

string

鉴权类型。

callback

AsyncCallback<string>

回调函数。当获取成功时,err为null,data为授权令牌值;否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name, owner or authType.

12300003

Account not found.

12300107

AuthType not found.

示例:

  1. try {
  2. appAccountManager.getAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", (err, token) => {
  3. if (err) {
  4. console.log("getAuthToken failed, error: " + JSON.stringify(err));
  5. } else {
  6. console.log("getAuthToken successfully, token: " + token);
  7. }
  8. });
  9. } catch (err) {
  10. console.log("getAuthToken exception: " + JSON.stringify(err));
  11. }

getAuthToken9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

authType

string

鉴权类型。

返回值:

类型

说明

Promise<string>

Promise对象,返回授权令牌。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or owner or authType.

12300003

Account not found.

12300107

AuthType not found.

示例:

  1. try {
  2. appAccountManager.getAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData").then((token) => {
  3. console.log("getAuthToken successfully, token: " + token);
  4. }).catch((err) => {
  5. console.log("getAuthToken failed, error: " + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log("getAuthToken exception: " + JSON.stringify(err));
  9. }

setAuthToken9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

token

string

授权令牌。

callback

AsyncCallback<void>

回调函数。当设置成功时,err为null;否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or authType or token.

12300003

Account not found.

12400004

The number of token reaches the upper limit.

示例:

  1. try {
  2. appAccountManager.setAuthToken("LiSi", "getSocialData", "xxxx", (err) => {
  3. if (err) {
  4. console.log("setAuthToken failed, error: " + JSON.stringify(err));
  5. } else {
  6. console.log("setAuthToken successfully");
  7. }
  8. });
  9. } catch (err) {
  10. console.log('setAuthToken exception: ' + JSON.stringify(err));
  11. }

setAuthToken9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

token

string

授权令牌。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or authType or token.

12300003

Account not found.

12400004

The number of token reaches the upper limit.

示例:

  1. try {
  2. appAccountManager.setAuthToken("LiSi", "getSocialData", "xxxx").then(() => {
  3. console.log("setAuthToken successfully");
  4. }).catch((err) => {
  5. console.log("setAuthToken failed, error: " + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log("setAuthToken exception: " + JSON.stringify(err));
  9. }

deleteAuthToken9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

authType

string

鉴权类型。

token

string

授权令牌。

callback

AsyncCallback<void>

回调函数。当删除成功时,err为null;否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or owner or authType or token.

12300003

Account not found.

12300107

AuthType not found.

示例:

  1. try {
  2. appAccountManager.deleteAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", "xxxxx", (err) => {
  3. if (err) {
  4. console.log('deleteAuthToken failed, error: ' + JSON.stringify(err));
  5. } else {
  6. console.log("deleteAuthToken successfully");
  7. }
  8. });
  9. } catch (err) {
  10. console.log('deleteAuthToken exception: ' + JSON.stringify(err));
  11. }

deleteAuthToken9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

authType

string

鉴权类型。

token

string

授权令牌。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or owner or authType or token.

12300003

Account not found.

12300107

AuthType not found.

示例:

  1. try {
  2. appAccountManager.deleteAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", "xxxxx").then(() => {
  3. console.log("deleteAuthToken successfully");
  4. }).catch((err) => {
  5. console.log('deleteAuthToken failed, error: ' + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log('deleteAuthToken exception: ' + JSON.stringify(err));
  9. }

setAuthTokenVisibility9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

bundleName

string

被设置可见性的应用包名。

isVisible

boolean

是否可见。true表示可见,false表示不可见。

callback

AsyncCallback<void>

回调函数。当设置成功时,err为null;否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or authType or bundleName.

12300003

Account not found.

12300107

AuthType not found.

12400001

Application not found.

12400005

The size of authorization list reaches the upper limit.

示例:

  1. try {
  2. appAccountManager.setAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", true, (err) => {
  3. if (err) {
  4. console.log("setAuthTokenVisibility failed, error: " + JSON.stringify(err));
  5. } else {
  6. console.log("setAuthTokenVisibility successfully");
  7. }
  8. });
  9. } catch (err) {
  10. console.log("setAuthTokenVisibility exception: " + JSON.stringify(err));
  11. }

setAuthTokenVisibility9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

bundleName

string

被设置可见性的应用包名。

isVisible

boolean

是否可见。true表示可见,false表示不可见。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or authType or bundleName.

12300003

Account not found.

12300107

AuthType not found.

12400001

Application not found.

12400005

The size of authorization list reaches the upper limit.

示例:

  1. try {
  2. appAccountManager.setAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", true).then(() => {
  3. console.log("setAuthTokenVisibility successfully");
  4. }).catch((err) => {
  5. console.log("setAuthTokenVisibility failed, error: " + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log("setAuthTokenVisibility exception: " + JSON.stringify(err));
  9. }

checkAuthTokenVisibility9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

bundleName

string

检查可见性的应用包名。

callback

AsyncCallback<boolean>

回调函数。当检查成功时,err为null,data为true表示可见,data为false表示不可见;否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or authType or bundleName.

12300003

Account not found.

12300107

AuthType not found.

12400001

Application not found.

示例:

  1. try {
  2. appAccountManager.checkAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", (err, isVisible) => {
  3. if (err) {
  4. console.log("checkAuthTokenVisibility failed, error: " + JSON.stringify(err));
  5. } else {
  6. console.log("checkAuthTokenVisibility successfully, isVisible: " + isVisible);
  7. }
  8. });
  9. } catch (err) {
  10. console.log("checkAuthTokenVisibility exception: " + JSON.stringify(err));
  11. }

checkAuthTokenVisibility9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

bundleName

string

用于检查可见性的应用包名。

返回值:

类型

说明

Promise<boolean>

Promise对象。返回true表示授权令牌对指定应用的可见,返回false表示不可见。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or authType or bundleName.

12300003

Account not found.

12300107

AuthType not found.

12400001

Application not found.

示例:

  1. try {
  2. appAccountManager.checkAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo").then((isVisible) => {
  3. console.log("checkAuthTokenVisibility successfully, isVisible: " + isVisible);
  4. }).catch((err) => {
  5. console.log("checkAuthTokenVisibility failed, error: " + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log("checkAuthTokenVisibility exception: " + JSON.stringify(err));
  9. }

getAllAuthTokens9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

callback

AsyncCallback<Array<AuthTokenInfo>>

回调函数。当获取成功时,err为null,data为授权令牌数组;否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or owner.

12300003

Account not found.

示例:

  1. try {
  2. appAccountManager.getAllAuthTokens("LiSi", "com.example.accountjsdemo", (err, tokenArr) => {
  3. if (err) {
  4. console.log("getAllAuthTokens failed, error: " + JSON.stringify(err));
  5. } else {
  6. console.log('getAllAuthTokens successfully, tokenArr: ' + tokenArr);
  7. }
  8. });
  9. } catch (err) {
  10. console.log("getAllAuthTokens exception: " + JSON.stringify(err));
  11. }

getAllAuthTokens9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

返回值:

类型

说明

Promise<Array<AuthTokenInfo>>

Promise对象,返回授权令牌数组。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or owner.

12300003

Account not found.

示例:

  1. try {
  2. appAccountManager.getAllAuthTokens("LiSi", "com.example.accountjsdemo").then((tokenArr) => {
  3. console.log('getAllAuthTokens successfully, tokenArr: ' + JSON.stringify(tokenArr));
  4. }).catch((err) => {
  5. console.log("getAllAuthTokens failed, error: " + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log("getAllAuthTokens exception: " + JSON.stringify(err));
  9. }

getAuthList9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

callback

AsyncCallback<Array<string>>

回调函数。当获取成功时,err为null,data为被授权的包名数组;否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or authType.

12300003

Account not found.

12300107

AuthType not found.

示例:

  1. try {
  2. appAccountManager.getAuthList("com.example.accountjsdemo", "getSocialData", (err, authList) => {
  3. if (err) {
  4. console.log("getAuthList failed, error: " + JSON.stringify(err));
  5. } else {
  6. console.log("getAuthList successfully, authList: " + authList);
  7. }
  8. });
  9. } catch (err) {
  10. console.log('getAuthList exception: ' + JSON.stringify(err));
  11. }

getAuthList9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

返回值:

类型

说明

Promise<Array<string>>

Promise对象,返回被授权的包名数组。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or authType.

12300003

Account not found.

12300107

AuthType not found.

示例:

  1. try {
  2. appAccountManager.getAuthList("com.example.accountjsdemo", "getSocialData").then((authList) => {
  3. console.log("getAuthList successfully, authList: " + authList);
  4. }).catch((err) => {
  5. console.log("getAuthList failed, error: " + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log("getAuthList exception: " + JSON.stringify(err));
  9. }

getAuthCallback9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

sessionId

string

鉴权会话的标识。

callback

AsyncCallback<AuthCallback>

回调函数。当获取成功时,err为null,data为鉴权会话的认证器回调对象;否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid sessionId.

12300108

Session not found.

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. export default class EntryAbility extends UIAbility {
  3. onCreate(want, param) {
  4. var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];
  5. try {
  6. appAccountManager.getAuthCallback(sessionId, (err, callback) => {
  7. if (err != null) {
  8. console.log("getAuthCallback err: " + JSON.stringify(err));
  9. return;
  10. }
  11. var result = {
  12. accountInfo: {
  13. name: "Lisi",
  14. owner: "com.example.accountjsdemo",
  15. },
  16. tokenInfo: {
  17. token: "xxxxxx",
  18. authType: "getSocialData"
  19. }
  20. };
  21. callback.onResult(0, result);
  22. });
  23. } catch (err) {
  24. console.log("getAuthCallback exception: " + JSON.stringify(err));
  25. }
  26. }
  27. }

getAuthCallback9+

getAuthCallback(sessionId: string): Promise<AuthCallback>

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

sessionId

string

鉴权会话的标识。

返回值:

类型

说明

Promise<AuthCallback>

Promise对象,返回鉴权会话的认证器回调对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid sessionId.

12300108

Session not found.

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. export default class EntryAbility extends UIAbility {
  3. onCreate(want, param) {
  4. var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];
  5. try {
  6. appAccountManager.getAuthCallback(sessionId).then((callback) => {
  7. var result = {
  8. accountInfo: {
  9. name: "Lisi",
  10. owner: "com.example.accountjsdemo",
  11. },
  12. tokenInfo: {
  13. token: "xxxxxx",
  14. authType: "getSocialData"
  15. }
  16. };
  17. callback.onResult(0, result);
  18. }).catch((err) => {
  19. console.log("getAuthCallback err: " + JSON.stringify(err));
  20. });
  21. } catch (err) {
  22. console.log("getAuthCallback exception: " + JSON.stringify(err));
  23. }
  24. }
  25. }

queryAuthenticatorInfo9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

owner

string

应用包名。

callback

AsyncCallback<AuthenticatorInfo>

回调函数。当获取成功时,err为null,data为认证器信息对象;否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid owner.

12300113

Authenticator service not found.

示例:

  1. try {
  2. appAccountManager.queryAuthenticatorInfo("com.example.accountjsdemo", (err, info) => {
  3. if (err) {
  4. console.log("queryAuthenticatorInfo failed, error: " + JSON.stringify(err));
  5. } else {
  6. console.log('queryAuthenticatorInfo successfully, info: ' + JSON.stringify(info));
  7. }
  8. });
  9. } catch (err) {
  10. console.log("queryAuthenticatorInfo exception: " + JSON.stringify(err));
  11. }

queryAuthenticatorInfo9+

queryAuthenticatorInfo(owner: string): Promise<AuthenticatorInfo>

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

owner

string

应用包名。

返回值:

类型

说明

Promise<AuthenticatorInfo>

Promise对象,返回指定应用的认证器信息对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid owner.

12300113

Authenticator service not found.

示例:

  1. try {
  2. appAccountManager.queryAuthenticatorInfo("com.example.accountjsdemo").then((info) => {
  3. console.log("queryAuthenticatorInfo successfully, info: " + JSON.stringify(info));
  4. }).catch((err) => {
  5. console.log("queryAuthenticatorInfo failed, error: " + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log("queryAuthenticatorInfo exception: " + JSON.stringify(err));
  9. }

checkAccountLabels9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号的所有者。

labels

Array<string>

标签数组。

callback

AsyncCallback<boolean>

回调函数。当检查成功时,err为null,data为true表示满足特定的标签集合,data为false表示不满足;否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or owner or labels.

12300003

Account not found.

12300010

Account service busy.

12300113

Authenticator service not found.

12300114

Authenticator service exception.

示例:

  1. let labels = ["student"];
  2. try {
  3. appAccountManager.checkAccountLabels("zhangsan", "com.example.accountjsdemo", labels, (err, hasAllLabels) => {
  4. if (err) {
  5. console.log("checkAccountLabels failed, error: " + JSON.stringify(err));
  6. } else {
  7. console.log("checkAccountLabels successfully, hasAllLabels: " + hasAllLabels);
  8. }
  9. });
  10. } catch (err) {
  11. console.log("checkAccountLabels exception: " + JSON.stringify(err));
  12. }

checkAccountLabels9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号的所有者。

labels

Array<string>

标签数组。

返回值:

类型

说明

Promise<boolean>

Promise对象。返回true表示指定帐号满足特定的标签集合,返回false表示不满足。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or owner or labels.

12300003

Account not found.

12300010

Account service busy.

12300113

Authenticator service not found.

12300114

Authenticator service exception.

示例:

  1. let labels = ["student"];
  2. try {
  3. appAccountManager.checkAccountLabels("zhangsan", "com.example.accountjsdemo", labels).then((hasAllLabels) => {
  4. console.log('checkAccountLabels successfully: ' + hasAllLabels);
  5. }).catch((err) => {
  6. console.log("checkAccountLabels failed, error: " + JSON.stringify(err));
  7. });
  8. } catch (err) {
  9. console.log("checkAccountLabels exception: " + JSON.stringify(err));
  10. }

deleteCredential9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

credentialType

string

凭据类型。

callback

AsyncCallback<void>

回调函数。当删除成功时,err为null;否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or credentialType.

12300003

Account not found.

12300102

Credential not found.

示例:

  1. try {
  2. appAccountManager.deleteCredential("zhangsan", "PIN_SIX", (err) => {
  3. if (err) {
  4. console.log("deleteCredential failed, error: " + JSON.stringify(err));
  5. } else {
  6. console.log("deleteCredential successfully");
  7. }
  8. });
  9. } catch (err) {
  10. console.log("deleteCredential exception: " + JSON.stringify(err));
  11. }

deleteCredential9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

credentialType

string

凭据类型。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or credentialType.

12300003

Account not found.

12300102

Credential not found.

示例:

  1. try {
  2. appAccountManager.deleteCredential("zhangsan", "PIN_SIX").then(() => {
  3. console.log("deleteCredential successfully");
  4. }).catch((err) => {
  5. console.log("deleteCredential failed, error: " + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log("deleteCredential exception: " + JSON.stringify(err));
  9. }

selectAccountsByOptions9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

options

SelectAccountsOptions

选择帐号的选项。

callback

AsyncCallback<Array<AppAccountInfo>>

回调函数。当根据选项选择请求方可访问的帐号列表时,err为null,data为可访问的帐号信息对象;否则为错误对象。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid options.

12300010

Account service busy.

12300114

Authenticator service exception.

示例:

  1. let options = {
  2. allowedOwners: [ "com.example.accountjsdemo" ],
  3. requiredLabels: [ "student" ]
  4. };
  5. try {
  6. appAccountManager.selectAccountsByOptions(options, (err, accountArr) => {
  7. if (err) {
  8. console.log("selectAccountsByOptions failed, error: " + JSON.stringify(err));
  9. } else {
  10. console.log("selectAccountsByOptions successfully, accountArr: " + JSON.stringify(accountArr));
  11. }
  12. });
  13. } catch (err) {
  14. console.log("selectAccountsByOptions exception: " + JSON.stringify(err));
  15. }

selectAccountsByOptions9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

options

SelectAccountsOptions

选择帐号的选项。

返回值:

类型

说明

Promise<AppAccountInfo>

Promise对象,返回调用方可访问的帐号列表。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid options.

12300010

Account service busy.

12300114

Authenticator service exception.

示例:

  1. let options = {
  2. allowedOwners: ["com.example.accountjsdemo"]
  3. };
  4. try {
  5. appAccountManager.selectAccountsByOptions(options).then((accountArr) => {
  6. console.log("selectAccountsByOptions successfully, accountArr: " + JSON.stringify(accountArr));
  7. }).catch((err) => {
  8. console.log("selectAccountsByOptions failed, error: " + JSON.stringify(err));
  9. });
  10. } catch (err) {
  11. console.log("selectAccountsByOptions exception: " + JSON.stringify(err));
  12. }

verifyCredential9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

callback

AuthCallback

回调函数,返回验证结果。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or owner.

12300003

Account not found.

12300010

Account service busy.

12300113

Authenticator service not found.

12300114

Authenticator service exception.

示例:

  1. try {
  2. appAccountManager.verifyCredential("zhangsan", "com.example.accountjsdemo", {
  3. onResult: (resultCode, result) => {
  4. console.log("verifyCredential onResult, resultCode:" + JSON.stringify(resultCode));
  5. console.log("verifyCredential onResult, result:" + JSON.stringify(result));
  6. },
  7. onRequestRedirected: (request) => {
  8. console.log("verifyCredential onRequestRedirected, request:" + JSON.stringify(request));
  9. }
  10. });
  11. } catch (err) {
  12. console.log("verifyCredential err: " + JSON.stringify(err));
  13. }

verifyCredential9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

options

VerifyCredentialOptions

验证凭据的选项。

callback

AuthCallback

回调函数,返回验证结果。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid name or owner or options.

12300003

Account not found.

12300010

Account service busy.

12300113

Authenticator service not found.

12300114

Authenticator service exception.

示例:

  1. let options = {
  2. credentialType: "pin",
  3. credential: "123456"
  4. };
  5. try {
  6. appAccountManager.verifyCredential("zhangsan", "com.example.accountjsdemo", options, {
  7. onResult: (resultCode, result) => {
  8. console.log("verifyCredential onResult, resultCode:" + JSON.stringify(resultCode));
  9. console.log("verifyCredential onResult, result:" + JSON.stringify(result));
  10. },
  11. onRequestRedirected: (request) => {
  12. console.log("verifyCredential onRequestRedirected, request:" + JSON.stringify(request));
  13. }
  14. });
  15. } catch (err) {
  16. console.log("verifyCredential err: " + JSON.stringify(err));
  17. }

setAuthenticatorProperties9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

owner

string

认证器的所有者。

callback

AuthCallback

回调函数,返回设置属性的结果。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid owner.

12300010

Account service busy.

12300113

Authenticator service not found.

12300114

Authenticator service exception.

示例:

  1. try {
  2. appAccountManager.setAuthenticatorProperties("com.example.accountjsdemo", {
  3. onResult: (resultCode, result) => {
  4. console.log("setAuthenticatorProperties onResult, resultCode:" + JSON.stringify(resultCode));
  5. console.log("setAuthenticatorProperties onResult, result:" + JSON.stringify(result));
  6. },
  7. onRequestRedirected: (request) => {
  8. console.log("setAuthenticatorProperties onRequestRedirected, request:" + JSON.stringify(request));
  9. }
  10. });
  11. } catch (err) {
  12. console.log("setAuthenticatorProperties err: " + JSON.stringify(err));
  13. }

setAuthenticatorProperties9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

owner

string

认证器的所有者。

options

SetPropertiesOptions

设置属性的选项。

callback

AuthCallback

认证器回调,返回设置属性的结果。

错误码:

错误码ID

错误信息

12300001

System service exception.

12300002

Invalid owner or options.

12300010

Account service busy.

12300113

Authenticator service not found.

12300114

Authenticator service exception.

示例:

  1. let options = {
  2. properties: {"prop1": "value1"}
  3. };
  4. try {
  5. appAccountManager.setAuthenticatorProperties("com.example.accountjsdemo", options, {
  6. onResult: (resultCode, result) => {
  7. console.log("setAuthenticatorProperties onResult, resultCode:" + JSON.stringify(resultCode));
  8. console.log("setAuthenticatorProperties onResult, result:" + JSON.stringify(result));
  9. },
  10. onRequestRedirected: (request) => {
  11. console.log("setAuthenticatorProperties onRequestRedirected, request:" + JSON.stringify(request));
  12. }
  13. });
  14. } catch (err) {
  15. console.log("setAuthenticatorProperties err: " + JSON.stringify(err));
  16. }

addAccount(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

callback

AsyncCallback<void>

回调函数。当创建成功时,err为null,否则为错误对象。

示例:

  1. appAccountManager.addAccount("WangWu", (err) => {
  2. console.log("addAccount err: " + JSON.stringify(err));
  3. });

addAccount(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

extraInfo

string

额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。

callback

AsyncCallback<void>

回调函数。当创建成功时,err为null,否则为错误对象。

示例:

  1. appAccountManager.addAccount("LiSi", "token101", (err) => {
  2. console.log("addAccount err: " + JSON.stringify(err));
  3. });

addAccount(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

extraInfo

string

额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

  1. appAccountManager.addAccount("LiSi", "token101").then(()=> {
  2. console.log('addAccount Success');
  3. }).catch((err) => {
  4. console.log("addAccount err: " + JSON.stringify(err));
  5. });

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

参数:

参数名

类型

必填

说明

owner

string

应用帐号所有者的包名。

authType

string

鉴权类型。鉴权类型为自定义。

options

{[key: string]: any}

鉴权所需要的可选项。可选项可根据自己需要设置。

callback

AuthenticatorCallback

认证器回调对象,返回添加结果。

示例:

  1. function onResultCallback(code, result) {
  2. console.log("resultCode: " + code);
  3. console.log("result: " + JSON.stringify(result));
  4. }
  5. function onRequestRedirectedCallback(request) {
  6. let wantInfo = {
  7. deviceId: '',
  8. bundleName: 'com.example.accountjsdemo',
  9. action: 'ohos.want.action.viewData',
  10. entities: ['entity.system.default'],
  11. }
  12. this.context.startAbility(wantInfo).then(() => {
  13. console.log("startAbility successfully");
  14. }).catch((err) => {
  15. console.log("startAbility err: " + JSON.stringify(err));
  16. })
  17. }
  18. appAccountManager.addAccountImplicitly("com.example.accountjsdemo", "getSocialData", {}, {
  19. onResult: onResultCallback,
  20. onRequestRedirected: onRequestRedirectedCallback
  21. });

deleteAccount(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

callback

AsyncCallback<void>

回调函数。当删除成功时,err为null,否则为错误对象。

示例:

  1. appAccountManager.deleteAccount("ZhaoLiu", (err) => {
  2. console.log("deleteAccount err: " + JSON.stringify(err));
  3. });

deleteAccount(deprecated)

deleteAccount(name: string): Promise<void>

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

  1. appAccountManager.deleteAccount("ZhaoLiu").then(() => {
  2. console.log('deleteAccount Success');
  3. }).catch((err) => {
  4. console.log("deleteAccount err: " + JSON.stringify(err));
  5. });

disableAppAccess(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

bundleName

string

第三方应用的包名。

callback

AsyncCallback<void>

回调函数。当禁止指定第三方应用帐号名称对指定包名称的第三方应用进行访问设置成功时,err为null,否则为错误对象。

示例:

  1. appAccountManager.disableAppAccess("ZhangSan", "com.example.accountjsdemo", (err) => {
  2. console.log("disableAppAccess err: " + JSON.stringify(err));
  3. });

disableAppAccess(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

要禁用访问的第三方应用帐号的名称。

bundleName

string

第三方应用的包名。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

  1. appAccountManager.disableAppAccess("ZhangSan", "com.example.accountjsdemo").then(() => {
  2. console.log('disableAppAccess Success');
  3. }).catch((err) => {
  4. console.log("disableAppAccess err: " + JSON.stringify(err));
  5. });

enableAppAccess(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

bundleName

string

第三方应用的包名。

callback

AsyncCallback<void>

回调函数。当允许指定第三方应用帐号名称对指定包名称的第三方应用进行访问设置成功时,err为null,否则为错误对象。

示例:

  1. appAccountManager.enableAppAccess("ZhangSan", "com.example.accountjsdemo", (err) => {
  2. console.log("enableAppAccess: " + JSON.stringify(err));
  3. });

enableAppAccess(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

bundleName

string

第三方应用的包名。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

  1. appAccountManager.enableAppAccess("ZhangSan", "com.example.accountjsdemo").then(() => {
  2. console.log('enableAppAccess Success');
  3. }).catch((err) => {
  4. console.log("enableAppAccess err: " + JSON.stringify(err));
  5. });

checkAppAccountSyncEnable(deprecated)

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

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

说明

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

需要权限: ohos.permission.DISTRIBUTED_DATASYNC

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

callback

AsyncCallback<boolean>

回调函数。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。

示例:

  1. appAccountManager.checkAppAccountSyncEnable("ZhangSan", (err, result) => {
  2. console.log("checkAppAccountSyncEnable err: " + JSON.stringify(err));
  3. console.log('checkAppAccountSyncEnable result: ' + result);
  4. });

checkAppAccountSyncEnable(deprecated)

checkAppAccountSyncEnable(name: string): Promise<boolean>

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

说明

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

需要权限: ohos.permission.DISTRIBUTED_DATASYNC

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

返回值:

类型

说明

Promise<boolean>

Promise对象。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。

示例:

  1. appAccountManager.checkAppAccountSyncEnable("ZhangSan").then((data) => {
  2. console.log('checkAppAccountSyncEnable, result: ' + data);
  3. }).catch((err) => {
  4. console.log("checkAppAccountSyncEnable err: " + JSON.stringify(err));
  5. });

setAccountCredential(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

credentialType

string

凭据类型。

credential

string

凭据取值。

callback

AsyncCallback<void>

回调函数。当设置此应用程序帐号的凭据成功时,err为null,否则为错误对象。

示例:

  1. appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001", (err) => {
  2. console.log("setAccountCredential err: " + JSON.stringify(err));
  3. });

setAccountCredential(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

credentialType

string

凭据类型。

credential

string

凭据取值。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

  1. appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001").then(() => {
  2. console.log('setAccountCredential Success');
  3. }).catch((err) => {
  4. console.log("setAccountCredential err: " + JSON.stringify(err));
  5. });

setAccountExtraInfo(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

extraInfo

string

额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。

callback

AsyncCallback<void>

回调函数。当设置成功时,err为null,否则为错误对象。

示例:

  1. appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002", (err) => {
  2. console.log("setAccountExtraInfo err: " + JSON.stringify(err));
  3. });

setAccountExtraInfo(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

extraInfo

string

额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

  1. appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002").then(() => {
  2. console.log('setAccountExtraInfo Success');
  3. }).catch((err) => {
  4. console.log("setAccountExtraInfo err: " + JSON.stringify(err));
  5. });

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

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

isEnable

boolean

是否开启数据同步。

callback

AsyncCallback<void>

回调函数。当开启或禁止成功时,err为null,否则为错误对象。

示例:

  1. appAccountManager.setAppAccountSyncEnable("ZhangSan", true, (err) => {
  2. console.log("setAppAccountSyncEnable err: " + JSON.stringify(err));
  3. });

setAppAccountSyncEnable(deprecated)

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

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

说明

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

需要权限: ohos.permission.DISTRIBUTED_DATASYNC

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

isEnable

boolean

是否开启数据同步。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

  1. appAccountManager .setAppAccountSyncEnable("ZhangSan", true).then(() => {
  2. console.log('setAppAccountSyncEnable Success');
  3. }).catch((err) => {
  4. console.log("setAppAccountSyncEnable err: " + JSON.stringify(err));
  5. });

setAssociatedData(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

key

string

关联数据的键名。

value

string

关联数据的取值。

callback

AsyncCallback<void>

回调函数。当设置与此应用帐号关联的数据成功时,err为null,否则为错误对象。

示例:

  1. appAccountManager.setAssociatedData("ZhangSan", "k001", "v001", (err) => {
  2. console.log("setAssociatedData err: " + JSON.stringify(err));
  3. });

setAssociatedData(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

key

string

关联数据的键名。

value

string

关联数据的取值。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

  1. appAccountManager.setAssociatedData("ZhangSan", "k001", "v001").then(() => {
  2. console.log('setAssociatedData Success');
  3. }).catch((err) => {
  4. console.log("setAssociatedData err: " + JSON.stringify(err));
  5. });

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<Array<AppAccountInfo>>

回调函数。当查询成功时,err为null,data为获取到的应用帐号信息列表;否则为错误对象。

示例:

  1. appAccountManager.getAllAccessibleAccounts((err, data)=>{
  2. console.debug("getAllAccessibleAccounts err:" + JSON.stringify(err));
  3. console.debug("getAllAccessibleAccounts data:" + JSON.stringify(data));
  4. });

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对象,返回全部应用已授权帐号信息对象。

示例:

  1. appAccountManager.getAllAccessibleAccounts().then((data) => {
  2. console.log('getAllAccessibleAccounts: ' + data);
  3. }).catch((err) => {
  4. console.log("getAllAccessibleAccounts err: " + JSON.stringify(err));
  5. });

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

参数:

参数名

类型

必填

说明

owner

string

应用帐号所有者的包名。

callback

AsyncCallback<Array<AppAccountInfo>>

应用帐号信息列表。

示例:

  1. const selfBundle = "com.example.actsgetallaaccounts";
  2. appAccountManager.getAllAccounts(selfBundle, (err, data)=>{
  3. console.debug("getAllAccounts err:" + JSON.stringify(err));
  4. console.debug("getAllAccounts data:" + JSON.stringify(data));
  5. });

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

参数:

参数名

类型

必填

说明

owner

string

应用包名称。

返回值:

类型

说明

Promise<Array<AppAccountInfo>>

Promise对象,返回指定应用全部帐号信息对象。

示例:

  1. const selfBundle = "com.example.actsgetallaaccounts";
  2. appAccountManager.getAllAccounts(selfBundle).then((data) => {
  3. console.log('getAllAccounts: ' + data);
  4. }).catch((err) => {
  5. console.log("getAllAccounts err: " + JSON.stringify(err));
  6. });

getAccountCredential(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

credentialType

string

凭据类型。

callback

AsyncCallback<string>

回调函数。当获取凭据成功时,err为null,data为指定应用帐号的凭据;否则为错误对象。

示例:

  1. appAccountManager.getAccountCredential("ZhangSan", "credentialType001", (err, result) => {
  2. console.log("getAccountCredential err: " + JSON.stringify(err));
  3. console.log('getAccountCredential result: ' + result);
  4. });

getAccountCredential(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

credentialType

string

凭据类型。

返回值:

类型

说明

Promise<string>

Promise对象,返回指定应用帐号的凭据。

示例:

  1. appAccountManager.getAccountCredential("ZhangSan", "credentialType001").then((data) => {
  2. console.log('getAccountCredential, result: ' + data);
  3. }).catch((err) => {
  4. console.log("getAccountCredential err: " + JSON.stringify(err));
  5. });

getAccountExtraInfo(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

callback

AsyncCallback<string>

回调函数。当获取此应用帐号的额外信息成功时,err为null,data返回此应用帐号的额外信息对象;否则为错误对象。

示例:

  1. appAccountManager.getAccountExtraInfo("ZhangSan", (err, result) => {
  2. console.log("getAccountExtraInfo err: " + JSON.stringify(err));
  3. console.log('getAccountExtraInfo result: ' + result);
  4. });

getAccountExtraInfo(deprecated)

getAccountExtraInfo(name: string): Promise<string>

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

返回值:

类型

说明

Promise<string>

Promise对象,返回此应用程序帐号的额外信息对象。

示例:

  1. appAccountManager.getAccountExtraInfo("ZhangSan").then((data) => {
  2. console.log('getAccountExtraInfo, result: ' + data);
  3. }).catch((err) => {
  4. console.log("getAccountExtraInfo err: " + JSON.stringify(err));
  5. });

getAssociatedData(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

key

string

关联数据的键名。

callback

AsyncCallback<string>

回调函数。当获取成功时,err为null,data为关联数据的取值;否则为错误对象。

示例:

  1. appAccountManager.getAssociatedData("ZhangSan", "k001", (err, result) => {
  2. console.log("getAssociatedData err: " + JSON.stringify(err));
  3. console.log('getAssociatedData result: ' + result);
  4. });

getAssociatedData(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

key

string

关联数据的键名。

返回值:

类型

说明

Promise<string>

Promise对象,返回关联数据的取值。

示例:

  1. appAccountManager.getAssociatedData("ZhangSan", "k001").then((data) => {
  2. console.log('getAssociatedData: ' + data);
  3. }).catch((err) => {
  4. console.log("getAssociatedData err: " + JSON.stringify(err));
  5. });

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',当帐号所有者更新帐号信息时,触发该事件。

owners

Array<string>

应用帐号所有者的包名列表。

callback

Callback<Array<AppAccountInfo>>

回调函数,返回信息发生变更的应用帐号列表。

示例:

  1. function changeOnCallback(data){
  2. console.debug("receive change data:" + JSON.stringify(data));
  3. }
  4. try{
  5. appAccountManager.on('change', ["com.example.actsaccounttest"], changeOnCallback);
  6. }
  7. catch(err){
  8. console.error("on accountOnOffDemo err:" + JSON.stringify(err));
  9. }

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',当帐号所有者更新帐号信息时,触发该事件。

callback

Callback<Array<AppAccountInfo>>

回调函数,返回信息发生变更的应用帐号列表。

示例:

  1. function changeOnCallback(data){
  2. console.debug("receive change data:" + JSON.stringify(data));
  3. appAccountManager.off('change', function(){
  4. console.debug("off finish");
  5. })
  6. }
  7. try{
  8. appAccountManager.on('change', ["com.example.actsaccounttest"], changeOnCallback);
  9. }
  10. catch(err){
  11. console.error("on accountOnOffDemo err:" + JSON.stringify(err));
  12. }

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

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

authType

string

鉴权类型。

options

{[key: string]: any}

鉴权所需的可选项。

callback

AuthenticatorCallback

回调对象,返回鉴权结果。

示例:

  1. function onResultCallback(code, result) {
  2. console.log("resultCode: " + code);
  3. console.log("result: " + JSON.stringify(result));
  4. }
  5. function onRequestRedirectedCallback(request) {
  6. let wantInfo = {
  7. deviceId: '',
  8. bundleName: 'com.example.accountjsdemo',
  9. action: 'ohos.want.action.viewData',
  10. entities: ['entity.system.default'],
  11. }
  12. this.context.startAbility(wantInfo).then(() => {
  13. console.log("startAbility successfully");
  14. }).catch((err) => {
  15. console.log("startAbility err: " + JSON.stringify(err));
  16. })
  17. }
  18. appAccountManager.authenticate("LiSi", "com.example.accountjsdemo", "getSocialData", {}, {
  19. onResult: onResultCallback,
  20. onRequestRedirected: onRequestRedirectedCallback
  21. });

getOAuthToken(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

authType

string

鉴权类型。

callback

AsyncCallback<string>

回调函数。当获取成功时,err为null,data为授权令牌值;否则为错误对象。

示例:

  1. appAccountManager.getOAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", (err, data) => {
  2. console.log('getOAuthToken err: ' + JSON.stringify(err));
  3. console.log('getOAuthToken token: ' + data);
  4. });

getOAuthToken(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

authType

string

鉴权类型。

返回值:

类型

说明

Promise<string>

Promise对象,返回授权令牌。

示例:

  1. appAccountManager.getOAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData").then((data) => {
  2. console.log('getOAuthToken token: ' + data);
  3. }).catch((err) => {
  4. console.log("getOAuthToken err: " + JSON.stringify(err));
  5. });

setOAuthToken(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

token

string

授权令牌。

callback

AsyncCallback<void>

回调函数。当设置成功时,err为null;否则为错误对象。

示例:

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

setOAuthToken(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

token

string

授权令牌。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

  1. appAccountManager.setOAuthToken("LiSi", "getSocialData", "xxxx").then(() => {
  2. console.log('setOAuthToken successfully');
  3. }).catch((err) => {
  4. console.log('setOAuthToken err: ' + JSON.stringify(err));
  5. });

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

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

authType

string

鉴权类型。

token

string

授权令牌。

callback

AsyncCallback<void>

回调函数。当删除成功时,err为null;否则为错误对象。

示例:

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

deleteOAuthToken(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

authType

string

鉴权类型。

token

string

授权令牌。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

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

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

bundleName

string

被设置可见性的应用包名。

isVisible

boolean

是否可见。true表示可见,false表示不可见。

callback

AsyncCallback<void>

回调函数。当设置成功时,err为null;否则为错误对象。

示例:

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

setOAuthTokenVisibility(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

bundleName

string

被设置可见性的应用包名。

isVisible

boolean

是否可见。true表示可见,false表示不可见。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

checkOAuthTokenVisibility(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

bundleName

string

检查可见性的应用包名。

callback

AsyncCallback<boolean>

回调函数。当检查成功时,err为null,data为true表示可见,data为false表示不可见;否则为错误对象。

示例:

  1. appAccountManager.checkOAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", (err, data) => {
  2. console.log('checkOAuthTokenVisibility err: ' + JSON.stringify(err));
  3. console.log('checkOAuthTokenVisibility isVisible: ' + data);
  4. });

checkOAuthTokenVisibility(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

bundleName

string

用于检查可见性的应用包名。

返回值:

类型

说明

Promise<boolean>

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

示例:

  1. appAccountManager.checkOAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo").then((data) => {
  2. console.log('checkOAuthTokenVisibility isVisible: ' + data);
  3. }).catch((err) => {
  4. console.log('checkOAuthTokenVisibility err: ' + JSON.stringify(err));
  5. });

getAllOAuthTokens(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

callback

AsyncCallback<Array<OAuthTokenInfo>>

回调函数。当获取成功时,err为null,data为授权令牌数组;否则为错误对象。

示例:

  1. appAccountManager.getAllOAuthTokens("LiSi", "com.example.accountjsdemo", (err, data) => {
  2. console.log("getAllOAuthTokens err: " + JSON.stringify(err));
  3. console.log('getAllOAuthTokens data: ' + JSON.stringify(data));
  4. });

getAllOAuthTokens(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

返回值:

类型

说明

Promise<Array< OAuthTokenInfo>>

Promise对象,返回授权令牌数组。

示例:

  1. appAccountManager.getAllOAuthTokens("LiSi", "com.example.accountjsdemo").then((data) => {
  2. console.log('getAllOAuthTokens data: ' + JSON.stringify(data));
  3. }).catch((err) => {
  4. console.log("getAllOAuthTokens err: " + JSON.stringify(err));
  5. });

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

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

callback

AsyncCallback<Array<string>>

回调函数。当获取成功时,err为null,data为被授权的包名数组;否则为错误对象。

示例:

  1. appAccountManager.getOAuthList("com.example.accountjsdemo", "getSocialData", (err, data) => {
  2. console.log('getOAuthList err: ' + JSON.stringify(err));
  3. console.log('getOAuthList data: ' + JSON.stringify(data));
  4. });

getOAuthList(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

返回值:

类型

说明

Promise<Array<string>>

Promise对象,返回被授权的包名数组。

示例:

  1. appAccountManager.getOAuthList("com.example.accountjsdemo", "getSocialData").then((data) => {
  2. console.log('getOAuthList data: ' + JSON.stringify(data));
  3. }).catch((err) => {
  4. console.log("getOAuthList err: " + JSON.stringify(err));
  5. });

getAuthenticatorCallback(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

sessionId

string

鉴权会话的标识。

callback

AsyncCallback<AuthenticatorCallback>

回调函数。当获取鉴权会话的认证器回调函数成功时,err为null,data为认证器回调函数;否则为错误对象。

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. export default class EntryAbility extends UIAbility {
  3. onCreate(want, param) {
  4. var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];
  5. appAccountManager.getAuthenticatorCallback(sessionId, (err, callback) => {
  6. if (err.code != account_appAccount.ResultCode.SUCCESS) {
  7. console.log("getAuthenticatorCallback err: " + JSON.stringify(err));
  8. return;
  9. }
  10. var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",
  11. [account_appAccount.Constants.KEY_OWNER]: "com.example.accountjsdemo",
  12. [account_appAccount.Constants.KEY_AUTH_TYPE]: "getSocialData",
  13. [account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
  14. callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
  15. });
  16. }
  17. }

getAuthenticatorCallback(deprecated)

getAuthenticatorCallback(sessionId: string): Promise<AuthenticatorCallback>

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

sessionId

string

鉴权会话的标识。

返回值:

类型

说明

Promise<AuthenticatorCallback>

Promise对象,返回鉴权会话的认证器回调对象。

示例:

  1. import UIAbility from '@ohos.app.ability.UIAbility';
  2. export default class EntryAbility extends UIAbility {
  3. onCreate(want, param) {
  4. var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];
  5. appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {
  6. var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",
  7. [account_appAccount.Constants.KEY_OWNER]: "com.example.accountjsdemo",
  8. [account_appAccount.Constants.KEY_AUTH_TYPE]: "getSocialData",
  9. [account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
  10. callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
  11. }).catch((err) => {
  12. console.log("getAuthenticatorCallback err: " + JSON.stringify(err));
  13. });
  14. }
  15. }

getAuthenticatorInfo(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

owner

string

应用帐号所有者的包名。

callback

AsyncCallback<AuthenticatorInfo>

回调函数。当获取成功时,err为null,data为认证器信息对象;否则为错误对象。

示例:

  1. appAccountManager.getAuthenticatorInfo("com.example.accountjsdemo", (err, data) => {
  2. console.log("getAuthenticatorInfo err: " + JSON.stringify(err));
  3. console.log('getAuthenticatorInfo data: ' + JSON.stringify(data));
  4. });

getAuthenticatorInfo(deprecated)

getAuthenticatorInfo(owner: string): Promise<AuthenticatorInfo>

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

owner

string

应用帐号所有者的包名。

返回值:

类型

说明

Promise<AuthenticatorInfo>

Promise对象,返回指定应用的认证器信息对象。

示例:

  1. appAccountManager.getAuthenticatorInfo("com.example.accountjsdemo").then((data) => {
  2. console.log('getAuthenticatorInfo: ' + JSON.stringify(data));
  3. }).catch((err) => {
  4. console.log("getAuthenticatorInfo err: " + JSON.stringify(err));
  5. });

AppAccountInfo

表示应用帐号信息。

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

名称

类型

必填

说明

owner

string

应用帐号所有者的包名。

name

string

应用帐号的名称。

AuthTokenInfo9+

表示Auth令牌信息。

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

名称

类型

必填

说明

authType9+

string

令牌的鉴权类型。

token9+

string

令牌的取值。

account9+

AppAccountInfo

令牌所属的帐号信息。

OAuthTokenInfo(deprecated)

表示OAuth令牌信息。

说明

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

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

名称

类型

必填

说明

authType

string

令牌的鉴权类型。

token

string

令牌的取值。

account9+

AppAccountInfo

令牌所属的帐号信息。

AuthenticatorInfo8+

表示OAuth认证器信息。

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

名称

类型

必填

说明

owner

string

认证器的所有者包名。

iconId

number

认证器的图标标识。

labelId

number

认证器的标签标识。

AuthResult9+

表示认证结果信息。

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

名称

类型

必填

说明

account

AppAccountInfo

令牌所属的帐号信息。

tokenInfo

AuthTokenInfo

令牌信息。

CreateAccountOptions9+

表示创建帐号的选项。

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

名称

类型

必填

说明

customData

{[key: string]: string}

自定义数据。

CreateAccountImplicitlyOptions9+

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

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

名称

类型

必填

说明

requiredLabels

Array<string>

必须的标签。

authType

string

鉴权类型。

parameters

{[key: string]: Object}

自定义参数对象。

SelectAccountsOptions9+

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

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

名称

类型

必填

说明

allowedAccounts

Array<AppAccountInfo>

允许的帐号数组。

allowedOwners

Array<string>

允许的帐号所有者数组。

requiredLabels

Array<string>

认证器的标签标识。

VerifyCredentialOptions9+

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

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

名称

类型

必填

说明

credentialType

string

凭据类型。

credential

string

凭据取值。

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。

名称

说明

SUCCESS

0

表示操作成功。

ERROR_ACCOUNT_NOT_EXIST

10001

表示应用帐号不存在。

ERROR_APP_ACCOUNT_SERVICE_EXCEPTION

10002

表示应用帐号服务异常。

ERROR_INVALID_PASSWORD

10003

表示密码无效。

ERROR_INVALID_REQUEST

10004

表示请求无效。

ERROR_INVALID_RESPONSE

10005

表示响应无效。

ERROR_NETWORK_EXCEPTION

10006

表示网络异常。

ERROR_OAUTH_AUTHENTICATOR_NOT_EXIST

10007

表示认证器不存在。

ERROR_OAUTH_CANCELED

10008

表示鉴权取消。

ERROR_OAUTH_LIST_TOO_LARGE

10009

表示开放授权列表过大。

ERROR_OAUTH_SERVICE_BUSY

10010

表示开放授权服务忙碌。

ERROR_OAUTH_SERVICE_EXCEPTION

10011

表示开放授权服务异常。

ERROR_OAUTH_SESSION_NOT_EXIST

10012

表示鉴权会话不存在。

ERROR_OAUTH_TIMEOUT

10013

表示鉴权超时。

ERROR_OAUTH_TOKEN_NOT_EXIST

10014

表示开放授权令牌不存在。

ERROR_OAUTH_TOKEN_TOO_MANY

10015

表示开放授权令牌过多。

ERROR_OAUTH_UNSUPPORT_ACTION

10016

表示不支持的鉴权操作。

ERROR_OAUTH_UNSUPPORT_AUTH_TYPE

10017

表示不支持的鉴权类型。

ERROR_PERMISSION_DENIED

10018

表示权限不足。

AuthCallback9+

认证器回调类。

onResult9+

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

通知请求结果。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

code

number

鉴权结果码。

result

AuthResult

鉴权结果。

示例:

  1. let appAccountManager = account_appAccount.createAppAccountManager();
  2. var sessionId = "1234";
  3. appAccountManager.getAuthCallback(sessionId).then((callback) => {
  4. var result = {
  5. accountInfo: {
  6. name: "Lisi",
  7. owner: "com.example.accountjsdemo",
  8. },
  9. tokenInfo: {
  10. token: "xxxxxx",
  11. authType: "getSocialData"
  12. }
  13. };
  14. callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
  15. }).catch((err) => {
  16. console.log("getAuthCallback err: " + JSON.stringify(err));
  17. });

onRequestRedirected9+

onRequestRedirected: (request: Want) => void

通知请求被跳转。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

request

Want

用于跳转的请求信息。

示例:

  1. class MyAuthenticator extends account_appAccount.Authenticator {
  2. createAccountImplicitly(options, callback) {
  3. callback.onRequestRedirected({
  4. bundleName: "com.example.accountjsdemo",
  5. abilityName: "com.example.accountjsdemo.LoginAbility",
  6. });
  7. }
  8. auth(name, authType, options, callback) {
  9. var result = {
  10. accountInfo: {
  11. name: "Lisi",
  12. owner: "com.example.accountjsdemo",
  13. },
  14. tokenInfo: {
  15. token: "xxxxxx",
  16. authType: "getSocialData"
  17. }
  18. };
  19. callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
  20. }
  21. }

onRequestContinued9+

onRequestContinued?: () => void

通知请求被继续处理。

系统能力: SystemCapability.Account.AppAccount

示例:

  1. let appAccountManager = account_appAccount.createAppAccountManager();
  2. var sessionId = "1234";
  3. appAccountManager.getAuthCallback(sessionId).then((callback) => {
  4. callback.onRequestContinued();
  5. }).catch((err) => {
  6. console.log("getAuthCallback err: " + JSON.stringify(err));
  7. });

AuthenticatorCallback(deprecated)

OAuth认证器回调接口。

说明

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

onResult8+

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

通知请求结果。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

code

number

鉴权结果码。

result

{[key: string]: any}

鉴权结果。

示例:

  1. let appAccountManager = account_appAccount.createAppAccountManager();
  2. var sessionId = "1234";
  3. appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {
  4. var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",
  5. [account_appAccount.Constants.KEY_OWNER]: "com.example.accountjsdemo",
  6. [account_appAccount.Constants.KEY_AUTH_TYPE]: "getSocialData",
  7. [account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
  8. callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
  9. }).catch((err) => {
  10. console.log("getAuthenticatorCallback err: " + JSON.stringify(err));
  11. });

onRequestRedirected8+

onRequestRedirected: (request: Want) => void

通知请求被跳转。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

request

Want

用于跳转的请求信息。

示例:

  1. class MyAuthenticator extends account_appAccount.Authenticator {
  2. addAccountImplicitly(authType, callerBundleName, options, callback) {
  3. callback.onRequestRedirected({
  4. bundleName: "com.example.accountjsdemo",
  5. abilityName: "com.example.accountjsdemo.LoginAbility",
  6. });
  7. }
  8. authenticate(name, authType, callerBundleName, options, callback) {
  9. var result = {[account_appAccount.Constants.KEY_NAME]: name,
  10. [account_appAccount.Constants.KEY_AUTH_TYPE]: authType,
  11. [account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
  12. callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
  13. }
  14. }

onRequestContinued9+

onRequestContinued?: () => void

通知请求被继续处理。

系统能力: SystemCapability.Account.AppAccount

示例:

  1. let appAccountManager = account_appAccount.createAppAccountManager();
  2. var sessionId = "1234";
  3. appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {
  4. callback.onRequestContinued();
  5. }).catch((err) => {
  6. console.log("getAuthenticatorCallback err: " + JSON.stringify(err));
  7. });

Authenticator8+

认证器基类。

createAccountImplicitly9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

options

CreateAccountImplicitlyOptions

隐式创建帐号的选项。

callback

AuthCallback

认证器回调对象,用于返回创建结果。

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

参数:

参数名

类型

必填

说明

authType

string

应用帐号的鉴权类型。

callerBundleName

string

鉴权请求方的包名。

options

{[key: string]: any}

鉴权所需要的可选项。

callback

AuthenticatorCallback

认证器回调,用于返回鉴权结果。

auth9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

应用帐号的鉴权类型。

callerBundleName

string

鉴权类型。

options

{[key: string]: Object}

鉴权所需要的可选项。

callback

AuthCallback

回调对象,用于返回鉴权结果。

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

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

应用帐号的鉴权类型。

callerBundleName

string

鉴权请求方的包名。

options

{[key: string]: any}

鉴权所需要的可选项。

callback

AuthenticatorCallback

认证器回调,用于返回鉴权结果。

verifyCredential9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

options

VerifyCredentialOptions

验证凭据的可选项。

callback

AuthCallback

认证器回调,用于返回验证结果。

setProperties9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

options

SetPropertiesOptions

设置属性的可选项。

callback

AuthCallback

认证器回调,用于返回设置结果。

checkAccountLabels9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

labels

Array<string>

标签数组。

callback

AuthCallback

认证器回调,用于返回检查结果。

checkAccountRemovable9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

callback

AuthCallback

认证器回调,用于返回判断结果。

getRemoteObject9+

getRemoteObject(): rpc.RemoteObject;

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

系统能力: SystemCapability.Account.AppAccount

示例:

  1. class MyAuthenticator extends account_appAccount.Authenticator {
  2. addAccountImplicitly(authType, callerBundleName, options, callback) {
  3. callback.onRequestRedirected({
  4. bundleName: "com.example.accountjsdemo",
  5. abilityName: "com.example.accountjsdemo.LoginAbility",
  6. });
  7. }
  8. authenticate(name, authType, callerBundleName, options, callback) {
  9. var result = {[account_appAccount.Constants.KEY_NAME]: name,
  10. [account_appAccount.Constants.KEY_AUTH_TYPE]: authType,
  11. [account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
  12. callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
  13. }
  14. verifyCredential(name, options, callback) {
  15. callback.onRequestRedirected({
  16. bundleName: "com.example.accountjsdemo",
  17. abilityName: "com.example.accountjsdemo.VerifyAbility",
  18. parameters: {
  19. name: name
  20. }
  21. });
  22. }
  23. setProperties(options, callback) {
  24. callback.onResult(account_appAccount.ResultCode.SUCCESS, {});
  25. }
  26. checkAccountLabels(name, labels, callback) {
  27. var result = {[account_appAccount.Constants.KEY_BOOLEAN_RESULT]: false};
  28. callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
  29. }
  30. checkAccountRemovable(name, callback) {
  31. var result = {[account_appAccount.Constants.KEY_BOOLEAN_RESULT]: true};
  32. callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
  33. }
  34. }
  35. var authenticator = null;
  36. export default {
  37. onConnect(want) {
  38. authenticator = new MyAuthenticator();
  39. return authenticator.getRemoteObject();
  40. }
  41. }
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号