1# @ohos.account.appAccount (应用帐号管理) 2 3本模块提供应用帐号信息的添加、删除、修改和查询基础能力,并支持应用间鉴权和分布式数据同步功能。 4 5> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** 6> 7> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9 10## 导入模块 11 12```js 13import account_appAccount from '@ohos.account.appAccount'; 14``` 15 16 17## account_appAccount.createAppAccountManager 18 19createAppAccountManager(): AppAccountManager 20 21创建应用帐号管理器对象。 22 23**系统能力:** SystemCapability.Account.AppAccount 24 25**返回值:** 26 27| 类型 | 说明 | 28| ----------------- | ------------ | 29| AppAccountManager | 应用帐号管理器对象。 | 30 31**示例:** 32 ```js 33 let appAccountManager = account_appAccount.createAppAccountManager(); 34 ``` 35 36## AppAccountManager 37 38应用帐号管理器类。 39 40### createAccount<sup>9+</sup> 41 42createAccount(name: string, callback: AsyncCallback<void>): void; 43 44根据帐号名创建应用帐号。使用callback异步回调。 45 46**系统能力:** SystemCapability.Account.AppAccount 47 48**参数:** 49 50| 参数名 | 类型 | 必填 | 说明 | 51| -------- | ------------------------- | ----- | -------------------- | 52| name | string | 是 | 应用帐号的名称。 | 53| callback | AsyncCallback<void> | 是 | 回调函数。当创建成功时,err为null,否则为错误对象。 | 54 55**错误码:** 56 57| 错误码ID | 错误信息 | 58| ------- | ------- | 59| 12300001 | System service exception. | 60| 12300002 | Invalid name. | 61| 12300004 | Account already exists. | 62| 12300007 | The number of accounts reaches the upper limit. | 63 64**示例:** 65 66 ```js 67 try { 68 appAccountManager.createAccount("WangWu", (err) => { 69 console.log("createAccount err: " + JSON.stringify(err)); 70 }); 71 } catch (err) { 72 console.log("createAccount err: " + JSON.stringify(err)); 73 } 74 ``` 75 76### createAccount<sup>9+</sup> 77 78createAccount(name: string, options: CreateAccountOptions, callback: AsyncCallback<void>): void 79 80根据帐号名和可选项创建应用帐号。使用callback异步回调。 81 82**系统能力:** SystemCapability.Account.AppAccount 83 84**参数:** 85 86| 参数名 | 类型 | 必填 | 说明 | 87| --------- | ------------------------- | ---- | ---------------------------------------- | 88| name | string | 是 | 应用帐号的名称。 | 89| options | [CreateAccountOptions](#createaccountoptions9) | 是 | 创建应用帐号的选项,可提供自定义数据,但不建议包含敏感数据(如密码、Token等)。 | 90| callback | AsyncCallback<void> | 是 | 回调函数。当创建成功时,err为null,否则为错误对象。 | 91 92**错误码:** 93 94| 错误码ID | 错误信息 | 95| ------- | ------- | 96| 12300001 | System service exception. | 97| 12300002 | Invalid name or options. | 98| 12300004 | Account already exists. | 99| 12300007 | The number of accounts reaches the upper limit. | 100 101**示例:** 102 103 ```js 104 let options = { 105 customData: { 106 "age": "10" 107 } 108 } 109 try { 110 appAccountManager.createAccount("LiSi", options, (err) => { 111 if (err) { 112 console.log("createAccount failed, error: " + JSON.stringify(err)); 113 } else { 114 console.log("createAccount successfully"); 115 } 116 }); 117 } catch(err) { 118 console.log("createAccount exception: " + JSON.stringify(err)); 119 } 120 ``` 121 122### createAccount<sup>9+</sup> 123 124createAccount(name: string, options?: CreateAccountOptions): Promise<void> 125 126根据帐号名和可选项创建应用帐号。使用Promise异步回调。 127 128**系统能力:** SystemCapability.Account.AppAccount 129 130**参数:** 131 132| 参数名 | 类型 | 必填 | 说明 | 133| --------- | ------ | ---- | ---------------------------------------- | 134| name | string | 是 | 应用帐号的名称。 | 135| options | [CreateAccountOptions](#createaccountoptions9) | 否 | 创建应用帐号的选项,可提供自定义数据,但不建议包含敏感数据(如密码、Token等)。不填无影响。 | 136 137**返回值:** 138 139| 类型 | 说明 | 140| ------------------- | --------------------- | 141| Promise<void> | 无返回结果的Promise对象。 | 142 143**错误码:** 144 145| 错误码ID | 错误信息| 146| ------- | -------| 147| 12300001 | System service exception. | 148| 12300002 | Invalid name or options. | 149| 12300004 | Account already exists. | 150| 12300007 | The number of accounts reaches the upper limit. | 151| 12400003 | The number of custom data reaches the upper limit. | 152 153**示例:** 154 155 ```js 156 let options = { 157 customData: { 158 "age": "10" 159 } 160 } 161 try { 162 appAccountManager.createAccount("LiSi", options).then(() => { 163 console.log("createAccount successfully"); 164 }).catch((err) => { 165 console.log("createAccount failed, error: " + JSON.stringify(err)); 166 }); 167 } catch(err) { 168 console.log("createAccount exception: " + JSON.stringify(err)); 169 } 170 ``` 171 172### createAccountImplicitly<sup>9+</sup> 173 174createAccountImplicitly(owner: string, callback: AuthCallback): void 175 176根据指定的帐号所有者隐式地创建应用帐号。使用callback异步回调。 177 178**系统能力:** SystemCapability.Account.AppAccount 179 180**参数:** 181 182| 参数名 | 类型 | 必填 | 说明 | 183| -------- | --------------------- | ---- | ----------------------- | 184| owner | string | 是 | 应用帐号所有者的包名。 | 185| callback | [AuthCallback](#authcallback9) | 是 | 认证器回调对象,返回创建结果。 | 186 187**错误码:** 188 189| 错误码ID | 错误信息| 190| ------- | -------| 191| 12300001 | System service exception. | 192| 12300002 | Invalid owner. | 193| 12300007 | The number of accounts reaches the upper limit. | 194| 12300010 | Account service busy. | 195| 12300113 | Authenticator service not found. | 196| 12300114 | Authenticator service exception. | 197 198**示例:** 199 200 ```js 201 function onResultCallback(code, result) { 202 console.log("resultCode: " + code); 203 console.log("result: " + JSON.stringify(result)); 204 } 205 206 function onRequestRedirectedCallback(request) { 207 let wantInfo = { 208 deviceId: '', 209 bundleName: 'com.example.accountjsdemo', 210 action: 'ohos.want.action.viewData', 211 entities: ['entity.system.default'], 212 } 213 this.context.startAbility(wantInfo).then(() => { 214 console.log("startAbility successfully"); 215 }).catch((err) => { 216 console.log("startAbility err: " + JSON.stringify(err)); 217 }) 218 } 219 220 try { 221 appAccountManager.createAccountImplicitly("com.example.accountjsdemo", { 222 onResult: onResultCallback, 223 onRequestRedirected: onRequestRedirectedCallback 224 }); 225 } catch (err) { 226 console.log("createAccountImplicitly exception: " + JSON.stringify(err)); 227 } 228 ``` 229 230### createAccountImplicitly<sup>9+</sup> 231 232createAccountImplicitly(owner: string, options: CreateAccountImplicitlyOptions, callback: AuthCallback): void 233 234根据指定的帐号所有者和可选项隐式地创建应用帐号。使用callback异步回调。 235 236**系统能力:** SystemCapability.Account.AppAccount 237 238**参数:** 239 240| 参数名 | 类型 | 必填 | 说明 | 241| -------- | --------------------- | ---- | ----------------------- | 242| owner | string | 是 | 应用帐号所有者的包名。 | 243| options | [CreateAccountImplicitlyOptions](#createaccountimplicitlyoptions9) | 是 | 隐式创建帐号的选项。 | 244| callback | [AuthCallback](#authcallback9) | 是 | 认证器回调对象,返回创建结果。 | 245 246**错误码:** 247 248| 错误码ID | 错误信息 | 249| ------- | ------- | 250| 12300001 | System service exception. | 251| 12300002 | Invalid name or options. | 252| 12300007 | The number of accounts reaches the upper limit. | 253| 12300010 | Account service busy. | 254| 12300113 | Authenticator service not found. | 255| 12300114 | Authenticator service exception. | 256 257**示例:** 258 259 ```js 260 function onResultCallback(code, result) { 261 console.log("resultCode: " + code); 262 console.log("result: " + JSON.stringify(result)); 263 } 264 265 function onRequestRedirectedCallback(request) { 266 let wantInfo = { 267 deviceId: '', 268 bundleName: 'com.example.accountjsdemo', 269 action: 'ohos.want.action.viewData', 270 entities: ['entity.system.default'], 271 } 272 this.context.startAbility(wantInfo).then(() => { 273 console.log("startAbility successfully"); 274 }).catch((err) => { 275 console.log("startAbility err: " + JSON.stringify(err)); 276 }) 277 } 278 279 let options = { 280 authType: "getSocialData", 281 requiredLabels: [ "student" ] 282 }; 283 try { 284 appAccountManager.createAccountImplicitly("com.example.accountjsdemo", options, { 285 onResult: onResultCallback, 286 onRequestRedirected: onRequestRedirectedCallback 287 }); 288 } catch (err) { 289 console.log("createAccountImplicitly exception: " + JSON.stringify(err)); 290 } 291 ``` 292 293### removeAccount<sup>9+</sup> 294 295removeAccount(name: string, callback: AsyncCallback<void>): void 296 297删除应用帐号。使用callback异步回调。 298 299**系统能力:** SystemCapability.Account.AppAccount 300 301**参数:** 302 303| 参数名 | 类型 | 必填 | 说明 | 304| -------- | ------------------------- | ---- | ---------------- | 305| name | string | 是 | 应用帐号的名称。 | 306| callback | AsyncCallback<void> | 是 | 回调函数。当删除成功时,err为null,否则为错误对象。 | 307 308**错误码:** 309 310| 错误码ID | 错误信息 | 311| ------- | ------- | 312| 12300001 | System service exception. | 313| 12300002 | Invalid name. | 314| 12300003 | Account not found. | 315 316**示例:** 317 318 ```js 319 try { 320 appAccountManager.removeAccount("ZhaoLiu", (err) => { 321 if (err) { 322 console.log("removeAccount failed, error: " + JSON.stringify(err)); 323 } else { 324 console.log("removeAccount successfully"); 325 } 326 }); 327 } catch(err) { 328 console.log("removeAccount exception: " + JSON.stringify(err)); 329 } 330 ``` 331 332### removeAccount<sup>9+</sup> 333 334removeAccount(name: string): Promise<void> 335 336删除应用帐号。使用Promise异步回调。 337 338**系统能力:** SystemCapability.Account.AppAccount 339 340**参数:** 341 342| 参数名 | 类型 | 必填 | 说明 | 343| ---- | ------ | ---- | ----------- | 344| name | string | 是 | 应用帐号的名称。 | 345 346**返回值:** 347 348| 类型 | 说明 | 349| :------------------ | :-------------------- | 350| Promise<void> | 无返回结果的Promise对象。 | 351 352**错误码:** 353 354| 错误码ID | 错误信息 | 355| ------- | ------- | 356| 12300001 | System service exception. | 357| 12300002 | Invalid name. | 358| 12300003 | Account not found. | 359 360**示例:** 361 362 ```js 363 try { 364 appAccountManager.removeAccount("Lisi").then(() => { 365 console.log("removeAccount successfully"); 366 }).catch((err) => { 367 console.log("removeAccount failed, error: " + JSON.stringify(err)); 368 }); 369 } catch (err) { 370 console.log("removeAccount exception: " + JSON.stringify(err)); 371 } 372 ``` 373 374### setAppAccess<sup>9+</sup> 375 376setAppAccess(name: string, bundleName: string, isAccessible: boolean, callback: AsyncCallback<void>): void 377 378设置指定应用对特定帐号的访问权限。使用callback异步回调。 379 380**系统能力:** SystemCapability.Account.AppAccount 381 382**参数:** 383 384| 参数名 | 类型 | 必填 | 说明 | 385| ------------ | ------------------------- | ---- | --------------------------------- | 386| name | string | 是 | 应用帐号的名称。 | 387| bundleName | string | 是 | 第三方应用的包名。 | 388| isAccessible | boolean | 是 | 是否可访问。true表示允许访问,false表示禁止访问。 | 389| callback | AsyncCallback<void> | 是 | 回调函数,如果设置成功,err为null,否则为错误对象。 | 390 391**错误码:** 392 393| 错误码ID | 错误信息| 394| ------- | -------| 395| 12300001 | System service exception. | 396| 12300002 | Invalid name or bundleName. | 397| 12300003 | Account not found. | 398| 12400001 | Application not found. | 399 400**示例:** 401 402 ```js 403 try { 404 appAccountManager.setAppAccess("ZhangSan", "com.example.accountjsdemo", true, (err) => { 405 if (err) { 406 console.log("setAppAccess failed: " + JSON.stringify(err)); 407 } else { 408 console.log("setAppAccess successfully"); 409 } 410 }); 411 } catch (err) { 412 console.log("setAppAccess exception: " + JSON.stringify(err)); 413 } 414 ``` 415 416### setAppAccess<sup>9+</sup> 417 418setAppAccess(name: string, bundleName: string, isAccessible: boolean): Promise<void> 419 420设置指定应用对特定帐号的数据访问权限。使用Promise异步回调。 421 422**系统能力:** SystemCapability.Account.AppAccount 423 424**参数:** 425 426| 参数名 | 类型 | 必填 | 说明 | 427| ---------- | ------ | ---- | --------- | 428| name | string | 是 | 应用帐号的名称。 | 429| bundleName | string | 是 | 第三方应用的包名。 | 430| isAccessible | boolean | 是 | 是否可访问。true表示允许访问,false表示禁止访问。 | 431 432**返回值:** 433 434| 类型 | 说明 | 435| :------------------ | :-------------------- | 436| Promise<void> | 无返回结果的Promise对象。 | 437 438**错误码:** 439 440| 错误码ID | 错误信息| 441| ------- | -------| 442| 12300001 | System service exception. | 443| 12300002 | Invalid name or bundleName. | 444| 12300003 | Account not found. | 445| 12400001 | Application not found. | 446 447**示例:** 448 449 ```js 450 try { 451 appAccountManager.setAppAccess("ZhangSan", "com.example.accountjsdemo", true).then(() => { 452 console.log("setAppAccess successfully"); 453 }).catch((err) => { 454 console.log("setAppAccess failed: " + JSON.stringify(err)); 455 }); 456 } catch (err) { 457 console.log("setAppAccess exception: " + JSON.stringify(err)); 458 } 459 ``` 460 461### checkAppAccess<sup>9+</sup> 462 463checkAppAccess(name: string, bundleName: string, callback: AsyncCallback<boolean>): void 464 465检查指定应用对特定帐号的数据是否可访问。使用callback异步回调。 466 467**系统能力:** SystemCapability.Account.AppAccount 468 469**参数:** 470 471| 参数名 | 类型 | 必填 | 说明 | 472| ---------- | ------------------------- | ---- | --------------------------------- | 473| name | string | 是 | 应用帐号的名称。 | 474| bundleName | string | 是 | 第三方应用的包名。 | 475| callback | AsyncCallback<boolean> | 是 | 回调函数。返回true表示指定应用可访问特定帐号的数据;返回false表示不可访问。 | 476 477**错误码:** 478 479| 错误码ID | 错误信息 | 480| ------- | ------- | 481| 12300001 | System service exception. | 482| 12300002 | Invalid name or bundleName. | 483| 12300003 | Account not found. | 484| 12400001 | Application not found. | 485 486**示例:** 487 488 ```js 489 try { 490 appAccountManager.checkAppAccess("ZhangSan", "com.example.accountjsdemo", (err, isAccessible) => { 491 if (err) { 492 console.log("checkAppAccess failed, error: " + JSON.stringify(err)); 493 } else { 494 console.log("checkAppAccess successfully"); 495 } 496 }); 497 } catch (err) { 498 console.log("checkAppAccess exception: " + JSON.stringify(err)); 499 } 500 ``` 501 502### checkAppAccess<sup>9+</sup> 503 504checkAppAccess(name: string, bundleName: string): Promise<boolean> 505 506检查指定应用对特定帐号的数据是否可访问。使用Promise异步回调。 507 508**系统能力:** SystemCapability.Account.AppAccount 509 510**参数:** 511 512| 参数名 | 类型 | 必填 | 说明 | 513| ---------- | ------ | ---- | --------- | 514| name | string | 是 | 应用帐号的名称。 | 515| bundleName | string | 是 | 第三方应用的包名。 | 516 517**返回值:** 518 519| 类型 | 说明 | 520| ------------------- | --------------------- | 521| Promise<boolean> | Promise对象。返回true表示指定应用可访问特定帐号的数据;返回false表示不可访问。 | 522 523**错误码:** 524 525| 错误码ID | 错误信息| 526| ------- | -------| 527| 12300001 | System service exception. | 528| 12300002 | Invalid name or bundleName. | 529| 12300003 | Account not found. | 530| 12400001 | Application not found. | 531 532**示例:** 533 534 ```js 535 try { 536 appAccountManager.checkAppAccess("ZhangSan", "com.example.accountjsdemo").then((isAccessible) => { 537 console.log("checkAppAccess successfully, isAccessible: " + isAccessible); 538 }).catch((err) => { 539 console.log("checkAppAccess failed, error: " + JSON.stringify(err)); 540 }); 541 } catch (err) { 542 console.log("checkAppAccess exception: " + JSON.stringify(err)); 543 } 544 ``` 545 546### setDataSyncEnabled<sup>9+</sup> 547 548setDataSyncEnabled(name: string, isEnabled: boolean, callback: AsyncCallback<void>): void 549 550开启或禁止指定应用帐号的数据同步功能。使用callback异步回调。 551 552**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 553 554**系统能力:** SystemCapability.Account.AppAccount 555 556**参数:** 557 558| 参数名 | 类型 | 必填 | 说明 | 559| -------- | ------------------------- | ---- | ------------------------- | 560| name | string | 是 | 应用帐号的名称。 | 561| isEnabled | boolean | 是 | 是否开启数据同步。 | 562| callback | AsyncCallback<void> | 是 | 回调函数。当开启或禁止成功时,err为null,否则为错误对象。 | 563 564**错误码:** 565 566| 错误码ID | 错误信息| 567| ------- | -------| 568| 12300001 | System service exception. | 569| 12300002 | Invalid name. | 570| 12300003 | Account not found. | 571 572**示例:** 573 574 ```js 575 try { 576 appAccountManager.setDataSyncEnabled("ZhangSan", true, (err) => { 577 console.log("setDataSyncEnabled err: " + JSON.stringify(err)); 578 }); 579 } catch (err) { 580 console.log("setDataSyncEnabled err: " + JSON.stringify(err)); 581 } 582 ``` 583 584### setDataSyncEnabled<sup>9+</sup> 585 586setDataSyncEnabled(name: string, isEnabled: boolean): Promise<void> 587 588开启或禁止指定应用帐号的数据同步功能。使用Promise异步回调。 589 590**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 591 592**系统能力:** SystemCapability.Account.AppAccount 593 594**参数:** 595 596| 参数名 | 类型 | 必填 | 说明 | 597| -------- | ------- | ---- | ----------- | 598| name | string | 是 | 应用帐号的名称。 | 599| isEnabled | boolean | 是 | 是否开启数据同步。 | 600 601**返回值:** 602 603| 类型 | 说明 | 604| :------------------ | :-------------------- | 605| Promise<void> | 无返回结果的Promise对象。 | 606 607**错误码:** 608 609| 错误码ID | 错误信息 | 610| ------- | ------- | 611| 12300001 | System service exception. | 612| 12300002 | Invalid name. | 613| 12300003 | Account not found. | 614 615**示例:** 616 617 ```js 618 try { 619 appAccountManager .setDataSyncEnabled("ZhangSan", true).then(() => { 620 console.log('setDataSyncEnabled Success'); 621 }).catch((err) => { 622 console.log("setDataSyncEnabled err: " + JSON.stringify(err)); 623 }); 624 } catch (err) { 625 console.log("setDataSyncEnabled err: " + JSON.stringify(err)); 626 } 627 ``` 628 629### checkDataSyncEnabled<sup>9+</sup> 630 631checkDataSyncEnabled(name: string, callback: AsyncCallback<boolean>): void 632 633检查指定应用帐号是否开启数据同步功能。使用callback异步回调。 634 635**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 636 637**系统能力:** SystemCapability.Account.AppAccount 638 639**参数:** 640 641| 参数名 | 类型 | 必填 | 说明 | 642| -------- | ---------------------------- | ---- | --------------------- | 643| name | string | 是 | 应用帐号的名称。 | 644| callback | AsyncCallback<boolean> | 是 | 回调函数。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。 | 645 646**错误码:** 647 648| 错误码ID | 错误信息 | 649| ------- | ------- | 650| 12300001 | System service exception. | 651| 12300002 | Invalid name. | 652| 12300003 | Account not found. | 653 654**示例:** 655 656 ```js 657 try { 658 appAccountManager.checkDataSyncEnabled("ZhangSan", (err, isEnabled) => { 659 if (err) { 660 console.log("checkDataSyncEnabled failed, err: " + JSON.stringify(err)); 661 } else { 662 console.log('checkDataSyncEnabled successfully, isEnabled: ' + isEnabled); 663 } 664 }); 665 } catch (err) { 666 console.log("checkDataSyncEnabled err: " + JSON.stringify(err)); 667 } 668 ``` 669 670### checkDataSyncEnabled<sup>9+</sup> 671 672checkDataSyncEnabled(name: string): Promise<boolean> 673 674检查指定应用帐号是否开启数据同步功能。使用Promise异步回调。 675 676**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 677 678**系统能力:** SystemCapability.Account.AppAccount 679 680**参数:** 681 682| 参数名 | 类型 | 必填 | 说明 | 683| ---- | ------ | ---- | ------- | 684| name | string | 是 | 应用帐号的名称。 | 685 686**返回值:** 687 688| 类型 | 说明 | 689| :--------------------- | :-------------------- | 690| Promise<boolean> | Promise对象。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。 | 691 692**错误码:** 693 694| 错误码ID | 错误信息| 695| ------- | -------| 696| 12300001 | System service exception. | 697| 12300002 | Invalid name. | 698| 12300003 | Account not found. | 699 700**示例:** 701 702 ```js 703 try { 704 appAccountManager.checkDataSyncEnabled("ZhangSan").then((isEnabled) => { 705 console.log("checkDataSyncEnabled successfully, isEnabled: " + isEnabled); 706 }).catch((err) => { 707 console.log("checkDataSyncEnabled failed, err: " + JSON.stringify(err)); 708 }); 709 } catch (err) { 710 console.log("checkDataSyncEnabled err: " + JSON.stringify(err)); 711 } 712 ``` 713 714### setCredential<sup>9+</sup> 715 716setCredential(name: string, credentialType: string, credential: string,callback: AsyncCallback<void>): void 717 718设置指定应用帐号的凭据。使用callback异步回调。 719 720**系统能力:** SystemCapability.Account.AppAccount 721 722**参数:** 723 724| 参数名 | 类型 | 必填 | 说明 | 725| -------------- | ------------------------- | ---- | ------------- | 726| name | string | 是 | 应用帐号的名称。 | 727| credentialType | string | 是 | 凭据类型。 | 728| credential | string | 是 | 凭据取值。 | 729| callback | AsyncCallback<void> | 是 | 回调函数。当凭据设置成功时,err为null,否则为错误对象。 | 730 731**错误码:** 732 733| 错误码ID | 错误信息| 734| ------- | -------| 735| 12300001 | System service exception. | 736| 12300002 | Invalid name or credentialType or credential. | 737| 12300003 | Account not found. | 738 739**示例:** 740 741 ```js 742 try { 743 appAccountManager.setCredential("ZhangSan", "PIN_SIX", "xxxxxx", (err) => { 744 if (err) { 745 console.log("setCredential failed, error: " + JSON.stringify(err)); 746 } else { 747 console.log("setCredential successfully"); 748 } 749 }); 750 } catch (err) { 751 console.log("setCredential exception: " + JSON.stringify(err)); 752 } 753 ``` 754 755### setCredential<sup>9+</sup> 756 757setCredential(name: string, credentialType: string, credential: string): Promise<void> 758 759设置指定应用帐号的凭据。使用Promise异步回调。 760 761**系统能力:** SystemCapability.Account.AppAccount 762 763**参数:** 764 765| 参数名 | 类型 | 必填 | 说明 | 766| -------------- | ------ | ---- | ---------- | 767| name | string | 是 | 应用帐号的名称。 | 768| credentialType | string | 是 | 凭据类型。 | 769| credential | string | 是 | 凭据取值。 | 770 771**返回值:** 772 773| 类型 | 说明 | 774| :------------------ | :-------------------- | 775| Promise<void> | 无返回结果的Promise对象。 | 776 777**错误码:** 778 779| 错误码ID | 错误信息| 780| ------- | -------| 781| 12300001 | System service exception. | 782| 12300002 | Invalid name or credentialType or credential. | 783| 12300003 | Account not found. | 784 785**示例:** 786 787 ```js 788 try { 789 appAccountManager.setCredential("ZhangSan", "PIN_SIX", "xxxxxx").then(() => { 790 console.log("setCredential successfully"); 791 }).catch((err) => { 792 console.log("setCredential failed, error: " + JSON.stringify(err)); 793 }); 794 } catch (err) { 795 console.log("setCredential exception: " + JSON.stringify(err)); 796 } 797 ``` 798 799### getCredential<sup>9+</sup> 800 801getCredential(name: string, credentialType: string, callback: AsyncCallback<string>): void 802 803获取指定应用帐号的凭据。使用callback异步回调。 804 805**系统能力:** SystemCapability.Account.AppAccount 806 807**参数:** 808 809| 参数名 | 类型 | 必填 | 说明 | 810| -------------- | --------------------------- | ---- | -------------- | 811| name | string | 是 | 应用帐号的名称。 | 812| credentialType | string | 是 | 凭据类型。 | 813| callback | AsyncCallback<string> | 是 | 回调函数。当获取凭据成功时,err为null,data为指定应用帐号的凭据;否则为错误对象。 | 814 815**错误码:** 816 817| 错误码ID | 错误信息 | 818| ------- | ------- | 819| 12300001 | System service exception. | 820| 12300002 | Invalid name or credentialType. | 821| 12300003 | Account not found. | 822| 12300102 | Credential not found. | 823 824**示例:** 825 826 ```js 827 try { 828 appAccountManager.getCredential("ZhangSan", "PIN_SIX", (err, result) => { 829 if (err) { 830 console.log("getCredential failed, error: " + JSON.stringify(err)); 831 } else { 832 console.log('getCredential successfully, result: ' + result); 833 } 834 }); 835 } catch (err) { 836 console.log("getCredential err: " + JSON.stringify(err)); 837 } 838 ``` 839 840### getCredential<sup>9+</sup> 841 842getCredential(name: string, credentialType: string): Promise<string> 843 844获取指定应用帐号的凭据。使用Promise异步回调。 845 846**系统能力:** SystemCapability.Account.AppAccount 847 848**参数:** 849 850| 参数名 | 类型 | 必填 | 说明 | 851| -------------- | ------ | ---- | ---------- | 852| name | string | 是 | 应用帐号的名称。 | 853| credentialType | string | 是 | 凭据类型。 | 854 855**返回值:** 856 857| 类型 | 说明 | 858| :-------------------- | :-------------------- | 859| Promise<string> | Promise对象,返回指定应用帐号的凭据。 | 860 861**错误码:** 862 863| 错误码ID | 错误信息 | 864| ------- | ------- | 865| 12300001 | System service exception. | 866| 12300002 | Invalid name or credentialType. | 867| 12300003 | Account not found. | 868| 12300102 | Credential not found. | 869 870**示例:** 871 872 ```js 873 try { 874 appAccountManager.getCredential("ZhangSan", "PIN_SIX").then((credential) => { 875 console.log("getCredential successfully, credential: " + credential); 876 }).catch((err) => { 877 console.log("getCredential failed, error: " + JSON.stringify(err)); 878 }); 879 } catch (err) { 880 console.log("getCredential exception: " + JSON.stringify(err)); 881 } 882 ``` 883 884### setCustomData<sup>9+</sup> 885 886setCustomData(name: string, key: string, value: string, callback: AsyncCallback<void>): void 887 888设置指定应用帐号的自定义数据。使用callback异步回调。 889 890**系统能力:** SystemCapability.Account.AppAccount 891 892**参数:** 893 894| 参数名 | 类型 | 必填 | 说明 | 895| -------- | ------------------------- | ---- | ----------------- | 896| name | string | 是 | 应用帐号的名称。 | 897| key | string | 是 | 自定义数据的键名。 | 898| value | string | 是 | 自定义数据的取值。 | 899| callback | AsyncCallback<void> | 是 | 回调函数。当设置自定义数据成功时,err为null,否则为错误对象。 | 900 901**错误码:** 902 903| 错误码ID | 错误信息| 904| ------- | -------| 905| 12300001 | System service exception. | 906| 12300002 | Invalid name or key or value. | 907| 12300003 | Account not found. | 908| 12400003 | The number of custom data reaches the upper limit. | 909 910**示例:** 911 912 ```js 913 try { 914 appAccountManager.setCustomData("ZhangSan", "age", "12", (err) => { 915 if (err) { 916 console.log("setCustomData failed, error: " + JSON.stringify(err)); 917 } else { 918 console.log("setCustomData successfully"); 919 } 920 }); 921 } catch (err) { 922 console.log("setCustomData exception: " + JSON.stringify(err)); 923 } 924 ``` 925 926### setCustomData<sup>9+</sup> 927 928setCustomData(name: string, key: string, value: string): Promise<void> 929 930设置指定应用帐号的自定义数据。使用Promise异步回调。 931 932**系统能力:** SystemCapability.Account.AppAccount 933 934**参数:** 935 936| 参数名 | 类型 | 必填 | 说明 | 937| ----- | ------ | ---- | ----------------- | 938| name | string | 是 | 应用帐号的名称。 | 939| key | string | 是 | 自定义数据的键名。 | 940| value | string | 是 | 自定义数据的取值。 | 941 942**返回值:** 943 944| 类型 | 说明 | 945| :------------------ | :-------------------- | 946| Promise<void> | 无返回结果的Promise对象。 | 947 948**错误码:** 949 950| 错误码ID | 错误信息| 951| ------- | -------| 952| 12300001 | System service exception. | 953| 12300002 | Invalid name or key or value. | 954| 12300003 | Account not found. | 955| 12400003 | The number of custom data reaches the upper limit. | 956 957**示例:** 958 959 ```js 960 try { 961 appAccountManager.setCustomData("ZhangSan", "age", "12").then(() => { 962 console.log("setCustomData successfully"); 963 }).catch((err) => { 964 console.log("setCustomData failed, error: " + JSON.stringify(err)); 965 }); 966 } catch (err) { 967 console.log("setCustomData exception: " + JSON.stringify(err)); 968 } 969 ``` 970 971### getCustomData<sup>9+</sup> 972 973getCustomData(name: string, key: string, callback: AsyncCallback<string>): void 974 975根据指定键名获取特定应用帐号的自定义数据。使用callback异步回调。 976 977**系统能力:** SystemCapability.Account.AppAccount 978 979**参数:** 980 981| 参数名 | 类型 | 必填 | 说明 | 982| -------- | --------------------------- | ----- | ------------------------ | 983| name | string | 是 | 应用帐号的名称。 | 984| key | string | 是 | 自定义数据的键名。 | 985| callback | AsyncCallback<string> | 是 | 回调函数。当获取成功时,err为null,data为自定义数据的取值;否则为错误对象。 | 986 987**错误码:** 988 989| 错误码ID | 错误信息| 990| ------- | -------| 991| 12300001 | System service exception. | 992| 12300002 | Invalid name or key. | 993| 12300003 | Account not found. | 994| 12400002 | Custom data not found. | 995 996**示例:** 997 998 ```js 999 try { 1000 appAccountManager.getCustomData("ZhangSan", "age", (err, data) => { 1001 if (err) { 1002 console.log('getCustomData failed, error: ' + err); 1003 } else { 1004 console.log("getCustomData successfully, data: " + data); 1005 } 1006 }); 1007 } catch (err) { 1008 console.log("getCustomData exception: " + JSON.stringify(err)); 1009 } 1010 ``` 1011 1012### getCustomData<sup>9+</sup> 1013 1014getCustomData(name: string, key: string): Promise<string> 1015 1016根据指定键名获取特定应用帐号的自定义数据。使用Promise异步回调。 1017 1018**系统能力:** SystemCapability.Account.AppAccount 1019 1020**参数:** 1021 1022| 参数名 | 类型 | 必填 | 说明 | 1023| ---- | ------ | ---- | --------- | 1024| name | string | 是 | 应用帐号的名称。 | 1025| key | string | 是 | 自定义数据的键名。 | 1026 1027**返回值:** 1028 1029| 类型 | 说明 | 1030| --------------------- | --------------------- | 1031| Promise<string> | Promise对象,返回自定义数据的取值。 | 1032 1033**错误码:** 1034 1035| 错误码ID | 错误信息| 1036| ------- | -------| 1037| 12300001 | System service exception. | 1038| 12300002 | Invalid name or key. | 1039| 12300003 | Account not found. | 1040| 12400002 | Custom data not found. | 1041 1042**示例:** 1043 1044 ```js 1045 try { 1046 appAccountManager.getCustomData("ZhangSan", "age").then((data) => { 1047 console.log("getCustomData successfully, data: " + data); 1048 }).catch((err) => { 1049 console.log("getCustomData failed, error: " + JSON.stringify(err)); 1050 }); 1051 } catch (err) { 1052 console.log("getCustomData exception: " + JSON.stringify(err)); 1053 } 1054 ``` 1055 1056### getCustomDataSync<sup>9+</sup> 1057 1058getCustomDataSync(name: string, key: string): string; 1059 1060根据指定键名获取特定应用帐号的自定义数据。使用同步方式返回结果。 1061 1062**系统能力:** SystemCapability.Account.AppAccount 1063 1064**参数:** 1065 1066| 参数名 | 类型 | 必填 | 说明 | 1067| ---- | ------ | ---- | --------- | 1068| name | string | 是 | 应用帐号的名称。 | 1069| key | string | 是 | 自定义数据的键名。 | 1070 1071**返回值:** 1072 1073| 类型 | 说明 | 1074| --------------------- | --------------------- | 1075| string | 自定义数据的取值。 | 1076 1077**错误码:** 1078 1079| 错误码ID | 错误信息| 1080| ------- | -------| 1081| 12300001 | System service exception. | 1082| 12300002 | Invalid name or key. | 1083| 12300003 | Account not found. | 1084| 12400002 | Custom data not found. | 1085 1086**示例:** 1087 1088 ```js 1089 try { 1090 let value = appAccountManager.getCustomDataSync("ZhangSan", "age"); 1091 console.info("getCustomDataSync successfully, vaue:" + value); 1092 } catch (err) { 1093 console.error("getCustomDataSync failed, error: " + JSON.stringify(err)); 1094 } 1095 ``` 1096 1097### getAllAccounts<sup>9+</sup> 1098 1099getAllAccounts(callback: AsyncCallback<Array<AppAccountInfo>>): void 1100 1101获取所有可访问的应用帐号信息。使用callback异步回调。 1102 1103**系统能力:** SystemCapability.Account.AppAccount 1104 1105**参数:** 1106 1107| 参数名 | 类型 | 必填 | 说明 | 1108| -------- | ---------------------------------------- | ---- | --------- | 1109| callback | AsyncCallback<Array<[AppAccountInfo](#appaccountinfo)>> | 是 | 回调函数。当查询成功时,err为null,data为获取到的应用帐号信息列表;否则为错误对象。 | 1110 1111**错误码:** 1112 1113| 错误码ID | 错误信息| 1114| ------- | -------| 1115| 12300001 | System service exception. | 1116 1117**示例:** 1118 1119 ```js 1120 try { 1121 appAccountManager.getAllAccounts((err, data) => { 1122 if (err) { 1123 console.debug("getAllAccounts failed, error:" + JSON.stringify(err)); 1124 } else { 1125 console.debug("getAllAccounts successfully"); 1126 } 1127 }); 1128 } catch (err) { 1129 console.debug("getAllAccounts exception: " + JSON.stringify(err)); 1130 } 1131 ``` 1132 1133### getAllAccounts<sup>9+</sup> 1134 1135getAllAccounts(): Promise<Array<AppAccountInfo>> 1136 1137获取所有可访问的应用帐号信息。使用Promise异步回调。 1138 1139**系统能力:** SystemCapability.Account.AppAccount 1140 1141**返回值:** 1142 1143| 类型 | 说明 | 1144| ---------------------------------------- | --------------------- | 1145| Promise<Array<[AppAccountInfo](#appaccountinfo)>> | Promise对象,返回全部应用已授权帐号信息对象。 | 1146 1147**错误码:** 1148 1149| 错误码ID | 错误信息| 1150| ------- | -------| 1151| 12300001 | System service exception. | 1152 1153**示例:** 1154 1155 ```js 1156 try { 1157 appAccountManager.getAllAccounts().then((data) => { 1158 console.debug("getAllAccounts successfully"); 1159 }).catch((err) => { 1160 console.debug("getAllAccounts failed, error:" + JSON.stringify(err)); 1161 }); 1162 } catch (err) { 1163 console.debug("getAllAccounts exception: " + JSON.stringify(err)); 1164 } 1165 ``` 1166 1167### getAccountsByOwner<sup>9+</sup> 1168 1169getAccountsByOwner(owner: string, callback: AsyncCallback<Array<AppAccountInfo>>): void 1170 1171根据应用帐号所有者获取调用方可访问的应用帐号列表。使用callback异步回调。 1172 1173**系统能力:** SystemCapability.Account.AppAccount 1174 1175**参数:** 1176 1177| 参数名 | 类型 | 必填 | 说明 | 1178| -------- | ---------------------------------------- | ---- | --------- | 1179| owner | string | 是 | 应用帐号所有者的包名。 | 1180| callback | AsyncCallback<Array<[AppAccountInfo](#appaccountinfo)>> | 是 | 回调函数。如果获取成功,err为null,data为获取到的应用帐号列表;否则为错误对象。 | 1181 1182**错误码:** 1183 1184| 错误码ID | 错误信息| 1185| ------- | -------| 1186| 12300001 | System service exception. | 1187| 12300002 | Invalid owner. | 1188| 12400001 | Application not found. | 1189 1190**示例:** 1191 1192 ```js 1193 try { 1194 appAccountManager.getAccountsByOwner("com.example.accountjsdemo2", (err, data) => { 1195 if (err) { 1196 console.debug("getAccountsByOwner failed, error:" + JSON.stringify(err)); 1197 } else { 1198 console.debug("getAccountsByOwner successfully, data:" + JSON.stringify(data)); 1199 } 1200 }); 1201 } catch (err) { 1202 console.debug("getAccountsByOwner exception:" + JSON.stringify(err)); 1203 } 1204 ``` 1205 1206### getAccountsByOwner<sup>9+</sup> 1207 1208getAccountsByOwner(owner: string): Promise<Array<AppAccountInfo>> 1209 1210根据应用帐号所有者获取调用方可访问的应用帐号列表。使用Promise异步回调。 1211 1212**系统能力:** SystemCapability.Account.AppAccount 1213 1214**参数:** 1215 1216| 参数名 | 类型 | 必填 | 说明 | 1217| ----- | ------ | ---- | ------ | 1218| owner | string | 是 | 应用帐号所有者的包名。 | 1219 1220**返回值:** 1221 1222| 类型 | 说明 | 1223| ---------------------------------------- | --------------------- | 1224| Promise<Array<[AppAccountInfo](#appaccountinfo)>> | Promise对象,返回获取到的应用帐号列表。 | 1225 1226**错误码:** 1227 1228| 错误码ID | 错误信息| 1229| ------- | -------| 1230| 12300001 | System service exception. | 1231| 12300002 | Invalid owner. | 1232| 12400001 | Application not found. | 1233 1234**示例:** 1235 1236 ```js 1237 try { 1238 appAccountManager.getAccountsByOwner("com.example.accountjsdemo2").then((data) => { 1239 console.debug("getAccountsByOwner successfully, data:" + JSON.stringify(data)); 1240 }).catch((err) => { 1241 console.debug("getAccountsByOwner failed, error:" + JSON.stringify(err)); 1242 }); 1243 } catch (err) { 1244 console.debug("getAccountsByOwner exception:" + JSON.stringify(err)); 1245 } 1246 ``` 1247 1248### on('accountChange')<sup>9+</sup> 1249 1250on(type: 'accountChange', owners: Array<string>, callback: Callback<Array<AppAccountInfo>>): void 1251 1252订阅指定应用的帐号信息变更事件。 1253 1254**系统能力:** SystemCapability.Account.AppAccount 1255 1256**参数:** 1257 1258| 参数名 | 类型 | 必填 | 说明 | 1259| -------- | ---------------------------------------- | ---- | ------------------------------ | 1260| type | 'accountChange' | 是 | 事件回调类型,支持的事件为'accountChange',当目标应用更新帐号信息时,触发该事件。 | 1261| owners | Array<string> | 是 | 应用帐号所有者的包名列表。 | 1262| callback | Callback<Array<[AppAccountInfo](#appaccountinfo)>> | 是 | 回调函数,返回信息发生变更的应用帐号列表。 | 1263 1264**错误码:** 1265 1266| 错误码ID | 错误信息 | 1267| ------- | ------- | 1268| 12300001 | System service exception. | 1269| 12300002 | Invalid type or owners. | 1270| 12300011 | Callback has been registered. | 1271| 12400001 | Application not found. | 1272 1273**示例:** 1274 1275 ```js 1276 function changeOnCallback(data){ 1277 console.log("receive change data:" + JSON.stringify(data)); 1278 } 1279 try{ 1280 appAccountManager.on("accountChange", ["com.example.actsaccounttest"], changeOnCallback); 1281 } catch(err) { 1282 console.error("on accountChange failed, error:" + JSON.stringify(err)); 1283 } 1284 ``` 1285 1286### off('accountChange')<sup>9+</sup> 1287 1288off(type: 'accountChange', callback?: Callback<Array<AppAccountInfo>>): void 1289 1290取消订阅帐号信息变更事件。 1291 1292**系统能力:** SystemCapability.Account.AppAccount 1293 1294**参数:** 1295 1296| 参数名 | 类型 | 必填 | 说明 | 1297| -------- | -------------------------------- | ---- | ------------ | 1298| type | 'accountChange' | 是 | 事件回调类型,支持的事件为'accountChange',当帐号所有者更新帐号信息时,触发该事件。 | 1299| callback | Callback<Array<[AppAccountInfo](#appaccountinfo)>> | 否 | 回调函数,返回信息发生变更的应用帐号列表。 | 1300 1301**错误码:** 1302 1303| 错误码ID | 错误信息| 1304| ------- | -------| 1305| 12300001 | System service exception. | 1306| 12300002 | Invalid type. | 1307| 12300012 | Callback has not been registered. | 1308 1309**示例:** 1310 1311 ```js 1312 function changeOnCallback(data){ 1313 console.log("receive change data:" + JSON.stringify(data)); 1314 } 1315 try{ 1316 appAccountManager.on("accountChange", ["com.example.actsaccounttest"], changeOnCallback); 1317 } catch(err) { 1318 console.error("on accountChange failed, error:" + JSON.stringify(err)); 1319 } 1320 try{ 1321 appAccountManager.off('accountChange', changeOnCallback); 1322 } 1323 catch(err){ 1324 console.error("off accountChange failed, error:" + JSON.stringify(err)); 1325 } 1326 ``` 1327 1328### auth<sup>9+</sup> 1329 1330auth(name: string, owner: string, authType: string, callback: AuthCallback): void 1331 1332对应用帐号进行鉴权以获取授权令牌。使用callback异步回调。 1333 1334**系统能力:** SystemCapability.Account.AppAccount 1335 1336**参数:** 1337 1338| 参数名 | 类型 | 必填 | 说明 | 1339| -------- | --------------------- | ---- | --------------- | 1340| name | string | 是 | 应用帐号的名称。 | 1341| owner | string | 是 | 应用帐号所有者的包名。 | 1342| authType | string | 是 | 鉴权类型。 | 1343| callback | [AuthCallback](#authcallback9) | 是 | 回调对象,返回鉴权结果。 | 1344 1345**错误码:** 1346 1347| 错误码ID | 错误信息| 1348| ------- | -------| 1349| 12300001 | System service exception. | 1350| 12300002 | Invalid name or owner or authType. | 1351| 12300003 | Account not found. | 1352| 12300010 | Account service busy. | 1353| 12300113 | Authenticator service not found. | 1354| 12300114 | Authenticator service exception. | 1355 1356**示例:** 1357 1358 ```js 1359 1360 1361 function onResultCallback(code, authResult) { 1362 console.log("resultCode: " + code); 1363 console.log("authResult: " + JSON.stringify(authResult)); 1364 } 1365 1366 function onRequestRedirectedCallback(request) { 1367 let wantInfo = { 1368 deviceId: '', 1369 bundleName: 'com.example.accountjsdemo', 1370 action: 'ohos.want.action.viewData', 1371 entities: ['entity.system.default'], 1372 } 1373 this.context.startAbility(wantInfo).then(() => { 1374 console.log("startAbility successfully"); 1375 }).catch((err) => { 1376 console.log("startAbility err: " + JSON.stringify(err)); 1377 }) 1378 } 1379 1380 try { 1381 appAccountManager.auth("LiSi", "com.example.accountjsdemo", "getSocialData", { 1382 onResult: onResultCallback, 1383 onRequestRedirected: onRequestRedirectedCallback 1384 }); 1385 } catch (err) { 1386 console.log("auth exception: " + JSON.stringify(err)); 1387 } 1388 ``` 1389 1390### auth<sup>9+</sup> 1391 1392auth(name: string, owner: string, authType: string, options: {[key: string]: Object}, callback: AuthCallback): void 1393 1394对应用帐号进行鉴权以获取授权令牌。使用callback异步回调。 1395 1396**系统能力:** SystemCapability.Account.AppAccount 1397 1398**参数:** 1399 1400| 参数名 | 类型 | 必填 | 说明 | 1401| -------- | --------------------- | ---- | --------------- | 1402| name | string | 是 | 应用帐号的名称。 | 1403| owner | string | 是 | 应用帐号所有者的包名。 | 1404| authType | string | 是 | 鉴权类型。 | 1405| options | {[key: string]: Object} | 是 | 鉴权所需的可选项。 | 1406| callback | [AuthCallback](#authcallback9) | 是 | 回调对象,返回鉴权结果。 | 1407 1408**错误码:** 1409 1410| 错误码ID | 错误信息| 1411| ------- | -------| 1412| 12300001 | System service exception. | 1413| 12300002 | Invalid name or owner or authType. | 1414| 12300003 | Account not exist. | 1415| 12300010 | Account service busy. | 1416| 12300113 | Authenticator service not found. | 1417| 12300114 | Authenticator service exception. | 1418 1419**示例:** 1420 1421 ```js 1422 1423 1424 function onResultCallback(code, authResult) { 1425 console.log("resultCode: " + code); 1426 console.log("authResult: " + JSON.stringify(authResult)); 1427 } 1428 1429 function onRequestRedirectedCallback(request) { 1430 let wantInfo = { 1431 deviceId: '', 1432 bundleName: 'com.example.accountjsdemo', 1433 action: 'ohos.want.action.viewData', 1434 entities: ['entity.system.default'], 1435 } 1436 this.context.startAbility(wantInfo).then(() => { 1437 console.log("startAbility successfully"); 1438 }).catch((err) => { 1439 console.log("startAbility err: " + JSON.stringify(err)); 1440 }) 1441 } 1442 1443 let options = { 1444 "password": "xxxx", 1445 }; 1446 try { 1447 appAccountManager.auth("LiSi", "com.example.accountjsdemo", "getSocialData", options, { 1448 onResult: onResultCallback, 1449 onRequestRedirected: onRequestRedirectedCallback 1450 }); 1451 } catch (err) { 1452 console.log("auth exception: " + JSON.stringify(err)); 1453 } 1454 ``` 1455 1456### getAuthToken<sup>9+</sup> 1457 1458getAuthToken(name: string, owner: string, authType: string, callback: AsyncCallback<string>): void 1459 1460获取指定应用帐号的特定鉴权类型的授权令牌。使用callback异步回调。 1461 1462**系统能力:** SystemCapability.Account.AppAccount 1463 1464**参数:** 1465 1466| 参数名 | 类型 | 必填 | 说明 | 1467| -------- | --------------------------- | ---- | ----------- | 1468| name | string | 是 | 应用帐号的名称。 | 1469| owner | string | 是 | 应用帐号所有者的包名。 | 1470| authType | string | 是 | 鉴权类型。 | 1471| callback | AsyncCallback<string> | 是 | 回调函数。当获取成功时,err为null,data为授权令牌值;否则为错误对象。 | 1472 1473**错误码:** 1474 1475| 错误码ID | 错误信息| 1476| ------- | -------| 1477| 12300001 | System service exception. | 1478| 12300002 | Invalid name, owner or authType. | 1479| 12300003 | Account not found. | 1480| 12300107 | AuthType not found. | 1481 1482**示例:** 1483 1484 ```js 1485 try { 1486 appAccountManager.getAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", (err, token) => { 1487 if (err) { 1488 console.log("getAuthToken failed, error: " + JSON.stringify(err)); 1489 } else { 1490 console.log("getAuthToken successfully, token: " + token); 1491 } 1492 }); 1493 } catch (err) { 1494 console.log("getAuthToken exception: " + JSON.stringify(err)); 1495 } 1496 ``` 1497 1498### getAuthToken<sup>9+</sup> 1499 1500getAuthToken(name: string, owner: string, authType: string): Promise<string> 1501 1502获取指定应用帐号的特定鉴权类型的授权令牌。使用Promise异步回调。 1503 1504**系统能力:** SystemCapability.Account.AppAccount 1505 1506**参数:** 1507 1508| 参数名 | 类型 | 必填 | 说明 | 1509| -------- | ------ | ---- | ----------- | 1510| name | string | 是 | 应用帐号的名称。 | 1511| owner | string | 是 | 应用帐号所有者的包名。 | 1512| authType | string | 是 | 鉴权类型。 | 1513 1514**返回值:** 1515 1516| 类型 | 说明 | 1517| --------------------- | --------------------- | 1518| Promise<string> | Promise对象,返回授权令牌。 | 1519 1520**错误码:** 1521 1522| 错误码ID | 错误信息 | 1523| ------- | ------- | 1524| 12300001 | System service exception. | 1525| 12300002 | Invalid name or owner or authType. | 1526| 12300003 | Account not found. | 1527| 12300107 | AuthType not found. | 1528 1529**示例:** 1530 1531 ```js 1532 try { 1533 appAccountManager.getAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData").then((token) => { 1534 console.log("getAuthToken successfully, token: " + token); 1535 }).catch((err) => { 1536 console.log("getAuthToken failed, error: " + JSON.stringify(err)); 1537 }); 1538 } catch (err) { 1539 console.log("getAuthToken exception: " + JSON.stringify(err)); 1540 } 1541 ``` 1542 1543### setAuthToken<sup>9+</sup> 1544 1545setAuthToken(name: string, authType: string, token: string, callback: AsyncCallback<void>): void 1546 1547为指定应用帐号设置特定鉴权类型的授权令牌。使用callback异步回调。 1548 1549**系统能力:** SystemCapability.Account.AppAccount 1550 1551**参数:** 1552 1553| 参数名 | 类型 | 必填 | 说明 | 1554| -------- | ------------------------- | ---- | -------- | 1555| name | string | 是 | 应用帐号的名称。 | 1556| authType | string | 是 | 鉴权类型。 | 1557| token | string | 是 | 授权令牌。 | 1558| callback | AsyncCallback<void> | 是 | 回调函数。当设置成功时,err为null;否则为错误对象。 | 1559 1560**错误码:** 1561 1562| 错误码ID | 错误信息| 1563| ------- | -------| 1564| 12300001 | System service exception. | 1565| 12300002 | Invalid name or authType or token. | 1566| 12300003 | Account not found. | 1567| 12400004 | The number of token reaches the upper limit. | 1568 1569**示例:** 1570 1571 ```js 1572 try { 1573 appAccountManager.setAuthToken("LiSi", "getSocialData", "xxxx", (err) => { 1574 if (err) { 1575 console.log("setAuthToken failed, error: " + JSON.stringify(err)); 1576 } else { 1577 console.log("setAuthToken successfully"); 1578 } 1579 }); 1580 } catch (err) { 1581 console.log('setAuthToken exception: ' + JSON.stringify(err)); 1582 } 1583 ``` 1584 1585### setAuthToken<sup>9+</sup> 1586 1587setAuthToken(name: string, authType: string, token: string): Promise<void> 1588 1589为指定应用帐号设置特定鉴权类型的授权令牌。使用Promise异步回调。 1590 1591**系统能力:** SystemCapability.Account.AppAccount 1592 1593**参数:** 1594 1595| 参数名 | 类型 | 必填 | 说明 | 1596| -------- | ------ | ---- | -------- | 1597| name | string | 是 | 应用帐号的名称。 | 1598| authType | string | 是 | 鉴权类型。 | 1599| token | string | 是 | 授权令牌。 | 1600 1601**返回值:** 1602 1603| 类型 | 说明 | 1604| ------------------- | --------------------- | 1605| Promise<void> | 无返回结果的Promise对象。 | 1606 1607**错误码:** 1608 1609| 错误码ID | 错误信息| 1610| ------- | -------| 1611| 12300001 | System service exception. | 1612| 12300002 | Invalid name or authType or token. | 1613| 12300003 | Account not found. | 1614| 12400004 | The number of token reaches the upper limit. | 1615 1616**示例:** 1617 1618 ```js 1619 try { 1620 appAccountManager.setAuthToken("LiSi", "getSocialData", "xxxx").then(() => { 1621 console.log("setAuthToken successfully"); 1622 }).catch((err) => { 1623 console.log("setAuthToken failed, error: " + JSON.stringify(err)); 1624 }); 1625 } catch (err) { 1626 console.log("setAuthToken exception: " + JSON.stringify(err)); 1627 } 1628 ``` 1629 1630### deleteAuthToken<sup>9+</sup> 1631 1632deleteAuthToken(name: string, owner: string, authType: string, token: string, callback: AsyncCallback<void>): void 1633 1634删除指定应用帐号的特定鉴权类型的授权令牌。使用callback异步回调。 1635 1636**系统能力:** SystemCapability.Account.AppAccount 1637 1638**参数:** 1639 1640| 参数名 | 类型 | 必填 | 说明 | 1641| -------- | ------------------------- | ---- | ------------ | 1642| name | string | 是 | 应用帐号的名称。 | 1643| owner | string | 是 | 应用帐号所有者的包名。 | 1644| authType | string | 是 | 鉴权类型。 | 1645| token | string | 是 | 授权令牌。 | 1646| callback | AsyncCallback<void> | 是 | 回调函数。当删除成功时,err为null;否则为错误对象。 | 1647 1648**错误码:** 1649 1650| 错误码ID | 错误信息 | 1651| ------- | ------- | 1652| 12300001 | System service exception. | 1653| 12300002 | Invalid name or owner or authType or token. | 1654| 12300003 | Account not found. | 1655| 12300107 | AuthType not found. | 1656 1657**示例:** 1658 1659 ```js 1660 try { 1661 appAccountManager.deleteAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", "xxxxx", (err) => { 1662 if (err) { 1663 console.log('deleteAuthToken failed, error: ' + JSON.stringify(err)); 1664 } else { 1665 console.log("deleteAuthToken successfully"); 1666 } 1667 }); 1668 } catch (err) { 1669 console.log('deleteAuthToken exception: ' + JSON.stringify(err)); 1670 } 1671 ``` 1672 1673### deleteAuthToken<sup>9+</sup> 1674 1675deleteAuthToken(name: string, owner: string, authType: string, token: string): Promise<void> 1676 1677删除指定应用帐号的特定鉴权类型的授权令牌。使用Promise异步回调。 1678 1679**系统能力:** SystemCapability.Account.AppAccount 1680 1681**参数:** 1682 1683| 参数名 | 类型 | 必填 | 说明 | 1684| -------- | ------ | ---- | ------------ | 1685| name | string | 是 | 应用帐号的名称。 | 1686| owner | string | 是 | 应用帐号所有者的包名。 | 1687| authType | string | 是 | 鉴权类型。 | 1688| token | string | 是 | 授权令牌。 | 1689 1690**返回值:** 1691 1692| 类型 | 说明 | 1693| ------------------- | --------------------- | 1694| Promise<void> | 无返回结果的Promise对象。 | 1695 1696**错误码:** 1697 1698| 错误码ID | 错误信息 | 1699| ------- | ------- | 1700| 12300001 | System service exception. | 1701| 12300002 | Invalid name or owner or authType or token. | 1702| 12300003 | Account not found. | 1703| 12300107 | AuthType not found. | 1704 1705**示例:** 1706 1707 ```js 1708 try { 1709 appAccountManager.deleteAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", "xxxxx").then(() => { 1710 console.log("deleteAuthToken successfully"); 1711 }).catch((err) => { 1712 console.log('deleteAuthToken failed, error: ' + JSON.stringify(err)); 1713 }); 1714 } catch (err) { 1715 console.log('deleteAuthToken exception: ' + JSON.stringify(err)); 1716 } 1717 ``` 1718 1719### setAuthTokenVisibility<sup>9+</sup> 1720 1721setAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean, callback: AsyncCallback<void>): void 1722 1723设置指定帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用callback异步回调。 1724 1725**系统能力:** SystemCapability.Account.AppAccount 1726 1727**参数:** 1728 1729| 参数名 | 类型 | 必填 | 说明 | 1730| ---------- | ------------------------- | ---- | ------------------------- | 1731| name | string | 是 | 应用帐号的名称。 | 1732| authType | string | 是 | 鉴权类型。 | 1733| bundleName | string | 是 | 被设置可见性的应用包名。 | 1734| isVisible | boolean | 是 | 是否可见。true表示可见,false表示不可见。 | 1735| callback | AsyncCallback<void> | 是 | 回调函数。当设置成功时,err为null;否则为错误对象。| 1736 1737**错误码:** 1738 1739| 错误码ID | 错误信息| 1740| ------- | -------| 1741| 12300001 | System service exception. | 1742| 12300002 | Invalid name or authType or bundleName. | 1743| 12300003 | Account not found. | 1744| 12300107 | AuthType not found. | 1745| 12400001 | Application not found. | 1746| 12400005 | The size of authorization list reaches the upper limit. | 1747 1748**示例:** 1749 1750 ```js 1751 try { 1752 appAccountManager.setAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", true, (err) => { 1753 if (err) { 1754 console.log("setAuthTokenVisibility failed, error: " + JSON.stringify(err)); 1755 } else { 1756 console.log("setAuthTokenVisibility successfully"); 1757 } 1758 }); 1759 } catch (err) { 1760 console.log("setAuthTokenVisibility exception: " + JSON.stringify(err)); 1761 } 1762 ``` 1763 1764### setAuthTokenVisibility<sup>9+</sup> 1765 1766setAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean): Promise<void> 1767 1768设置指定帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用Promise异步回调。 1769 1770**系统能力:** SystemCapability.Account.AppAccount 1771 1772**参数:** 1773 1774| 参数名 | 类型 | 必填 | 说明 | 1775| ---------- | ------------------------- | ---- | ------------------------- | 1776| name | string | 是 | 应用帐号的名称。 | 1777| authType | string | 是 | 鉴权类型。 | 1778| bundleName | string | 是 | 被设置可见性的应用包名。 | 1779| isVisible | boolean | 是 | 是否可见。true表示可见,false表示不可见。 | 1780 1781**返回值:** 1782 1783| 类型 | 说明 | 1784| ------------------- | --------------------- | 1785| Promise<void> | 无返回结果的Promise对象。 | 1786 1787**错误码:** 1788 1789| 错误码ID | 错误信息| 1790| ------- | -------| 1791| 12300001 | System service exception. | 1792| 12300002 | Invalid name or authType or bundleName. | 1793| 12300003 | Account not found. | 1794| 12300107 | AuthType not found. | 1795| 12400001 | Application not found. | 1796| 12400005 | The size of authorization list reaches the upper limit. | 1797 1798**示例:** 1799 1800 ```js 1801 try { 1802 appAccountManager.setAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", true).then(() => { 1803 console.log("setAuthTokenVisibility successfully"); 1804 }).catch((err) => { 1805 console.log("setAuthTokenVisibility failed, error: " + JSON.stringify(err)); 1806 }); 1807 } catch (err) { 1808 console.log("setAuthTokenVisibility exception: " + JSON.stringify(err)); 1809 } 1810 ``` 1811 1812### checkAuthTokenVisibility<sup>9+</sup> 1813 1814checkAuthTokenVisibility(name: string, authType: string, bundleName: string, callback: AsyncCallback<boolean>): void 1815 1816检查指定应用帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用callback异步回调。 1817 1818**系统能力:** SystemCapability.Account.AppAccount 1819 1820**参数:** 1821 1822| 参数名 | 类型 | 必填 | 说明 | 1823| ---------- | ---------------------------- | ---- | ----------- | 1824| name | string | 是 | 应用帐号的名称。 | 1825| authType | string | 是 | 鉴权类型。 | 1826| bundleName | string | 是 | 检查可见性的应用包名。 | 1827| callback | AsyncCallback<boolean> | 是 | 回调函数。当检查成功时,err为null,data为true表示可见,data为false表示不可见;否则为错误对象。 | 1828 1829**错误码:** 1830 1831| 错误码ID | 错误信息| 1832| ------- | -------| 1833| 12300001 | System service exception. | 1834| 12300002 | Invalid name or authType or bundleName. | 1835| 12300003 | Account not found. | 1836| 12300107 | AuthType not found. | 1837| 12400001 | Application not found. | 1838 1839**示例:** 1840 1841 ```js 1842 try { 1843 appAccountManager.checkAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", (err, isVisible) => { 1844 if (err) { 1845 console.log("checkAuthTokenVisibility failed, error: " + JSON.stringify(err)); 1846 } else { 1847 console.log("checkAuthTokenVisibility successfully, isVisible: " + isVisible); 1848 } 1849 }); 1850 } catch (err) { 1851 console.log("checkAuthTokenVisibility exception: " + JSON.stringify(err)); 1852 } 1853 ``` 1854 1855### checkAuthTokenVisibility<sup>9+</sup> 1856 1857checkAuthTokenVisibility(name: string, authType: string, bundleName: string): Promise<boolean> 1858 1859检查指定应用帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用Promise异步回调。 1860 1861**系统能力:** SystemCapability.Account.AppAccount 1862 1863**参数:** 1864 1865| 参数名 | 类型 | 必填 | 说明 | 1866| ---------- | ------ | ---- | ------------- | 1867| name | string | 是 | 应用帐号的名称。 | 1868| authType | string | 是 | 鉴权类型。 | 1869| bundleName | string | 是 | 用于检查可见性的应用包名。 | 1870 1871**返回值:** 1872 1873| 类型 | 说明 | 1874| ---------------------- | --------------------- | 1875| Promise<boolean> | Promise对象。返回true表示授权令牌对指定应用的可见,返回false表示不可见。 | 1876 1877**错误码:** 1878 1879| 错误码ID | 错误信息| 1880| ------- | -------| 1881| 12300001 | System service exception. | 1882| 12300002 | Invalid name or authType or bundleName. | 1883| 12300003 | Account not found. | 1884| 12300107 | AuthType not found. | 1885| 12400001 | Application not found. | 1886 1887**示例:** 1888 1889 ```js 1890 try { 1891 appAccountManager.checkAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo").then((isVisible) => { 1892 console.log("checkAuthTokenVisibility successfully, isVisible: " + isVisible); 1893 }).catch((err) => { 1894 console.log("checkAuthTokenVisibility failed, error: " + JSON.stringify(err)); 1895 }); 1896 } catch (err) { 1897 console.log("checkAuthTokenVisibility exception: " + JSON.stringify(err)); 1898 } 1899 ``` 1900 1901### getAllAuthTokens<sup>9+</sup> 1902 1903getAllAuthTokens(name: string, owner: string, callback: AsyncCallback<Array<AuthTokenInfo>>): void 1904 1905获取指定帐号对调用方可见的所有授权令牌。使用callback异步回调。 1906 1907**系统能力:** SystemCapability.Account.AppAccount 1908 1909**参数:** 1910 1911| 参数名 | 类型 | 必填 | 说明 | 1912| -------- | ---------------------------------------- | ---- | ----------- | 1913| name | string | 是 | 应用帐号的名称。 | 1914| owner | string | 是 | 应用帐号所有者的包名。 | 1915| callback | AsyncCallback<Array<[AuthTokenInfo](#authtokeninfo9)>> | 是 | 回调函数。当获取成功时,err为null,data为授权令牌数组;否则为错误对象。 | 1916 1917**错误码:** 1918 1919| 错误码ID | 错误信息| 1920| ------- | -------| 1921| 12300001 | System service exception. | 1922| 12300002 | Invalid name or owner. | 1923| 12300003 | Account not found. | 1924 1925**示例:** 1926 1927 ```js 1928 try { 1929 appAccountManager.getAllAuthTokens("LiSi", "com.example.accountjsdemo", (err, tokenArr) => { 1930 if (err) { 1931 console.log("getAllAuthTokens failed, error: " + JSON.stringify(err)); 1932 } else { 1933 console.log('getAllAuthTokens successfully, tokenArr: ' + tokenArr); 1934 } 1935 }); 1936 } catch (err) { 1937 console.log("getAllAuthTokens exception: " + JSON.stringify(err)); 1938 } 1939 ``` 1940 1941### getAllAuthTokens<sup>9+</sup> 1942 1943getAllAuthTokens(name: string, owner: string): Promise<Array<AuthTokenInfo>> 1944 1945获取指定帐号对调用方可见的所有授权令牌。使用Promise异步回调。 1946 1947**系统能力:** SystemCapability.Account.AppAccount 1948 1949**参数:** 1950 1951| 参数名 | 类型 | 必填 | 说明 | 1952| ----- | ------ | ---- | ----------- | 1953| name | string | 是 | 应用帐号的名称。 | 1954| owner | string | 是 | 应用帐号所有者的包名。 | 1955 1956**返回值:** 1957 1958| 类型 | 说明 | 1959| ---------------------------------------- | --------------------- | 1960| Promise<Array<[AuthTokenInfo](#authtokeninfo9)>> | Promise对象,返回授权令牌数组。 | 1961 1962**错误码:** 1963 1964| 错误码ID | 错误信息| 1965| ------- | -------| 1966| 12300001 | System service exception. | 1967| 12300002 | Invalid name or owner. | 1968| 12300003 | Account not found. | 1969 1970**示例:** 1971 1972 ```js 1973 try { 1974 appAccountManager.getAllAuthTokens("LiSi", "com.example.accountjsdemo").then((tokenArr) => { 1975 console.log('getAllAuthTokens successfully, tokenArr: ' + JSON.stringify(tokenArr)); 1976 }).catch((err) => { 1977 console.log("getAllAuthTokens failed, error: " + JSON.stringify(err)); 1978 }); 1979 } catch (err) { 1980 console.log("getAllAuthTokens exception: " + JSON.stringify(err)); 1981 } 1982 ``` 1983 1984### getAuthList<sup>9+</sup> 1985 1986getAuthList(name: string, authType: string, callback: AsyncCallback<Array<string>>): void 1987 1988获取指定应用帐号的特定鉴权类型的授权列表,即被授权的包名数组(令牌的授权列表通过[setAuthTokenVisibility](#setauthtokenvisibility9)来设置)。使用callback异步回调。 1989 1990**系统能力:** SystemCapability.Account.AppAccount 1991 1992**参数:** 1993 1994| 参数名 | 类型 | 必填 | 说明 | 1995| -------- | ---------------------------------------- | ---- | ----------------------- | 1996| name | string | 是 | 应用帐号的名称。 | 1997| authType | string | 是 | 鉴权类型。 | 1998| callback | AsyncCallback<Array<string>> | 是 | 回调函数。当获取成功时,err为null,data为被授权的包名数组;否则为错误对象。 | 1999 2000**错误码:** 2001 2002| 错误码ID | 错误信息| 2003| ------- | -------| 2004| 12300001 | System service exception. | 2005| 12300002 | Invalid name or authType. | 2006| 12300003 | Account not found. | 2007| 12300107 | AuthType not found. | 2008 2009**示例:** 2010 2011 ```js 2012 try { 2013 appAccountManager.getAuthList("com.example.accountjsdemo", "getSocialData", (err, authList) => { 2014 if (err) { 2015 console.log("getAuthList failed, error: " + JSON.stringify(err)); 2016 } else { 2017 console.log("getAuthList successfully, authList: " + authList); 2018 } 2019 }); 2020 } catch (err) { 2021 console.log('getAuthList exception: ' + JSON.stringify(err)); 2022 } 2023 ``` 2024 2025### getAuthList<sup>9+</sup> 2026 2027getAuthList(name: string, authType: string): Promise<Array<string>> 2028 2029获取指定应用帐号的特定鉴权类型的授权列表,即被授权的包名数组(令牌的授权列表通过[setAuthTokenVisibility](#setauthtokenvisibility9)来设置)。使用Promise异步回调。 2030 2031**系统能力:** SystemCapability.Account.AppAccount 2032 2033**参数:** 2034 2035| 参数名 | 类型 | 必填 | 说明 | 2036| -------- | ------ | ---- | ------------------------------ | 2037| name | string | 是 | 应用帐号的名称。 | 2038| authType | string | 是 | 鉴权类型。 | 2039 2040**返回值:** 2041 2042| 类型 | 说明 | 2043| ---------------------------------- | --------------------- | 2044| Promise<Array<string>> | Promise对象,返回被授权的包名数组。 | 2045 2046**错误码:** 2047 2048| 错误码ID | 错误信息| 2049| ------- | -------| 2050| 12300001 | System service exception. | 2051| 12300002 | Invalid name or authType. | 2052| 12300003 | Account not found. | 2053| 12300107 | AuthType not found. | 2054 2055**示例:** 2056 2057 ```js 2058 try { 2059 appAccountManager.getAuthList("com.example.accountjsdemo", "getSocialData").then((authList) => { 2060 console.log("getAuthList successfully, authList: " + authList); 2061 }).catch((err) => { 2062 console.log("getAuthList failed, error: " + JSON.stringify(err)); 2063 }); 2064 } catch (err) { 2065 console.log("getAuthList exception: " + JSON.stringify(err)); 2066 } 2067 ``` 2068 2069### getAuthCallback<sup>9+</sup> 2070 2071getAuthCallback(sessionId: string, callback: AsyncCallback<AuthCallback>): void 2072 2073获取鉴权会话的认证器回调对象。使用callback异步回调。 2074 2075**系统能力:** SystemCapability.Account.AppAccount 2076 2077**参数:** 2078 2079| 参数名 | 类型 | 必填 | 说明 | 2080| --------- | ---------------------------------------- | ---- | -------- | 2081| sessionId | string | 是 | 鉴权会话的标识。 | 2082| callback | AsyncCallback<[AuthCallback](#authcallback9)> | 是 | 回调函数。当获取成功时,err为null,data为鉴权会话的认证器回调对象;否则为错误对象。 | 2083 2084**错误码:** 2085 2086| 错误码ID | 错误信息 | 2087| ------- | ------- | 2088| 12300001 | System service exception. | 2089| 12300002 | Invalid sessionId. | 2090| 12300108 | Session not found. | 2091 2092**示例:** 2093 2094 ```js 2095 import UIAbility from '@ohos.app.ability.UIAbility'; 2096 2097 export default class EntryAbility extends UIAbility { 2098 onCreate(want, param) { 2099 var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID]; 2100 try { 2101 appAccountManager.getAuthCallback(sessionId, (err, callback) => { 2102 if (err != null) { 2103 console.log("getAuthCallback err: " + JSON.stringify(err)); 2104 return; 2105 } 2106 var result = { 2107 accountInfo: { 2108 name: "Lisi", 2109 owner: "com.example.accountjsdemo", 2110 }, 2111 tokenInfo: { 2112 token: "xxxxxx", 2113 authType: "getSocialData" 2114 } 2115 }; 2116 callback.onResult(0, result); 2117 }); 2118 } catch (err) { 2119 console.log("getAuthCallback exception: " + JSON.stringify(err)); 2120 } 2121 } 2122 } 2123 ``` 2124 2125### getAuthCallback<sup>9+</sup> 2126 2127getAuthCallback(sessionId: string): Promise<AuthCallback> 2128 2129获取鉴权会话的认证器回调对象。使用Promise异步回调。 2130 2131**系统能力:** SystemCapability.Account.AppAccount 2132 2133**参数:** 2134 2135| 参数名 | 类型 | 必填 | 说明 | 2136| --------- | ------ | ---- | -------- | 2137| sessionId | string | 是 | 鉴权会话的标识。 | 2138 2139**返回值:** 2140 2141| 类型 | 说明 | 2142| ------------------------------------ | --------------------- | 2143| Promise<[AuthCallback](#authcallback9)> | Promise对象,返回鉴权会话的认证器回调对象。 | 2144 2145**错误码:** 2146 2147| 错误码ID | 错误信息 | 2148| ------- | ------- | 2149| 12300001 | System service exception. | 2150| 12300002 | Invalid sessionId. | 2151| 12300108 | Session not found. | 2152 2153**示例:** 2154 2155 ```js 2156 import UIAbility from '@ohos.app.ability.UIAbility'; 2157 2158 export default class EntryAbility extends UIAbility { 2159 onCreate(want, param) { 2160 var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID]; 2161 try { 2162 appAccountManager.getAuthCallback(sessionId).then((callback) => { 2163 var result = { 2164 accountInfo: { 2165 name: "Lisi", 2166 owner: "com.example.accountjsdemo", 2167 }, 2168 tokenInfo: { 2169 token: "xxxxxx", 2170 authType: "getSocialData" 2171 } 2172 }; 2173 callback.onResult(0, result); 2174 }).catch((err) => { 2175 console.log("getAuthCallback err: " + JSON.stringify(err)); 2176 }); 2177 } catch (err) { 2178 console.log("getAuthCallback exception: " + JSON.stringify(err)); 2179 } 2180 } 2181 } 2182 ``` 2183 2184### queryAuthenticatorInfo<sup>9+</sup> 2185 2186queryAuthenticatorInfo(owner: string, callback: AsyncCallback<AuthenticatorInfo>): void 2187 2188获取指定应用的认证器信息。使用callback异步回调。 2189 2190**系统能力:** SystemCapability.Account.AppAccount 2191 2192**参数:** 2193 2194| 参数名 | 类型 | 必填 | 说明 | 2195| -------- | -------------------------------------- | ---- | ----------- | 2196| owner | string | 是 | 应用包名。 | 2197| callback | AsyncCallback<[AuthenticatorInfo](#authenticatorinfo8)> | 是 | 回调函数。当获取成功时,err为null,data为认证器信息对象;否则为错误对象。 | 2198 2199**错误码:** 2200 2201| 错误码ID | 错误信息| 2202| ------- | -------| 2203| 12300001 | System service exception. | 2204| 12300002 | Invalid owner. | 2205| 12300113 | Authenticator service not found. | 2206 2207**示例:** 2208 2209 ```js 2210 try { 2211 appAccountManager.queryAuthenticatorInfo("com.example.accountjsdemo", (err, info) => { 2212 if (err) { 2213 console.log("queryAuthenticatorInfo failed, error: " + JSON.stringify(err)); 2214 } else { 2215 console.log('queryAuthenticatorInfo successfully, info: ' + JSON.stringify(info)); 2216 } 2217 }); 2218 } catch (err) { 2219 console.log("queryAuthenticatorInfo exception: " + JSON.stringify(err)); 2220 } 2221 ``` 2222 2223### queryAuthenticatorInfo<sup>9+</sup> 2224 2225queryAuthenticatorInfo(owner: string): Promise<AuthenticatorInfo> 2226 2227获取指定应用的认证器信息。使用Promise异步回调。 2228 2229**系统能力:** SystemCapability.Account.AppAccount 2230 2231**参数:** 2232 2233| 参数名 | 类型 | 必填 | 说明 | 2234| ----- | ------ | ---- | ----------- | 2235| owner | string | 是 | 应用包名。 | 2236 2237**返回值:** 2238 2239| 类型 | 说明 | 2240| -------------------------------- | --------------------- | 2241| Promise<[AuthenticatorInfo](#authenticatorinfo8)> | Promise对象,返回指定应用的认证器信息对象。 | 2242 2243**错误码:** 2244 2245| 错误码ID | 错误信息| 2246| ------- | -------| 2247| 12300001 | System service exception. | 2248| 12300002 | Invalid owner. | 2249| 12300113 | Authenticator service not found. | 2250 2251**示例:** 2252 2253 ```js 2254 try { 2255 appAccountManager.queryAuthenticatorInfo("com.example.accountjsdemo").then((info) => { 2256 console.log("queryAuthenticatorInfo successfully, info: " + JSON.stringify(info)); 2257 }).catch((err) => { 2258 console.log("queryAuthenticatorInfo failed, error: " + JSON.stringify(err)); 2259 }); 2260 } catch (err) { 2261 console.log("queryAuthenticatorInfo exception: " + JSON.stringify(err)); 2262 } 2263 ``` 2264 2265### checkAccountLabels<sup>9+</sup> 2266 2267checkAccountLabels(name: string, owner: string, labels: Array<string>, callback: AsyncCallback<boolean>): void; 2268 2269检查指定应用帐号是否满足特定的标签集合。使用callback异步回调。该方法依赖目标应用的认证器提供标签检查的能力。 2270 2271**系统能力:** SystemCapability.Account.AppAccount 2272 2273**参数:** 2274 2275| 参数名 | 类型 | 必填 | 说明 | 2276| -------------- | ------------------------- | ----- | --------------- | 2277| name | string | 是 | 应用帐号的名称。 | 2278| owner | string | 是 | 应用帐号的所有者。| 2279| labels | Array<string> | 是 | 标签数组。 | 2280| callback | AsyncCallback<boolean> | 是 | 回调函数。当检查成功时,err为null,data为true表示满足特定的标签集合,data为false表示不满足;否则为错误对象。 | 2281 2282**错误码:** 2283 2284| 错误码ID | 错误信息 | 2285| ------- | ------- | 2286| 12300001 | System service exception. | 2287| 12300002 | Invalid name or owner or labels. | 2288| 12300003 | Account not found. | 2289| 12300010 | Account service busy. | 2290| 12300113 | Authenticator service not found. | 2291| 12300114 | Authenticator service exception. | 2292 2293**示例:** 2294 2295 ```js 2296 let labels = ["student"]; 2297 try { 2298 appAccountManager.checkAccountLabels("zhangsan", "com.example.accountjsdemo", labels, (err, hasAllLabels) => { 2299 if (err) { 2300 console.log("checkAccountLabels failed, error: " + JSON.stringify(err)); 2301 } else { 2302 console.log("checkAccountLabels successfully, hasAllLabels: " + hasAllLabels); 2303 } 2304 }); 2305 } catch (err) { 2306 console.log("checkAccountLabels exception: " + JSON.stringify(err)); 2307 } 2308 ``` 2309 2310### checkAccountLabels<sup>9+</sup> 2311 2312checkAccountLabels(name: string, owner: string, labels: Array<string>): Promise<boolean> 2313 2314检查指定应用帐号是否满足特定的标签集合。使用Promise异步回调。该方法依赖目标应用的认证器提供标签检查的能力。 2315 2316**系统能力:** SystemCapability.Account.AppAccount 2317 2318**参数:** 2319 2320| 参数名 | 类型 | 必填 | 说明 | 2321| -------------- | ------------------------- | ----- | --------------- | 2322| name | string | 是 | 应用帐号的名称。 | 2323| owner | string | 是 | 应用帐号的所有者。| 2324| labels | Array<string> | 是 | 标签数组。 | 2325 2326**返回值:** 2327 2328| 类型 | 说明 | 2329| ------------------- | -------------------------------- | 2330| Promise<boolean> | Promise对象。返回true表示指定帐号满足特定的标签集合,返回false表示不满足。 | 2331 2332**错误码:** 2333 2334| 错误码ID | 错误信息 | 2335| ------- | ------- | 2336| 12300001 | System service exception. | 2337| 12300002 | Invalid name or owner or labels. | 2338| 12300003 | Account not found. | 2339| 12300010 | Account service busy. | 2340| 12300113 | Authenticator service not found. | 2341| 12300114 | Authenticator service exception. | 2342 2343**示例:** 2344 2345 ```js 2346 let labels = ["student"]; 2347 try { 2348 appAccountManager.checkAccountLabels("zhangsan", "com.example.accountjsdemo", labels).then((hasAllLabels) => { 2349 console.log('checkAccountLabels successfully: ' + hasAllLabels); 2350 }).catch((err) => { 2351 console.log("checkAccountLabels failed, error: " + JSON.stringify(err)); 2352 }); 2353 } catch (err) { 2354 console.log("checkAccountLabels exception: " + JSON.stringify(err)); 2355 } 2356 ``` 2357 2358### deleteCredential<sup>9+</sup> 2359 2360deleteCredential(name: string, credentialType: string, callback: AsyncCallback<void>): void 2361 2362删除指定应用帐号的特定类型的凭据信息。使用callback异步回调。 2363 2364**系统能力:** SystemCapability.Account.AppAccount 2365 2366**参数:** 2367 2368| 参数名 | 类型 | 必填 | 说明 | 2369| -------------- | ------------------------- | ----- | -------------- | 2370| name | string | 是 | 应用帐号的名称。 | 2371| credentialType | string | 是 | 凭据类型。 | 2372| callback | AsyncCallback<void> | 是 | 回调函数。当删除成功时,err为null;否则为错误对象。 | 2373 2374**错误码:** 2375 2376| 错误码ID | 错误信息 | 2377| ------- | ------- | 2378| 12300001 | System service exception. | 2379| 12300002 | Invalid name or credentialType. | 2380| 12300003 | Account not found. | 2381| 12300102 | Credential not found. | 2382 2383**示例:** 2384 2385 ```js 2386 try { 2387 appAccountManager.deleteCredential("zhangsan", "PIN_SIX", (err) => { 2388 if (err) { 2389 console.log("deleteCredential failed, error: " + JSON.stringify(err)); 2390 } else { 2391 console.log("deleteCredential successfully"); 2392 } 2393 }); 2394 } catch (err) { 2395 console.log("deleteCredential exception: " + JSON.stringify(err)); 2396 } 2397 ``` 2398 2399### deleteCredential<sup>9+</sup> 2400 2401deleteCredential(name: string, credentialType: string): Promise<void> 2402 2403删除指定应用帐号的特定类型的凭据信息。使用Promise异步回调。 2404 2405**系统能力:** SystemCapability.Account.AppAccount 2406 2407**参数:** 2408 2409| 参数名 | 类型 | 必填 | 说明 | 2410| -------------- | ------ | ----- | --------------- | 2411| name | string | 是 | 应用帐号的名称。 | 2412| credentialType | string | 是 | 凭据类型。 | 2413 2414**返回值:** 2415 2416| 类型 | 说明 | 2417| ------------------- | -------------------------------- | 2418| Promise<void> | 无返回结果的Promise对象。 | 2419 2420**错误码:** 2421 2422| 错误码ID | 错误信息 | 2423| ------- | ------- | 2424| 12300001 | System service exception. | 2425| 12300002 | Invalid name or credentialType. | 2426| 12300003 | Account not found. | 2427| 12300102 | Credential not found. | 2428 2429**示例:** 2430 2431 ```js 2432 try { 2433 appAccountManager.deleteCredential("zhangsan", "PIN_SIX").then(() => { 2434 console.log("deleteCredential successfully"); 2435 }).catch((err) => { 2436 console.log("deleteCredential failed, error: " + JSON.stringify(err)); 2437 }); 2438 } catch (err) { 2439 console.log("deleteCredential exception: " + JSON.stringify(err)); 2440 } 2441 ``` 2442 2443### selectAccountsByOptions<sup>9+</sup> 2444 2445selectAccountsByOptions(options: SelectAccountsOptions, callback: AsyncCallback<Array<AppAccountInfo>>): void 2446 2447根据选项选择调用方可访问的帐号列表。使用callback异步回调。如果选项中包含标签约束,则该方法依赖目标应用的认证器提供标签检查的能力。 2448 2449**系统能力:** SystemCapability.Account.AppAccount 2450 2451**参数:** 2452 2453| 参数名 | 类型 | 必填 | 说明 | 2454| -------------- | ----------------------------------- | ----- | --------------- | 2455| options | SelectAccountsOptions | 是 | 选择帐号的选项。 | 2456| callback | AsyncCallback<Array<[AppAccountInfo](#appaccountinfo)>> | 是 | 回调函数。当根据选项选择请求方可访问的帐号列表时,err为null,data为可访问的帐号信息对象;否则为错误对象。 | 2457 2458**错误码:** 2459 2460| 错误码ID | 错误信息 | 2461| ------- | ------- | 2462| 12300001 | System service exception. | 2463| 12300002 | Invalid options. | 2464| 12300010 | Account service busy. | 2465| 12300114 | Authenticator service exception. | 2466 2467**示例:** 2468 2469 ```js 2470 let options = { 2471 allowedOwners: [ "com.example.accountjsdemo" ], 2472 requiredLabels: [ "student" ] 2473 }; 2474 try { 2475 appAccountManager.selectAccountsByOptions(options, (err, accountArr) => { 2476 if (err) { 2477 console.log("selectAccountsByOptions failed, error: " + JSON.stringify(err)); 2478 } else { 2479 console.log("selectAccountsByOptions successfully, accountArr: " + JSON.stringify(accountArr)); 2480 } 2481 }); 2482 } catch (err) { 2483 console.log("selectAccountsByOptions exception: " + JSON.stringify(err)); 2484 } 2485 ``` 2486 2487### selectAccountsByOptions<sup>9+</sup> 2488 2489selectAccountsByOptions(options: SelectAccountsOptions): Promise<Array<AppAccountInfo>> 2490 2491根据选项选择调用方可访问的帐号列表。使用Promise异步回调。如果选项中包含标签约束,则该方法依赖目标应用的认证器提供标签检查的能力。 2492 2493**系统能力:** SystemCapability.Account.AppAccount 2494 2495**参数:** 2496 2497| 参数名 | 类型 | 必填 | 说明 | 2498| -------------- | ------------------------- | ----- | --------------- | 2499| options | [SelectAccountsOptions](#selectaccountsoptions9) | 是 | 选择帐号的选项。 | 2500 2501**返回值:** 2502 2503| 类型 | 说明 | 2504| ------------------- | -------------------------------- | 2505| Promise<[AppAccountInfo](#appaccountinfo)> | Promise对象,返回调用方可访问的帐号列表。 | 2506 2507**错误码:** 2508 2509| 错误码ID | 错误信息 | 2510| ------- | ------- | 2511| 12300001 | System service exception. | 2512| 12300002 | Invalid options. | 2513| 12300010 | Account service busy. | 2514| 12300114 | Authenticator service exception. | 2515 2516**示例:** 2517 2518 ```js 2519 let options = { 2520 allowedOwners: ["com.example.accountjsdemo"] 2521 }; 2522 try { 2523 appAccountManager.selectAccountsByOptions(options).then((accountArr) => { 2524 console.log("selectAccountsByOptions successfully, accountArr: " + JSON.stringify(accountArr)); 2525 }).catch((err) => { 2526 console.log("selectAccountsByOptions failed, error: " + JSON.stringify(err)); 2527 }); 2528 } catch (err) { 2529 console.log("selectAccountsByOptions exception: " + JSON.stringify(err)); 2530 } 2531 ``` 2532 2533### verifyCredential<sup>9+</sup> 2534 2535verifyCredential(name: string, owner: string, callback: AuthCallback): void; 2536 2537验证指定帐号的凭据。使用callback异步回调。 2538 2539**系统能力:** SystemCapability.Account.AppAccount 2540 2541**参数:** 2542 2543| 参数名 | 类型 | 必填 | 说明 | 2544| -------- | --------------------- | ----- | ----------------------- | 2545| name | string | 是 | 应用帐号的名称。 | 2546| owner | string | 是 | 应用帐号所有者的包名。 | 2547| callback | [AuthCallback](#authcallback9) | 是 | 回调函数,返回验证结果。 | 2548 2549**错误码:** 2550 2551| 错误码ID | 错误信息| 2552| ------- | -------| 2553| 12300001 | System service exception. | 2554| 12300002 | Invalid name or owner. | 2555| 12300003 | Account not found. | 2556| 12300010 | Account service busy. | 2557| 12300113 | Authenticator service not found. | 2558| 12300114 | Authenticator service exception. | 2559 2560**示例:** 2561 2562 ```js 2563 try { 2564 appAccountManager.verifyCredential("zhangsan", "com.example.accountjsdemo", { 2565 onResult: (resultCode, result) => { 2566 console.log("verifyCredential onResult, resultCode:" + JSON.stringify(resultCode)); 2567 console.log("verifyCredential onResult, result:" + JSON.stringify(result)); 2568 }, 2569 onRequestRedirected: (request) => { 2570 console.log("verifyCredential onRequestRedirected, request:" + JSON.stringify(request)); 2571 } 2572 }); 2573 } catch (err) { 2574 console.log("verifyCredential err: " + JSON.stringify(err)); 2575 } 2576 ``` 2577 2578### verifyCredential<sup>9+</sup> 2579 2580verifyCredential(name: string, owner: string, options: VerifyCredentialOptions, callback: AuthCallback): void; 2581 2582验证用户凭据。使用callback异步回调。 2583 2584**系统能力:** SystemCapability.Account.AppAccount 2585 2586**参数:** 2587 2588| 参数名 | 类型 | 必填 | 说明 | 2589| -------- | ----------------------- | ----- | ----------------------- | 2590| name | string | 是 | 应用帐号的名称。 | 2591| owner | string | 是 | 应用帐号所有者的包名。 | 2592| options | [VerifyCredentialOptions](#verifycredentialoptions9) | 是 | 验证凭据的选项。 | 2593| callback | [AuthCallback](#authcallback9) | 是 | 回调函数,返回验证结果。 | 2594 2595**错误码:** 2596 2597| 错误码ID | 错误信息| 2598| ------- | -------| 2599| 12300001 | System service exception. | 2600| 12300002 | Invalid name or owner or options. | 2601| 12300003 | Account not found. | 2602| 12300010 | Account service busy. | 2603| 12300113 | Authenticator service not found. | 2604| 12300114 | Authenticator service exception. | 2605 2606**示例:** 2607 2608 ```js 2609 let options = { 2610 credentialType: "pin", 2611 credential: "123456" 2612 }; 2613 try { 2614 appAccountManager.verifyCredential("zhangsan", "com.example.accountjsdemo", options, { 2615 onResult: (resultCode, result) => { 2616 console.log("verifyCredential onResult, resultCode:" + JSON.stringify(resultCode)); 2617 console.log("verifyCredential onResult, result:" + JSON.stringify(result)); 2618 }, 2619 onRequestRedirected: (request) => { 2620 console.log("verifyCredential onRequestRedirected, request:" + JSON.stringify(request)); 2621 } 2622 }); 2623 } catch (err) { 2624 console.log("verifyCredential err: " + JSON.stringify(err)); 2625 } 2626 ``` 2627 2628### setAuthenticatorProperties<sup>9+</sup> 2629 2630setAuthenticatorProperties(owner: string, callback: AuthCallback): void; 2631 2632设置指定应用的认证器属性。使用callback异步回调。 2633 2634**系统能力:** SystemCapability.Account.AppAccount 2635 2636**参数:** 2637 2638| 参数名 | 类型 | 必填 | 说明 | 2639| -------- | --------------------- | ----- | ----------------------- | 2640| owner | string | 是 | 认证器的所有者。 | 2641| callback | [AuthCallback](#authcallback9) | 是 | 回调函数,返回设置属性的结果。 | 2642 2643**错误码:** 2644 2645| 错误码ID | 错误信息 | 2646| ------- | ------- | 2647| 12300001 | System service exception. | 2648| 12300002 | Invalid owner. | 2649| 12300010 | Account service busy. | 2650| 12300113 | Authenticator service not found. | 2651| 12300114 | Authenticator service exception. | 2652 2653**示例:** 2654 2655 ```js 2656 try { 2657 appAccountManager.setAuthenticatorProperties("com.example.accountjsdemo", { 2658 onResult: (resultCode, result) => { 2659 console.log("setAuthenticatorProperties onResult, resultCode:" + JSON.stringify(resultCode)); 2660 console.log("setAuthenticatorProperties onResult, result:" + JSON.stringify(result)); 2661 }, 2662 onRequestRedirected: (request) => { 2663 console.log("setAuthenticatorProperties onRequestRedirected, request:" + JSON.stringify(request)); 2664 } 2665 }); 2666 } catch (err) { 2667 console.log("setAuthenticatorProperties err: " + JSON.stringify(err)); 2668 } 2669 ``` 2670 2671### setAuthenticatorProperties<sup>9+</sup> 2672 2673setAuthenticatorProperties(owner: string, options: SetPropertiesOptions, callback: AuthCallback): void; 2674 2675设置认证器属性。使用callback异步回调。 2676 2677**系统能力:** SystemCapability.Account.AppAccount 2678 2679**参数:** 2680 2681| 参数名 | 类型 | 必填 | 说明 | 2682| -------- | --------------------- | ----- | ----------------------- | 2683| owner | string | 是 | 认证器的所有者。 | 2684| options | [SetPropertiesOptions](#setpropertiesoptions9) | 是 | 设置属性的选项。 | 2685| callback | [AuthCallback](#authcallback9) | 是 | 认证器回调,返回设置属性的结果。 | 2686 2687**错误码:** 2688 2689| 错误码ID | 错误信息 | 2690| ------- | ------- | 2691| 12300001 | System service exception. | 2692| 12300002 | Invalid owner or options. | 2693| 12300010 | Account service busy. | 2694| 12300113 | Authenticator service not found. | 2695| 12300114 | Authenticator service exception. | 2696 2697**示例:** 2698 2699 ```js 2700 let options = { 2701 properties: {"prop1": "value1"} 2702 }; 2703 try { 2704 appAccountManager.setAuthenticatorProperties("com.example.accountjsdemo", options, { 2705 onResult: (resultCode, result) => { 2706 console.log("setAuthenticatorProperties onResult, resultCode:" + JSON.stringify(resultCode)); 2707 console.log("setAuthenticatorProperties onResult, result:" + JSON.stringify(result)); 2708 }, 2709 onRequestRedirected: (request) => { 2710 console.log("setAuthenticatorProperties onRequestRedirected, request:" + JSON.stringify(request)); 2711 } 2712 }); 2713 } catch (err) { 2714 console.log("setAuthenticatorProperties err: " + JSON.stringify(err)); 2715 } 2716 2717 ``` 2718 2719### addAccount<sup>(deprecated)</sup> 2720 2721addAccount(name: string, callback: AsyncCallback<void>): void 2722 2723根据帐号名添加应用帐号。使用callback异步回调。 2724 2725> **说明:** 2726> 2727>从 API version 7开始支持,从API version 9开始废弃。建议使用[createAccount](#createaccount9)替代。 2728 2729 2730**系统能力:** SystemCapability.Account.AppAccount 2731 2732**参数:** 2733 2734| 参数名 | 类型 | 必填 | 说明 | 2735| -------- | ------------------------- | ---- | -------------------- | 2736| name | string | 是 | 应用帐号的名称。 | 2737| callback | AsyncCallback<void> | 是 | 回调函数。当创建成功时,err为null,否则为错误对象。 | 2738 2739**示例:** 2740 2741 ```js 2742 appAccountManager.addAccount("WangWu", (err) => { 2743 console.log("addAccount err: " + JSON.stringify(err)); 2744 }); 2745 ``` 2746 2747### addAccount<sup>(deprecated)</sup> 2748 2749addAccount(name: string, extraInfo: string, callback: AsyncCallback<void>): void 2750 2751根据帐号名和额外信息添加应用帐号。使用callback异步回调。 2752 2753> **说明:** 2754> 从 API version 7开始支持,从API version 9开始废弃。建议使用[createAccount](#createaccount9-1)替代。 2755 2756**系统能力:** SystemCapability.Account.AppAccount 2757 2758**参数:** 2759 2760| 参数名 | 类型 | 必填 | 说明 | 2761| --------- | ------------------------- | ---- | ---------------------------------------- | 2762| name | string | 是 | 应用帐号的名称。 | 2763| extraInfo | string | 是 | 额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。 | 2764| callback | AsyncCallback<void> | 是 | 回调函数。当创建成功时,err为null,否则为错误对象。 | 2765 2766**示例:** 2767 2768 ```js 2769 appAccountManager.addAccount("LiSi", "token101", (err) => { 2770 console.log("addAccount err: " + JSON.stringify(err)); 2771 }); 2772 ``` 2773 2774### addAccount<sup>(deprecated)</sup> 2775 2776addAccount(name: string, extraInfo?: string): Promise<void> 2777 2778根据帐号名和额外信息添加应用帐号。使用callback异步回调。使用Promise异步回调。 2779 2780> **说明:** 2781> 从 API version 7开始支持,从API version 9开始废弃。建议使用[createAccount](#createaccount9-2)替代。 2782 2783**系统能力:** SystemCapability.Account.AppAccount 2784 2785**参数:** 2786 2787| 参数名 | 类型 | 必填 | 说明 | 2788| --------- | ------ | ---- | ---------------------------------------- | 2789| name | string | 是 | 应用帐号的名称。 | 2790| extraInfo | string | 否 | 额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。 | 2791 2792**返回值:** 2793 2794| 类型 | 说明 | 2795| ------------------- | --------------------- | 2796| Promise<void> | 无返回结果的Promise对象。 | 2797 2798**示例:** 2799 2800 ```js 2801 appAccountManager.addAccount("LiSi", "token101").then(()=> { 2802 console.log('addAccount Success'); 2803 }).catch((err) => { 2804 console.log("addAccount err: " + JSON.stringify(err)); 2805 }); 2806 ``` 2807 2808### addAccountImplicitly<sup>(deprecated)</sup> 2809 2810addAccountImplicitly(owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void 2811 2812根据指定的帐号所有者隐式地添加应用帐号。使用callback异步回调。 2813 2814> **说明:** 2815> 2816> 从 API version 8开始支持,从API version 9开始废弃。建议使用[createAccountImplicitly](#createaccountimplicitly9)替代。 2817 2818**系统能力:** SystemCapability.Account.AppAccount 2819 2820**参数:** 2821 2822| 参数名 | 类型 | 必填 | 说明 | 2823| -------- | --------------------- | ---- | ----------------------- | 2824| owner | string | 是 | 应用帐号所有者的包名。 | 2825| authType | string | 是 | 鉴权类型。鉴权类型为自定义。 | 2826| options | {[key: string]: any} | 是 | 鉴权所需要的可选项。可选项可根据自己需要设置。 | 2827| callback | [AuthenticatorCallback](#authenticatorcallbackdeprecated) | 是 | 认证器回调对象,返回添加结果。 | 2828 2829**示例:** 2830 2831 ```js 2832 2833 2834 function onResultCallback(code, result) { 2835 console.log("resultCode: " + code); 2836 console.log("result: " + JSON.stringify(result)); 2837 } 2838 2839 function onRequestRedirectedCallback(request) { 2840 let wantInfo = { 2841 deviceId: '', 2842 bundleName: 'com.example.accountjsdemo', 2843 action: 'ohos.want.action.viewData', 2844 entities: ['entity.system.default'], 2845 } 2846 this.context.startAbility(wantInfo).then(() => { 2847 console.log("startAbility successfully"); 2848 }).catch((err) => { 2849 console.log("startAbility err: " + JSON.stringify(err)); 2850 }) 2851 } 2852 2853 appAccountManager.addAccountImplicitly("com.example.accountjsdemo", "getSocialData", {}, { 2854 onResult: onResultCallback, 2855 onRequestRedirected: onRequestRedirectedCallback 2856 }); 2857 ``` 2858 2859### deleteAccount<sup>(deprecated)</sup> 2860 2861deleteAccount(name: string, callback: AsyncCallback<void>): void 2862 2863删除应用帐号。使用callback异步回调。 2864 2865> **说明:** 2866> 2867> 从 API version 7开始支持,从API version 9开始废弃。建议使用[removeAccount](#removeaccount9)替代。 2868 2869**系统能力:** SystemCapability.Account.AppAccount 2870 2871**参数:** 2872 2873| 参数名 | 类型 | 必填 | 说明 | 2874| -------- | ------------------------- | ---- | ---------------- | 2875| name | string | 是 | 应用帐号的名称。 | 2876| callback | AsyncCallback<void> | 是 | 回调函数。当删除成功时,err为null,否则为错误对象。 | 2877 2878**示例:** 2879 2880 ```js 2881 appAccountManager.deleteAccount("ZhaoLiu", (err) => { 2882 console.log("deleteAccount err: " + JSON.stringify(err)); 2883 }); 2884 ``` 2885 2886### deleteAccount<sup>(deprecated)</sup> 2887 2888deleteAccount(name: string): Promise<void> 2889 2890删除应用帐号。使用Promise异步回调。 2891 2892> **说明:** 2893> 2894> 从 API version 7开始支持,从API version 9开始废弃。建议使用[removeAccount](#removeaccount9)替代。 2895 2896**系统能力:** SystemCapability.Account.AppAccount 2897 2898**参数:** 2899 2900| 参数名 | 类型 | 必填 | 说明 | 2901| ---- | ------ | ---- | ----------- | 2902| name | string | 是 | 应用帐号的名称。 | 2903 2904**返回值:** 2905 2906| 类型 | 说明 | 2907| :------------------ | :-------------------- | 2908| Promise<void> | 无返回结果的Promise对象。 | 2909 2910**示例:** 2911 2912 ```js 2913 appAccountManager.deleteAccount("ZhaoLiu").then(() => { 2914 console.log('deleteAccount Success'); 2915 }).catch((err) => { 2916 console.log("deleteAccount err: " + JSON.stringify(err)); 2917 }); 2918 ``` 2919### disableAppAccess<sup>(deprecated)</sup> 2920 2921disableAppAccess(name: string, bundleName: string, callback: AsyncCallback<void>): void 2922 2923禁止指定第三方应用帐号名称对指定的第三方应用进行访问。使用callback异步回调。 2924 2925> **说明:** 2926> 2927> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setAppAccess](#setappaccess9)替代。 2928 2929**系统能力:** SystemCapability.Account.AppAccount 2930 2931**参数:** 2932 2933| 参数名 | 类型 | 必填 | 说明 | 2934| ---------- | ------------------------- | ---- | --------------------------------- | 2935| name | string | 是 | 应用帐号的名称。 | 2936| bundleName | string | 是 | 第三方应用的包名。 | 2937| callback | AsyncCallback<void> | 是 | 回调函数。当禁止指定第三方应用帐号名称对指定包名称的第三方应用进行访问设置成功时,err为null,否则为错误对象。 | 2938 2939**示例:** 2940 2941 ```js 2942 appAccountManager.disableAppAccess("ZhangSan", "com.example.accountjsdemo", (err) => { 2943 console.log("disableAppAccess err: " + JSON.stringify(err)); 2944 }); 2945 ``` 2946 2947### disableAppAccess<sup>(deprecated)</sup> 2948 2949disableAppAccess(name: string, bundleName: string): Promise<void> 2950 2951禁止指定第三方应用帐号名称对指定包名称的第三方应用进行访问。使用Promise异步回调。 2952 2953> **说明:** 2954> 2955> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setAppAccess](#setappaccess9-1)替代。 2956 2957**系统能力:** SystemCapability.Account.AppAccount 2958 2959**参数:** 2960 2961| 参数名 | 类型 | 必填 | 说明 | 2962| ---------- | ------ | ---- | ---------------- | 2963| name | string | 是 | 要禁用访问的第三方应用帐号的名称。 | 2964| bundleName | string | 是 | 第三方应用的包名。 | 2965 2966**返回值:** 2967 2968| 类型 | 说明 | 2969| :------------------ | :-------------------- | 2970| Promise<void> | 无返回结果的Promise对象。 | 2971 2972**示例:** 2973 2974 ```js 2975 appAccountManager.disableAppAccess("ZhangSan", "com.example.accountjsdemo").then(() => { 2976 console.log('disableAppAccess Success'); 2977 }).catch((err) => { 2978 console.log("disableAppAccess err: " + JSON.stringify(err)); 2979 }); 2980 ``` 2981 2982### enableAppAccess<sup>(deprecated)</sup> 2983 2984enableAppAccess(name: string, bundleName: string, callback: AsyncCallback<void>): void 2985 2986允许指定第三方应用帐号名称对指定包名称的第三方应用进行访问。使用callback异步回调。 2987 2988> **说明:** 2989> 2990> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setAppAccess](#setappaccess9)替代。 2991 2992**系统能力:** SystemCapability.Account.AppAccount 2993 2994**参数:** 2995 2996| 参数名 | 类型 | 必填 | 说明 | 2997| ---------- | ------------------------- | ---- | --------------------------------- | 2998| name | string | 是 | 应用帐号的名称。 | 2999| bundleName | string | 是 | 第三方应用的包名。 | 3000| callback | AsyncCallback<void> | 是 | 回调函数。当允许指定第三方应用帐号名称对指定包名称的第三方应用进行访问设置成功时,err为null,否则为错误对象。 | 3001 3002**示例:** 3003 3004 ```js 3005 appAccountManager.enableAppAccess("ZhangSan", "com.example.accountjsdemo", (err) => { 3006 console.log("enableAppAccess: " + JSON.stringify(err)); 3007 }); 3008 ``` 3009 3010### enableAppAccess<sup>(deprecated)</sup> 3011 3012enableAppAccess(name: string, bundleName: string): Promise<void> 3013 3014允许指定第三方应用帐号的名称对指定包名称的第三方应用进行访问。使用Promise异步回调。 3015 3016> **说明:** 3017> 3018> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setAppAccess](#setappaccess9-1)替代。 3019 3020**系统能力:** SystemCapability.Account.AppAccount 3021 3022**参数:** 3023 3024| 参数名 | 类型 | 必填 | 说明 | 3025| ---------- | ------ | ---- | --------- | 3026| name | string | 是 | 应用帐号的名称。 | 3027| bundleName | string | 是 | 第三方应用的包名。 | 3028 3029**返回值:** 3030 3031| 类型 | 说明 | 3032| :------------------ | :-------------------- | 3033| Promise<void> | 无返回结果的Promise对象。 | 3034 3035**示例:** 3036 3037 ```js 3038 appAccountManager.enableAppAccess("ZhangSan", "com.example.accountjsdemo").then(() => { 3039 console.log('enableAppAccess Success'); 3040 }).catch((err) => { 3041 console.log("enableAppAccess err: " + JSON.stringify(err)); 3042 }); 3043 ``` 3044 3045### checkAppAccountSyncEnable<sup>(deprecated)</sup> 3046 3047checkAppAccountSyncEnable(name: string, callback: AsyncCallback<boolean>): void 3048 3049检查指定应用帐号是否开启数据同步功能。使用callback异步回调。 3050 3051> **说明:** 3052> 3053> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkDataSyncEnabled](#checkdatasyncenabled9)替代。 3054 3055**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 3056 3057**系统能力:** SystemCapability.Account.AppAccount 3058 3059**参数:** 3060 3061| 参数名 | 类型 | 必填 | 说明 | 3062| -------- | ---------------------------- | ---- | --------------------- | 3063| name | string | 是 | 应用帐号的名称。 | 3064| callback | AsyncCallback<boolean> | 是 | 回调函数。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。 | 3065 3066**示例:** 3067 3068 ```js 3069 appAccountManager.checkAppAccountSyncEnable("ZhangSan", (err, result) => { 3070 console.log("checkAppAccountSyncEnable err: " + JSON.stringify(err)); 3071 console.log('checkAppAccountSyncEnable result: ' + result); 3072 }); 3073 ``` 3074 3075### checkAppAccountSyncEnable<sup>(deprecated)</sup> 3076 3077checkAppAccountSyncEnable(name: string): Promise<boolean> 3078 3079检查指定应用帐号是否开启数据同步功能。使用Promise异步回调。 3080 3081> **说明:** 3082> 3083> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkDataSyncEnabled](#checkdatasyncenabled9-1)替代。 3084 3085**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 3086 3087**系统能力:** SystemCapability.Account.AppAccount 3088 3089**参数:** 3090 3091| 参数名 | 类型 | 必填 | 说明 | 3092| ---- | ------ | ---- | ------- | 3093| name | string | 是 | 应用帐号的名称。 | 3094 3095**返回值:** 3096 3097| 类型 | 说明 | 3098| ---------------------- | --------------------- | 3099| Promise<boolean> | Promise对象。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。 | 3100 3101**示例:** 3102 3103 ```js 3104 appAccountManager.checkAppAccountSyncEnable("ZhangSan").then((data) => { 3105 console.log('checkAppAccountSyncEnable, result: ' + data); 3106 }).catch((err) => { 3107 console.log("checkAppAccountSyncEnable err: " + JSON.stringify(err)); 3108 }); 3109 ``` 3110 3111### setAccountCredential<sup>(deprecated)</sup> 3112 3113setAccountCredential(name: string, credentialType: string, credential: string,callback: AsyncCallback<void>): void 3114 3115设置指定应用帐号的凭据。使用callback异步回调。 3116 3117> **说明:** 3118> 3119> 从 API version 7开始支持,从API version 9开始废弃,建议使用[setCredential](#setcredential9)替代。 3120 3121**系统能力:** SystemCapability.Account.AppAccount 3122 3123**参数:** 3124 3125| 参数名 | 类型 | 必填 | 说明 | 3126| -------------- | ------------------------- | ---- | ------------- | 3127| name | string | 是 | 应用帐号的名称。 | 3128| credentialType | string | 是 | 凭据类型。 | 3129| credential | string | 是 | 凭据取值。 | 3130| callback | AsyncCallback<void> | 是 | 回调函数。当设置此应用程序帐号的凭据成功时,err为null,否则为错误对象。 | 3131 3132**示例:** 3133 3134 ```js 3135 appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001", (err) => { 3136 console.log("setAccountCredential err: " + JSON.stringify(err)); 3137 }); 3138 ``` 3139 3140### setAccountCredential<sup>(deprecated)</sup> 3141 3142setAccountCredential(name: string, credentialType: string, credential: string): Promise<void> 3143 3144设置指定应用帐号的凭据。使用Promise异步回调。 3145 3146> **说明:** 3147> 3148> 从 API version 7开始支持,从API version 9开始废弃,建议使用[setCredential](#setcredential9-1)替代。 3149 3150**系统能力:** SystemCapability.Account.AppAccount 3151 3152**参数:** 3153 3154| 参数名 | 类型 | 必填 | 说明 | 3155| -------------- | ------ | ---- | ---------- | 3156| name | string | 是 | 应用帐号的名称。 | 3157| credentialType | string | 是 | 凭据类型。 | 3158| credential | string | 是 | 凭据取值。 | 3159 3160**返回值:** 3161 3162| 类型 | 说明 | 3163| :------------------ | :-------------------- | 3164| Promise<void> | 无返回结果的Promise对象。 | 3165 3166**示例:** 3167 3168 ```js 3169 appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001").then(() => { 3170 console.log('setAccountCredential Success'); 3171 }).catch((err) => { 3172 console.log("setAccountCredential err: " + JSON.stringify(err)); 3173 }); 3174 ``` 3175 3176### setAccountExtraInfo<sup>(deprecated)</sup> 3177 3178setAccountExtraInfo(name: string, extraInfo: string, callback: AsyncCallback<void>): void 3179 3180设置指定应用帐号的额外信息。使用callback异步回调。 3181 3182> **说明:** 3183> 3184> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setCustomData](#setcustomdata9)替代。 3185 3186 3187**系统能力:** SystemCapability.Account.AppAccount 3188 3189**参数:** 3190 3191| 参数名 | 类型 | 必填 | 说明 | 3192| --------- | ------------------------- | ---- | --------------- | 3193| name | string | 是 | 应用帐号的名称。 | 3194| extraInfo | string | 是 | 额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。 | 3195| callback | AsyncCallback<void> | 是 | 回调函数。当设置成功时,err为null,否则为错误对象。 | 3196 3197**示例:** 3198 3199 ```js 3200 appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002", (err) => { 3201 console.log("setAccountExtraInfo err: " + JSON.stringify(err)); 3202 }); 3203 ``` 3204 3205### setAccountExtraInfo<sup>(deprecated)</sup> 3206 3207setAccountExtraInfo(name: string, extraInfo: string): Promise<void> 3208 3209设置此应用程序帐号的额外信息。使用Promise异步回调。 3210 3211> **说明:** 3212> 3213> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setCustomData](#setcustomdata9-1)替代。 3214 3215 3216**系统能力:** SystemCapability.Account.AppAccount 3217 3218**参数:** 3219 3220| 参数名 | 类型 | 必填 | 说明 | 3221| --------- | ------ | ---- | --------- | 3222| name | string | 是 | 应用帐号的名称。 | 3223| extraInfo | string | 是 | 额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。 | 3224 3225**返回值:** 3226 3227| 类型 | 说明 | 3228| :------------------ | :-------------------- | 3229| Promise<void> | 无返回结果的Promise对象。 | 3230 3231**示例:** 3232 3233 ```js 3234 appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002").then(() => { 3235 console.log('setAccountExtraInfo Success'); 3236 }).catch((err) => { 3237 console.log("setAccountExtraInfo err: " + JSON.stringify(err)); 3238 }); 3239 ``` 3240 3241### setAppAccountSyncEnable<sup>(deprecated)</sup> 3242 3243setAppAccountSyncEnable(name: string, isEnable: boolean, callback: AsyncCallback<void>): void 3244 3245开启或禁止指定应用帐号的数据同步功能。使用callback异步回调。 3246 3247> **说明:** 3248> 3249> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setDataSyncEnabled](#setdatasyncenabled9)替代。 3250 3251**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 3252 3253**系统能力:** SystemCapability.Account.AppAccount 3254 3255**参数:** 3256 3257| 参数名 | 类型 | 必填 | 说明 | 3258| -------- | ------------------------- | ---- | ------------------------- | 3259| name | string | 是 | 应用帐号的名称。 | 3260| isEnable | boolean | 是 | 是否开启数据同步。 | 3261| callback | AsyncCallback<void> | 是 | 回调函数。当开启或禁止成功时,err为null,否则为错误对象。 | 3262 3263**示例:** 3264 3265 ```js 3266 appAccountManager.setAppAccountSyncEnable("ZhangSan", true, (err) => { 3267 console.log("setAppAccountSyncEnable err: " + JSON.stringify(err)); 3268 }); 3269 ``` 3270 3271### setAppAccountSyncEnable<sup>(deprecated)</sup> 3272 3273setAppAccountSyncEnable(name: string, isEnable: boolean): Promise<void> 3274 3275开启或禁止指定应用帐号的数据同步功能。使用Promise异步回调。 3276 3277> **说明:** 3278> 3279> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setDataSyncEnabled](#setdatasyncenabled9-1)替代。 3280 3281**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 3282 3283**系统能力:** SystemCapability.Account.AppAccount 3284 3285**参数:** 3286 3287| 参数名 | 类型 | 必填 | 说明 | 3288| -------- | ------- | ---- | ----------- | 3289| name | string | 是 | 应用帐号的名称。 | 3290| isEnable | boolean | 是 | 是否开启数据同步。 | 3291 3292**返回值:** 3293 3294| 类型 | 说明 | 3295| :------------------ | :-------------------- | 3296| Promise<void> | 无返回结果的Promise对象。 | 3297 3298**示例:** 3299 3300 ```js 3301 appAccountManager .setAppAccountSyncEnable("ZhangSan", true).then(() => { 3302 console.log('setAppAccountSyncEnable Success'); 3303 }).catch((err) => { 3304 console.log("setAppAccountSyncEnable err: " + JSON.stringify(err)); 3305 }); 3306 ``` 3307 3308### setAssociatedData<sup>(deprecated)</sup> 3309 3310setAssociatedData(name: string, key: string, value: string, callback: AsyncCallback<void>): void 3311 3312设置指定应用帐号的关联数据。使用callback异步回调。 3313 3314> **说明:** 3315> 3316> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setCustomData](#setcustomdata9)替代。 3317 3318 3319**系统能力:** SystemCapability.Account.AppAccount 3320 3321**参数:** 3322 3323| 参数名 | 类型 | 必填 | 说明 | 3324| -------- | ------------------------- | ---- | ----------------- | 3325| name | string | 是 | 应用帐号的名称。 | 3326| key | string | 是 | 关联数据的键名。 | 3327| value | string | 是 | 关联数据的取值。 | 3328| callback | AsyncCallback<void> | 是 | 回调函数。当设置与此应用帐号关联的数据成功时,err为null,否则为错误对象。 | 3329 3330**示例:** 3331 3332 ```js 3333 appAccountManager.setAssociatedData("ZhangSan", "k001", "v001", (err) => { 3334 console.log("setAssociatedData err: " + JSON.stringify(err)); 3335 }); 3336 ``` 3337 3338### setAssociatedData<sup>(deprecated)</sup> 3339 3340setAssociatedData(name: string, key: string, value: string): Promise<void> 3341 3342设置指定应用帐号的关联数据。使用Promise异步回调。 3343 3344> **说明:** 3345> 3346> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setCustomData](#setcustomdata9-1)替代。 3347 3348 3349**系统能力:** SystemCapability.Account.AppAccount 3350 3351**参数:** 3352 3353| 参数名 | 类型 | 必填 | 说明 | 3354| ----- | ------ | ---- | ----------------- | 3355| name | string | 是 | 应用帐号的名称。 | 3356| key | string | 是 | 关联数据的键名。 | 3357| value | string | 是 | 关联数据的取值。 | 3358 3359**返回值:** 3360 3361| 类型 | 说明 | 3362| :------------------ | :-------------------- | 3363| Promise<void> | 无返回结果的Promise对象。 | 3364 3365**示例:** 3366 3367 ```js 3368 appAccountManager.setAssociatedData("ZhangSan", "k001", "v001").then(() => { 3369 console.log('setAssociatedData Success'); 3370 }).catch((err) => { 3371 console.log("setAssociatedData err: " + JSON.stringify(err)); 3372 }); 3373 ``` 3374 3375### getAllAccessibleAccounts<sup>(deprecated)</sup> 3376 3377getAllAccessibleAccounts(callback: AsyncCallback<Array<AppAccountInfo>>): void 3378 3379获取所有可访问的应用帐号信息。使用callback异步回调。 3380 3381> **说明:** 3382> 3383> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getAllAccounts](#getallaccounts9)替代。 3384 3385**需要权限:** ohos.permission.GET_ALL_APP_ACCOUNTS。 3386 3387**系统能力:** SystemCapability.Account.AppAccount 3388 3389**参数:** 3390 3391| 参数名 | 类型 | 必填 | 说明 | 3392| -------- | ---------------------------------------- | ---- | --------- | 3393| callback | AsyncCallback<Array<[AppAccountInfo](#appaccountinfo)>> | 是 | 回调函数。当查询成功时,err为null,data为获取到的应用帐号信息列表;否则为错误对象。 | 3394 3395**示例:** 3396 3397 ```js 3398 appAccountManager.getAllAccessibleAccounts((err, data)=>{ 3399 console.debug("getAllAccessibleAccounts err:" + JSON.stringify(err)); 3400 console.debug("getAllAccessibleAccounts data:" + JSON.stringify(data)); 3401 }); 3402 ``` 3403 3404### getAllAccessibleAccounts<sup>(deprecated)</sup> 3405 3406getAllAccessibleAccounts(): Promise<Array<AppAccountInfo>> 3407 3408获取所有可访问的应用帐号信息。使用Promise异步回调。 3409 3410> **说明:** 3411> 3412> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getAllAccounts](#getallaccounts9-1)替代。 3413 3414**需要权限:** ohos.permission.GET_ALL_APP_ACCOUNTS。 3415 3416**系统能力:** SystemCapability.Account.AppAccount 3417 3418**返回值:** 3419 3420| 类型 | 说明 | 3421| ---------------------------------------- | --------------------- | 3422| Promise<Array<[AppAccountInfo](#appaccountinfo)>> | Promise对象,返回全部应用已授权帐号信息对象。 | 3423 3424**示例:** 3425 3426 ```js 3427 appAccountManager.getAllAccessibleAccounts().then((data) => { 3428 console.log('getAllAccessibleAccounts: ' + data); 3429 }).catch((err) => { 3430 console.log("getAllAccessibleAccounts err: " + JSON.stringify(err)); 3431 }); 3432 ``` 3433 3434### getAllAccounts<sup>(deprecated)</sup> 3435 3436getAllAccounts(owner: string, callback: AsyncCallback<Array<AppAccountInfo>>): void 3437 3438根据应用帐号所有者获取调用方可访问的应用帐号列表。使用callback异步回调。 3439 3440> **说明:** 3441> 3442> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getAccountsByOwner](#getaccountsbyowner9)替代。 3443 3444**需要权限:** ohos.permission.GET_ALL_APP_ACCOUNTS。 3445 3446**系统能力:** SystemCapability.Account.AppAccount 3447 3448**参数:** 3449 3450| 参数名 | 类型 | 必填 | 说明 | 3451| -------- | ---------------------------------------- | ---- | --------- | 3452| owner | string | 是 | 应用帐号所有者的包名。 | 3453| callback | AsyncCallback<Array<[AppAccountInfo](#appaccountinfo)>> | 是 | 应用帐号信息列表。 | 3454 3455**示例:** 3456 3457 ```js 3458 const selfBundle = "com.example.actsgetallaaccounts"; 3459 appAccountManager.getAllAccounts(selfBundle, (err, data)=>{ 3460 console.debug("getAllAccounts err:" + JSON.stringify(err)); 3461 console.debug("getAllAccounts data:" + JSON.stringify(data)); 3462 }); 3463 ``` 3464 3465### getAllAccounts<sup>(deprecated)</sup> 3466 3467getAllAccounts(owner: string): Promise<Array<AppAccountInfo>> 3468 3469根据应用帐号所有者获取调用方可访问的应用帐号列表。使用Promise异步回调。 3470 3471> **说明:** 3472> 3473> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getAccountsByOwner](#getaccountsbyowner9-1)替代。 3474 3475**需要权限:** ohos.permission.GET_ALL_APP_ACCOUNTS,仅系统应用可用。 3476 3477**系统能力:** SystemCapability.Account.AppAccount 3478 3479**参数:** 3480 3481| 参数名 | 类型 | 必填 | 说明 | 3482| ----- | ------ | ---- | ------ | 3483| owner | string | 是 | 应用包名称。 | 3484 3485**返回值:** 3486 3487| 类型 | 说明 | 3488| ---------------------------------------- | --------------------- | 3489| Promise<Array<[AppAccountInfo](#appaccountinfo)>> | Promise对象,返回指定应用全部帐号信息对象。 | 3490 3491**示例:** 3492 3493 ```js 3494 const selfBundle = "com.example.actsgetallaaccounts"; 3495 appAccountManager.getAllAccounts(selfBundle).then((data) => { 3496 console.log('getAllAccounts: ' + data); 3497 }).catch((err) => { 3498 console.log("getAllAccounts err: " + JSON.stringify(err)); 3499 }); 3500 ``` 3501 3502### getAccountCredential<sup>(deprecated)</sup> 3503 3504getAccountCredential(name: string, credentialType: string, callback: AsyncCallback<string>): void 3505 3506获取指定应用帐号的凭据。使用callback异步回调。 3507 3508> **说明:** 3509> 3510> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCredential](#getcredential9)替代。 3511 3512**系统能力:** SystemCapability.Account.AppAccount 3513 3514**参数:** 3515 3516| 参数名 | 类型 | 必填 | 说明 | 3517| -------------- | --------------------------- | ---- | -------------- | 3518| name | string | 是 | 应用帐号的名称。 | 3519| credentialType | string | 是 | 凭据类型。 | 3520| callback | AsyncCallback<string> | 是 | 回调函数。当获取凭据成功时,err为null,data为指定应用帐号的凭据;否则为错误对象。 | 3521 3522**示例:** 3523 3524 ```js 3525 appAccountManager.getAccountCredential("ZhangSan", "credentialType001", (err, result) => { 3526 console.log("getAccountCredential err: " + JSON.stringify(err)); 3527 console.log('getAccountCredential result: ' + result); 3528 }); 3529 ``` 3530 3531### getAccountCredential<sup>(deprecated)</sup> 3532 3533getAccountCredential(name: string, credentialType: string): Promise<string> 3534 3535获取指定应用帐号的凭据。使用Promise异步回调。 3536 3537> **说明:** 3538> 3539> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCredential](#getcredential9-1)替代。 3540 3541**系统能力:** SystemCapability.Account.AppAccount 3542 3543**参数:** 3544 3545| 参数名 | 类型 | 必填 | 说明 | 3546| -------------- | ------ | ---- | ---------- | 3547| name | string | 是 | 应用帐号的名称。 | 3548| credentialType | string | 是 | 凭据类型。 | 3549 3550**返回值:** 3551 3552| 类型 | 说明 | 3553| :-------------------- | :-------------------- | 3554| Promise<string> | Promise对象,返回指定应用帐号的凭据。 | 3555 3556**示例:** 3557 3558 ```js 3559 appAccountManager.getAccountCredential("ZhangSan", "credentialType001").then((data) => { 3560 console.log('getAccountCredential, result: ' + data); 3561 }).catch((err) => { 3562 console.log("getAccountCredential err: " + JSON.stringify(err)); 3563 }); 3564 ``` 3565 3566### getAccountExtraInfo<sup>(deprecated)</sup> 3567 3568getAccountExtraInfo(name: string, callback: AsyncCallback<string>): void 3569 3570获取指定应用帐号的额外信息(能转换成string类型的其它信息)。使用callback异步回调。 3571 3572> **说明:** 3573> 3574> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCustomData](#getcustomdata9)替代。 3575 3576**系统能力:** SystemCapability.Account.AppAccount 3577 3578**参数:** 3579 3580| 参数名 | 类型 | 必填 | 说明 | 3581| -------- | --------------------------- | ---- | --------------- | 3582| name | string | 是 | 应用帐号的名称。 | 3583| callback | AsyncCallback<string> | 是 | 回调函数。当获取此应用帐号的额外信息成功时,err为null,data返回此应用帐号的额外信息对象;否则为错误对象。 | 3584 3585**示例:** 3586 3587 ```js 3588 appAccountManager.getAccountExtraInfo("ZhangSan", (err, result) => { 3589 console.log("getAccountExtraInfo err: " + JSON.stringify(err)); 3590 console.log('getAccountExtraInfo result: ' + result); 3591 }); 3592 ``` 3593 3594### getAccountExtraInfo<sup>(deprecated)</sup> 3595 3596getAccountExtraInfo(name: string): Promise<string> 3597 3598获取指定应用帐号的额外信息(能转换成string类型的其它信息)。使用Promise异步回调。 3599 3600> **说明:** 3601> 3602> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCustomData](#getcustomdata9-1)替代。 3603 3604**系统能力:** SystemCapability.Account.AppAccount 3605 3606**参数:** 3607 3608| 参数名 | 类型 | 必填 | 说明 | 3609| ---- | ------ | ---- | ------- | 3610| name | string | 是 | 应用帐号的名称。 | 3611 3612**返回值:** 3613 3614| 类型 | 说明 | 3615| :-------------------- | :-------------------- | 3616| Promise<string> | Promise对象,返回此应用程序帐号的额外信息对象。 | 3617 3618**示例:** 3619 3620 ```js 3621 appAccountManager.getAccountExtraInfo("ZhangSan").then((data) => { 3622 console.log('getAccountExtraInfo, result: ' + data); 3623 }).catch((err) => { 3624 console.log("getAccountExtraInfo err: " + JSON.stringify(err)); 3625 }); 3626 ``` 3627 3628### getAssociatedData<sup>(deprecated)</sup> 3629 3630getAssociatedData(name: string, key: string, callback: AsyncCallback<string>): void 3631 3632根据指定键名获取特定应用帐号的关联数据。使用callback异步回调。 3633 3634> **说明:** 3635> 3636> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCustomData](#getcustomdata9)替代。 3637 3638**系统能力:** SystemCapability.Account.AppAccount 3639 3640**参数:** 3641 3642| 参数名 | 类型 | 必填 | 说明 | 3643| -------- | --------------------------- | ---- | ----------------- | 3644| name | string | 是 | 应用帐号的名称。 | 3645| key | string | 是 | 关联数据的键名。 | 3646| callback | AsyncCallback<string> | 是 | 回调函数。当获取成功时,err为null,data为关联数据的取值;否则为错误对象。 | 3647 3648**示例:** 3649 3650 ```js 3651 appAccountManager.getAssociatedData("ZhangSan", "k001", (err, result) => { 3652 console.log("getAssociatedData err: " + JSON.stringify(err)); 3653 console.log('getAssociatedData result: ' + result); 3654 }); 3655 ``` 3656 3657### getAssociatedData<sup>(deprecated)</sup> 3658 3659getAssociatedData(name: string, key: string): Promise<string> 3660 3661获取与此应用程序帐号关联的数据。使用Promise异步回调。 3662 3663> **说明:** 3664> 3665> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCustomData](#getcustomdata9-1)替代。 3666 3667**系统能力:** SystemCapability.Account.AppAccount 3668 3669**参数:** 3670 3671| 参数名 | 类型 | 必填 | 说明 | 3672| ---- | ------ | ---- | --------- | 3673| name | string | 是 | 应用帐号的名称。 | 3674| key | string | 是 | 关联数据的键名。 | 3675 3676**返回值:** 3677 3678| 类型 | 说明 | 3679| :-------------------- | :-------------------- | 3680| Promise<string> | Promise对象,返回关联数据的取值。 | 3681 3682**示例:** 3683 3684 ```js 3685 appAccountManager.getAssociatedData("ZhangSan", "k001").then((data) => { 3686 console.log('getAssociatedData: ' + data); 3687 }).catch((err) => { 3688 console.log("getAssociatedData err: " + JSON.stringify(err)); 3689 }); 3690 ``` 3691 3692### on('change')<sup>(deprecated)</sup> 3693 3694on(type: 'change', owners: Array<string>, callback: Callback<Array<AppAccountInfo>>): void 3695 3696订阅指定应用的帐号信息变更事件。 3697 3698> **说明:** 3699> 3700> 从 API version 7开始支持,从API version 9开始废弃。建议使用[on('accountChange')](#onaccountchange9)替代。 3701 3702**系统能力:** SystemCapability.Account.AppAccount 3703 3704**参数:** 3705 3706| 参数名 | 类型 | 必填 | 说明 | 3707| -------- | ---------------------------------------- | ---- | ------------------------------ | 3708| type | 'change' | 是 | 事件回调类型,支持的事件为'change',当帐号所有者更新帐号信息时,触发该事件。 | 3709| owners | Array<string> | 是 | 应用帐号所有者的包名列表。 | 3710| callback | Callback<Array<[AppAccountInfo](#appaccountinfo)>> | 是 | 回调函数,返回信息发生变更的应用帐号列表。 | 3711 3712**示例:** 3713 3714 ```js 3715 function changeOnCallback(data){ 3716 console.debug("receive change data:" + JSON.stringify(data)); 3717 } 3718 try{ 3719 appAccountManager.on('change', ["com.example.actsaccounttest"], changeOnCallback); 3720 } 3721 catch(err){ 3722 console.error("on accountOnOffDemo err:" + JSON.stringify(err)); 3723 } 3724 ``` 3725 3726### off('change')<sup>(deprecated)</sup> 3727 3728off(type: 'change', callback?: Callback<Array<AppAccountInfo>>): void 3729 3730取消订阅帐号信息变更事件。 3731 3732> **说明:** 3733> 3734> 从 API version 7开始支持,从API version 9开始废弃。建议使用[off('accountChange')](#offaccountchange9)替代。 3735 3736**系统能力:** SystemCapability.Account.AppAccount 3737 3738**参数:** 3739 3740| 参数名 | 类型 | 必填 | 说明 | 3741| -------- | -------------------------------- | ---- | ------------ | 3742| type | 'change' | 是 | 事件回调类型,支持的事件为'change',当帐号所有者更新帐号信息时,触发该事件。 | 3743| callback | Callback<Array<[AppAccountInfo](#appaccountinfo)>> | 否 | 回调函数,返回信息发生变更的应用帐号列表。 | 3744 3745**示例:** 3746 3747 ```js 3748 function changeOnCallback(data){ 3749 console.debug("receive change data:" + JSON.stringify(data)); 3750 appAccountManager.off('change', function(){ 3751 console.debug("off finish"); 3752 }) 3753 } 3754 try{ 3755 appAccountManager.on('change', ["com.example.actsaccounttest"], changeOnCallback); 3756 } 3757 catch(err){ 3758 console.error("on accountOnOffDemo err:" + JSON.stringify(err)); 3759 } 3760 ``` 3761 3762### authenticate<sup>(deprecated)</sup> 3763 3764authenticate(name: string, owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void 3765 3766对应用帐号进行鉴权以获取授权令牌。使用callback异步回调。 3767 3768> **说明:** 3769> 3770> 从 API version 8开始支持,从API version 9开始废弃。建议使用[auth](#auth9)替代。 3771 3772**系统能力:** SystemCapability.Account.AppAccount 3773 3774**参数:** 3775 3776| 参数名 | 类型 | 必填 | 说明 | 3777| -------- | --------------------- | ---- | --------------- | 3778| name | string | 是 | 应用帐号的名称。 | 3779| owner | string | 是 | 应用帐号所有者的包名。 | 3780| authType | string | 是 | 鉴权类型。 | 3781| options | {[key: string]: any} | 是 | 鉴权所需的可选项。 | 3782| callback | [AuthenticatorCallback](#authenticatorcallbackdeprecated) | 是 | 回调对象,返回鉴权结果。 | 3783 3784**示例:** 3785 3786 ```js 3787 function onResultCallback(code, result) { 3788 console.log("resultCode: " + code); 3789 console.log("result: " + JSON.stringify(result)); 3790 } 3791 3792 function onRequestRedirectedCallback(request) { 3793 let wantInfo = { 3794 deviceId: '', 3795 bundleName: 'com.example.accountjsdemo', 3796 action: 'ohos.want.action.viewData', 3797 entities: ['entity.system.default'], 3798 } 3799 this.context.startAbility(wantInfo).then(() => { 3800 console.log("startAbility successfully"); 3801 }).catch((err) => { 3802 console.log("startAbility err: " + JSON.stringify(err)); 3803 }) 3804 } 3805 3806 appAccountManager.authenticate("LiSi", "com.example.accountjsdemo", "getSocialData", {}, { 3807 onResult: onResultCallback, 3808 onRequestRedirected: onRequestRedirectedCallback 3809 }); 3810 ``` 3811 3812### getOAuthToken<sup>(deprecated)</sup> 3813 3814getOAuthToken(name: string, owner: string, authType: string, callback: AsyncCallback<string>): void 3815 3816获取指定应用帐号的特定鉴权类型的授权令牌。使用callback异步回调。 3817 3818> **说明:** 3819> 3820> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthToken](#getauthtoken9)替代。 3821 3822**系统能力:** SystemCapability.Account.AppAccount 3823 3824**参数:** 3825 3826| 参数名 | 类型 | 必填 | 说明 | 3827| -------- | --------------------------- | ---- | ----------- | 3828| name | string | 是 | 应用帐号的名称。 | 3829| owner | string | 是 | 应用帐号所有者的包名。 | 3830| authType | string | 是 | 鉴权类型。 | 3831| callback | AsyncCallback<string> | 是 | 回调函数。当获取成功时,err为null,data为授权令牌值;否则为错误对象。 | 3832 3833**示例:** 3834 3835 ```js 3836 appAccountManager.getOAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", (err, data) => { 3837 console.log('getOAuthToken err: ' + JSON.stringify(err)); 3838 console.log('getOAuthToken token: ' + data); 3839 }); 3840 ``` 3841 3842### getOAuthToken<sup>(deprecated)</sup> 3843 3844getOAuthToken(name: string, owner: string, authType: string): Promise<string> 3845 3846获取指定应用帐号的特定鉴权类型的授权令牌。使用Promise异步回调。 3847 3848> **说明:** 3849> 3850> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthToken](#getauthtoken9-1)替代。 3851 3852**系统能力:** SystemCapability.Account.AppAccount 3853 3854**参数:** 3855 3856| 参数名 | 类型 | 必填 | 说明 | 3857| -------- | ------ | ---- | ----------- | 3858| name | string | 是 | 应用帐号的名称。 | 3859| owner | string | 是 | 应用帐号所有者的包名。 | 3860| authType | string | 是 | 鉴权类型。 | 3861 3862**返回值:** 3863 3864| 类型 | 说明 | 3865| --------------------- | --------------------- | 3866| Promise<string> | Promise对象,返回授权令牌。 | 3867 3868**示例:** 3869 3870 ```js 3871 appAccountManager.getOAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData").then((data) => { 3872 console.log('getOAuthToken token: ' + data); 3873 }).catch((err) => { 3874 console.log("getOAuthToken err: " + JSON.stringify(err)); 3875 }); 3876 ``` 3877 3878### setOAuthToken<sup>(deprecated)</sup> 3879 3880setOAuthToken(name: string, authType: string, token: string, callback: AsyncCallback<void>): void 3881 3882为指定应用帐号设置特定鉴权类型的授权令牌。使用callback异步回调。 3883 3884> **说明:** 3885> 3886> 从 API version 8开始支持,从API version 9开始废弃。建议使用[setAuthToken](#setauthtoken9)替代。 3887 3888**系统能力:** SystemCapability.Account.AppAccount 3889 3890**参数:** 3891 3892| 参数名 | 类型 | 必填 | 说明 | 3893| -------- | ------------------------- | ---- | -------- | 3894| name | string | 是 | 应用帐号的名称。 | 3895| authType | string | 是 | 鉴权类型。 | 3896| token | string | 是 | 授权令牌。 | 3897| callback | AsyncCallback<void> | 是 | 回调函数。当设置成功时,err为null;否则为错误对象。 | 3898 3899**示例:** 3900 3901 ```js 3902 appAccountManager.setOAuthToken("LiSi", "getSocialData", "xxxx", (err) => { 3903 console.log('setOAuthToken err: ' + JSON.stringify(err)); 3904 }); 3905 ``` 3906 3907### setOAuthToken<sup>(deprecated)</sup> 3908 3909setOAuthToken(name: string, authType: string, token: string): Promise<void> 3910 3911为指定应用帐号设置特定鉴权类型的授权令牌。使用Promise异步回调。 3912 3913> **说明:** 3914> 3915> 从 API version 8开始支持,从API version 9开始废弃。建议使用[setAuthToken](#setauthtoken9-1)替代。 3916 3917**系统能力:** SystemCapability.Account.AppAccount 3918 3919**参数:** 3920 3921| 参数名 | 类型 | 必填 | 说明 | 3922| -------- | ------ | ---- | -------- | 3923| name | string | 是 | 应用帐号的名称。 | 3924| authType | string | 是 | 鉴权类型。 | 3925| token | string | 是 | 授权令牌。 | 3926 3927**返回值:** 3928 3929| 类型 | 说明 | 3930| ------------------- | --------------------- | 3931| Promise<void> | 无返回结果的Promise对象。 | 3932 3933**示例:** 3934 3935 ```js 3936 appAccountManager.setOAuthToken("LiSi", "getSocialData", "xxxx").then(() => { 3937 console.log('setOAuthToken successfully'); 3938 }).catch((err) => { 3939 console.log('setOAuthToken err: ' + JSON.stringify(err)); 3940 }); 3941 ``` 3942 3943### deleteOAuthToken<sup>(deprecated)</sup> 3944 3945deleteOAuthToken(name: string, owner: string, authType: string, token: string, callback: AsyncCallback<void>): void 3946 3947删除指定应用帐号的特定鉴权类型的授权令牌。使用callback异步回调。 3948 3949> **说明:** 3950> 3951> 从 API version 8开始支持,从API version 9开始废弃。建议使用[deleteAuthToken](#deleteauthtoken9)替代。 3952 3953**系统能力:** SystemCapability.Account.AppAccount 3954 3955**参数:** 3956 3957| 参数名 | 类型 | 必填 | 说明 | 3958| -------- | ------------------------- | ---- | ------------ | 3959| name | string | 是 | 应用帐号的名称。 | 3960| owner | string | 是 | 应用帐号所有者的包名。 | 3961| authType | string | 是 | 鉴权类型。 | 3962| token | string | 是 | 授权令牌。 | 3963| callback | AsyncCallback<void> | 是 | 回调函数。当删除成功时,err为null;否则为错误对象。 | 3964 3965**示例:** 3966 3967 ```js 3968 appAccountManager.deleteOAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", "xxxxx", (err) => { 3969 console.log('deleteOAuthToken err: ' + JSON.stringify(err)); 3970 }); 3971 ``` 3972 3973### deleteOAuthToken<sup>(deprecated)</sup> 3974 3975deleteOAuthToken(name: string, owner: string, authType: string, token: string): Promise<void> 3976 3977删除指定应用帐号的特定鉴权类型的授权令牌。使用Promise异步回调。 3978 3979> **说明:** 3980> 3981> 从 API version 8开始支持,从API version 9开始废弃。建议使用[deleteAuthToken](#deleteauthtoken9-1)替代。 3982 3983**系统能力:** SystemCapability.Account.AppAccount 3984 3985**参数:** 3986 3987| 参数名 | 类型 | 必填 | 说明 | 3988| -------- | ------ | ---- | ------------ | 3989| name | string | 是 | 应用帐号的名称。 | 3990| owner | string | 是 | 应用帐号所有者的包名。 | 3991| authType | string | 是 | 鉴权类型。 | 3992| token | string | 是 | 授权令牌。 | 3993 3994**返回值:** 3995 3996| 类型 | 说明 | 3997| ------------------- | --------------------- | 3998| Promise<void> | 无返回结果的Promise对象。 | 3999 4000**示例:** 4001 4002 ```js 4003 appAccountManager.deleteOAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", "xxxxx").then(() => { 4004 console.log('deleteOAuthToken successfully'); 4005 }).catch((err) => { 4006 console.log("deleteOAuthToken err: " + JSON.stringify(err)); 4007 }); 4008 ``` 4009 4010### setOAuthTokenVisibility<sup>(deprecated)</sup> 4011 4012setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean, callback: AsyncCallback<void>): void 4013 4014设置指定帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用callback异步回调。 4015 4016> **说明:** 4017> 4018> 从 API version 8开始支持,从API version 9开始废弃。建议使用[setAuthTokenVisibility](#setauthtokenvisibility9)替代。 4019 4020**系统能力:** SystemCapability.Account.AppAccount 4021 4022**参数:** 4023 4024| 参数名 | 类型 | 必填 | 说明 | 4025| ---------- | ------------------------- | ---- | ------------------------- | 4026| name | string | 是 | 应用帐号的名称。 | 4027| authType | string | 是 | 鉴权类型。 | 4028| bundleName | string | 是 | 被设置可见性的应用包名。 | 4029| isVisible | boolean | 是 | 是否可见。true表示可见,false表示不可见。 | 4030| callback | AsyncCallback<void> | 是 | 回调函数。当设置成功时,err为null;否则为错误对象。 | 4031 4032**示例:** 4033 4034 ```js 4035 appAccountManager.setOAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", true, (err) => { 4036 console.log('setOAuthTokenVisibility err: ' + JSON.stringify(err)); 4037 }); 4038 ``` 4039 4040### setOAuthTokenVisibility<sup>(deprecated)</sup> 4041 4042setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean): Promise<void> 4043 4044设置指定帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用Promise异步回调。 4045 4046> **说明:** 4047> 4048> 从 API version 8开始支持,从API version 9开始废弃。建议使用[setAuthTokenVisibility](#setauthtokenvisibility9-1)替代。 4049 4050**系统能力:** SystemCapability.Account.AppAccount 4051 4052**参数:** 4053 4054| 参数名 | 类型 | 必填 | 说明 | 4055| ---------- | ------- | ---- | ------------ | 4056| name | string | 是 | 应用帐号的名称。 | 4057| authType | string | 是 | 鉴权类型。 | 4058| bundleName | string | 是 | 被设置可见性的应用包名。 | 4059| isVisible | boolean | 是 | 是否可见。true表示可见,false表示不可见。 | 4060 4061**返回值:** 4062 4063| 类型 | 说明 | 4064| ------------------- | --------------------- | 4065| Promise<void> | 无返回结果的Promise对象。 | 4066 4067**示例:** 4068 4069 ```js 4070 appAccountManager.setOAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", true).then(() => { 4071 console.log('setOAuthTokenVisibility successfully'); 4072 }).catch((err) => { 4073 console.log('setOAuthTokenVisibility err: ' + JSON.stringify(err)); 4074 }); 4075 ``` 4076 4077### checkOAuthTokenVisibility<sup>(deprecated)</sup> 4078 4079checkOAuthTokenVisibility(name: string, authType: string, bundleName: string, callback: AsyncCallback<boolean>): void 4080 4081检查指定应用帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用callback异步回调。 4082 4083> **说明:** 4084> 4085> 从 API version 8开始支持,从API version 9开始废弃。建议使用[checkAuthTokenVisibility](#checkauthtokenvisibility9)替代。 4086 4087**系统能力:** SystemCapability.Account.AppAccount 4088 4089**参数:** 4090 4091| 参数名 | 类型 | 必填 | 说明 | 4092| ---------- | ---------------------------- | ---- | ----------- | 4093| name | string | 是 | 应用帐号的名称。 | 4094| authType | string | 是 | 鉴权类型。 | 4095| bundleName | string | 是 | 检查可见性的应用包名。 | 4096| callback | AsyncCallback<boolean> | 是 | 回调函数。当检查成功时,err为null,data为true表示可见,data为false表示不可见;否则为错误对象。 | 4097 4098**示例:** 4099 4100 ```js 4101 appAccountManager.checkOAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", (err, data) => { 4102 console.log('checkOAuthTokenVisibility err: ' + JSON.stringify(err)); 4103 console.log('checkOAuthTokenVisibility isVisible: ' + data); 4104 }); 4105 ``` 4106 4107### checkOAuthTokenVisibility<sup>(deprecated)</sup> 4108 4109checkOAuthTokenVisibility(name: string, authType: string, bundleName: string): Promise<boolean> 4110 4111检查指定应用帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用Promise异步回调。 4112 4113> **说明:** 4114> 4115> 从 API version 8开始支持,从API version 9开始废弃。建议使用[checkAuthTokenVisibility](#checkauthtokenvisibility9-1)替代。 4116 4117**系统能力:** SystemCapability.Account.AppAccount 4118 4119**参数:** 4120 4121| 参数名 | 类型 | 必填 | 说明 | 4122| ---------- | ------ | ---- | ------------- | 4123| name | string | 是 | 应用帐号的名称。 | 4124| authType | string | 是 | 鉴权类型。 | 4125| bundleName | string | 是 | 用于检查可见性的应用包名。 | 4126 4127**返回值:** 4128 4129| 类型 | 说明 | 4130| ---------------------- | --------------------- | 4131| Promise<boolean> | Promise对象。返回true表示指定鉴权类型的OAuth令牌对特定应用的可见,返回false表示不可见。 | 4132 4133**示例:** 4134 4135 ```js 4136 appAccountManager.checkOAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo").then((data) => { 4137 console.log('checkOAuthTokenVisibility isVisible: ' + data); 4138 }).catch((err) => { 4139 console.log('checkOAuthTokenVisibility err: ' + JSON.stringify(err)); 4140 }); 4141 ``` 4142 4143### getAllOAuthTokens<sup>(deprecated)</sup> 4144 4145getAllOAuthTokens(name: string, owner: string, callback: AsyncCallback<Array<OAuthTokenInfo>>): void 4146 4147获取指定帐号对调用方可见的所有授权令牌。使用callback异步回调。 4148 4149> **说明:** 4150> 4151> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAllAuthTokens](#getallauthtokens9)替代。 4152 4153**系统能力:** SystemCapability.Account.AppAccount 4154 4155**参数:** 4156 4157| 参数名 | 类型 | 必填 | 说明 | 4158| -------- | ---------------------------------------- | ---- | ----------- | 4159| name | string | 是 | 应用帐号的名称。 | 4160| owner | string | 是 | 应用帐号所有者的包名。 | 4161| callback | AsyncCallback<Array<[OAuthTokenInfo](#oauthtokeninfodeprecated)>> | 是 | 回调函数。当获取成功时,err为null,data为授权令牌数组;否则为错误对象。 | 4162 4163**示例:** 4164 4165 ```js 4166 appAccountManager.getAllOAuthTokens("LiSi", "com.example.accountjsdemo", (err, data) => { 4167 console.log("getAllOAuthTokens err: " + JSON.stringify(err)); 4168 console.log('getAllOAuthTokens data: ' + JSON.stringify(data)); 4169 }); 4170 ``` 4171 4172### getAllOAuthTokens<sup>(deprecated)</sup> 4173 4174getAllOAuthTokens(name: string, owner: string): Promise<Array<OAuthTokenInfo>> 4175 4176获取指定帐号对调用方可见的所有授权令牌。使用Promise异步回调。 4177 4178> **说明:** 4179> 4180> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAllAuthTokens](#getallauthtokens9-1)替代。 4181 4182**系统能力:** SystemCapability.Account.AppAccount 4183 4184**参数:** 4185 4186| 参数名 | 类型 | 必填 | 说明 | 4187| ----- | ------ | ---- | ----------- | 4188| name | string | 是 | 应用帐号的名称。 | 4189| owner | string | 是 | 应用帐号所有者的包名。 | 4190 4191**返回值:** 4192 4193| 类型 | 说明 | 4194| ---------------------------------------- | --------------------- | 4195| Promise<Array< [OAuthTokenInfo](#oauthtokeninfodeprecated)>> | Promise对象,返回授权令牌数组。 | 4196 4197**示例:** 4198 4199 ```js 4200 appAccountManager.getAllOAuthTokens("LiSi", "com.example.accountjsdemo").then((data) => { 4201 console.log('getAllOAuthTokens data: ' + JSON.stringify(data)); 4202 }).catch((err) => { 4203 console.log("getAllOAuthTokens err: " + JSON.stringify(err)); 4204 }); 4205 ``` 4206 4207### getOAuthList<sup>(deprecated)</sup> 4208 4209getOAuthList(name: string, authType: string, callback: AsyncCallback<Array<string>>): void 4210 4211获取指定应用帐号的特定鉴权类型的授权列表,即被授权的包名数组(令牌的授权列表通过setOAuthTokenVisibility(#setoauthtokenvisibilitydeprecated)来设置)。使用callback异步回调。 4212 4213> **说明:** 4214> 4215> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthList](#getauthlist9)替代。 4216 4217**系统能力:** SystemCapability.Account.AppAccount 4218 4219**参数:** 4220 4221| 参数名 | 类型 | 必填 | 说明 | 4222| -------- | ---------------------------------------- | ---- | ----------------------- | 4223| name | string | 是 | 应用帐号的名称。 | 4224| authType | string | 是 | 鉴权类型。 | 4225| callback | AsyncCallback<Array<string>> | 是 | 回调函数。当获取成功时,err为null,data为被授权的包名数组;否则为错误对象。 | 4226 4227**示例:** 4228 4229 ```js 4230 appAccountManager.getOAuthList("com.example.accountjsdemo", "getSocialData", (err, data) => { 4231 console.log('getOAuthList err: ' + JSON.stringify(err)); 4232 console.log('getOAuthList data: ' + JSON.stringify(data)); 4233 }); 4234 ``` 4235 4236### getOAuthList<sup>(deprecated)</sup> 4237 4238getOAuthList(name: string, authType: string): Promise<Array<string>> 4239 4240获取指定应用帐号的特定鉴权类型的授权列表,即被授权的包名数组(令牌的授权列表通过setOAuthTokenVisibility(#setoauthtokenvisibilitydeprecated)来设置)。使用Promise异步回调。 4241 4242> **说明:** 4243> 4244> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthList](#getauthlist9-1)替代。 4245 4246**系统能力:** SystemCapability.Account.AppAccount 4247 4248**参数:** 4249 4250| 参数名 | 类型 | 必填 | 说明 | 4251| -------- | ------ | ---- | ----------------------- | 4252| name | string | 是 | 应用帐号的名称。 | 4253| authType | string | 是 | 鉴权类型。 | 4254 4255**返回值:** 4256 4257| 类型 | 说明 | 4258| ---------------------------------- | --------------------- | 4259| Promise<Array<string>> | Promise对象,返回被授权的包名数组。 | 4260 4261**示例:** 4262 4263 ```js 4264 appAccountManager.getOAuthList("com.example.accountjsdemo", "getSocialData").then((data) => { 4265 console.log('getOAuthList data: ' + JSON.stringify(data)); 4266 }).catch((err) => { 4267 console.log("getOAuthList err: " + JSON.stringify(err)); 4268 }); 4269 ``` 4270 4271### getAuthenticatorCallback<sup>(deprecated)</sup> 4272 4273getAuthenticatorCallback(sessionId: string, callback: AsyncCallback<AuthenticatorCallback>): void 4274 4275获取鉴权会话的认证器回调。使用callback异步回调。 4276 4277> **说明:** 4278> 4279> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthCallback](#getauthcallback9)替代。 4280 4281**系统能力:** SystemCapability.Account.AppAccount 4282 4283**参数:** 4284 4285| 参数名 | 类型 | 必填 | 说明 | 4286| --------- | ---------------------------------------- | ---- | -------- | 4287| sessionId | string | 是 | 鉴权会话的标识。 | 4288| callback | AsyncCallback<[AuthenticatorCallback](#authenticatorcallbackdeprecated)> | 是 | 回调函数。当获取鉴权会话的认证器回调函数成功时,err为null,data为认证器回调函数;否则为错误对象。 | 4289 4290**示例:** 4291 4292 ```js 4293 import UIAbility from '@ohos.app.ability.UIAbility'; 4294 4295 export default class EntryAbility extends UIAbility { 4296 onCreate(want, param) { 4297 var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID]; 4298 appAccountManager.getAuthenticatorCallback(sessionId, (err, callback) => { 4299 if (err.code != account_appAccount.ResultCode.SUCCESS) { 4300 console.log("getAuthenticatorCallback err: " + JSON.stringify(err)); 4301 return; 4302 } 4303 var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi", 4304 [account_appAccount.Constants.KEY_OWNER]: "com.example.accountjsdemo", 4305 [account_appAccount.Constants.KEY_AUTH_TYPE]: "getSocialData", 4306 [account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"}; 4307 callback.onResult(account_appAccount.ResultCode.SUCCESS, result); 4308 }); 4309 } 4310 } 4311 ``` 4312 4313### getAuthenticatorCallback<sup>(deprecated)</sup> 4314 4315getAuthenticatorCallback(sessionId: string): Promise<AuthenticatorCallback> 4316 4317获取鉴权会话的认证器回调。使用Promise异步回调。 4318 4319> **说明:** 4320> 4321> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthCallback](#getauthcallback9-1)替代。 4322 4323**系统能力:** SystemCapability.Account.AppAccount 4324 4325**参数:** 4326 4327| 参数名 | 类型 | 必填 | 说明 | 4328| --------- | ------ | ---- | -------- | 4329| sessionId | string | 是 | 鉴权会话的标识。 | 4330 4331**返回值:** 4332 4333| 类型 | 说明 | 4334| ------------------------------------ | --------------------- | 4335| Promise<[AuthenticatorCallback](#authenticatorcallbackdeprecated)> | Promise对象,返回鉴权会话的认证器回调对象。 | 4336 4337**示例:** 4338 4339 ```js 4340 import UIAbility from '@ohos.app.ability.UIAbility'; 4341 4342 export default class EntryAbility extends UIAbility { 4343 onCreate(want, param) { 4344 var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID]; 4345 appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => { 4346 var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi", 4347 [account_appAccount.Constants.KEY_OWNER]: "com.example.accountjsdemo", 4348 [account_appAccount.Constants.KEY_AUTH_TYPE]: "getSocialData", 4349 [account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"}; 4350 callback.onResult(account_appAccount.ResultCode.SUCCESS, result); 4351 }).catch((err) => { 4352 console.log("getAuthenticatorCallback err: " + JSON.stringify(err)); 4353 }); 4354 } 4355 } 4356 ``` 4357 4358### getAuthenticatorInfo<sup>(deprecated)</sup> 4359 4360getAuthenticatorInfo(owner: string, callback: AsyncCallback<AuthenticatorInfo>): void 4361 4362获取指定应用的认证器信息。使用callback异步回调。 4363 4364> **说明:** 4365> 4366> 从 API version 8开始支持,从API version 9开始废弃。建议使用[queryAuthenticatorInfo](#queryauthenticatorinfo9)替代。 4367 4368**系统能力:** SystemCapability.Account.AppAccount 4369 4370**参数:** 4371 4372| 参数名 | 类型 | 必填 | 说明 | 4373| -------- | -------------------------------------- | ---- | ----------- | 4374| owner | string | 是 | 应用帐号所有者的包名。 | 4375| callback | AsyncCallback<[AuthenticatorInfo](#authenticatorinfo8)> | 是 | 回调函数。当获取成功时,err为null,data为认证器信息对象;否则为错误对象。 | 4376 4377**示例:** 4378 4379 ```js 4380 appAccountManager.getAuthenticatorInfo("com.example.accountjsdemo", (err, data) => { 4381 console.log("getAuthenticatorInfo err: " + JSON.stringify(err)); 4382 console.log('getAuthenticatorInfo data: ' + JSON.stringify(data)); 4383 }); 4384 ``` 4385 4386### getAuthenticatorInfo<sup>(deprecated)</sup> 4387 4388getAuthenticatorInfo(owner: string): Promise<AuthenticatorInfo> 4389 4390获取指定应用的认证器信息。使用Promise异步回调。 4391 4392> **说明:** 4393> 4394> 从 API version 8开始支持,从API version 9开始废弃。建议使用[queryAuthenticatorInfo](#queryauthenticatorinfo9-1)替代。 4395 4396**系统能力:** SystemCapability.Account.AppAccount 4397 4398**参数:** 4399 4400| 参数名 | 类型 | 必填 | 说明 | 4401| ----- | ------ | ---- | ----------- | 4402| owner | string | 是 | 应用帐号所有者的包名。 | 4403 4404**返回值:** 4405 4406| 类型 | 说明 | 4407| -------------------------------- | --------------------- | 4408| Promise<[AuthenticatorInfo](#authenticatorinfo8)> | Promise对象,返回指定应用的认证器信息对象。 | 4409 4410**示例:** 4411 4412 ```js 4413 appAccountManager.getAuthenticatorInfo("com.example.accountjsdemo").then((data) => { 4414 console.log('getAuthenticatorInfo: ' + JSON.stringify(data)); 4415 }).catch((err) => { 4416 console.log("getAuthenticatorInfo err: " + JSON.stringify(err)); 4417 }); 4418 ``` 4419 4420## AppAccountInfo 4421 4422表示应用帐号信息。 4423 4424**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。 4425 4426| 名称 | 类型 | 必填 | 说明 | 4427| ----- | ------ | ---- | ----------- | 4428| owner | string | 是 | 应用帐号所有者的包名。 | 4429| name | string | 是 | 应用帐号的名称。 | 4430 4431## AuthTokenInfo<sup>9+</sup> 4432 4433表示Auth令牌信息。 4434 4435**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。 4436 4437| 名称 | 类型 | 必填 | 说明 | 4438| -------------------- | -------------- | ----- | ---------------- | 4439| authType<sup>9+</sup> | string | 是 | 令牌的鉴权类型。 | 4440| token<sup>9+</sup> | string | 是 | 令牌的取值。 | 4441| account<sup>9+</sup> | [AppAccountInfo](#appaccountinfo) | 否 | 令牌所属的帐号信息。| 4442 4443## OAuthTokenInfo<sup>(deprecated)</sup> 4444 4445表示OAuth令牌信息。 4446 4447> **说明:** 4448> 4449> 从 API version 8开始支持,从API version 9开始废弃。建议使用[AuthTokenInfo](#authtokeninfo9)替代。 4450 4451**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。 4452 4453| 名称 | 类型 | 必填 | 说明 | 4454| -------------------- | -------------- | ----- | ---------------- | 4455| authType | string | 是 | 令牌的鉴权类型。 | 4456| token | string | 是 | 令牌的取值。 | 4457| account<sup>9+</sup> | [AppAccountInfo](#appaccountinfo) | 否 | 令牌所属的帐号信息。| 4458 4459## AuthenticatorInfo<sup>8+</sup> 4460 4461表示OAuth认证器信息。 4462 4463**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。 4464 4465| 名称 | 类型 | 必填 | 说明 | 4466| ------- | ------ | ---- | ---------- | 4467| owner | string | 是 | 认证器的所有者包名。 | 4468| iconId | number | 是 | 认证器的图标标识。 | 4469| labelId | number | 是 | 认证器的标签标识。 | 4470 4471## AuthResult<sup>9+</sup> 4472 4473表示认证结果信息。 4474 4475**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。 4476 4477| 名称 | 类型 | 必填 | 说明 | 4478| ------- | ------ | ---- | ---------- | 4479| account | [AppAccountInfo](#appaccountinfo) | 否 | 令牌所属的帐号信息。 | 4480| tokenInfo | [AuthTokenInfo](#authtokeninfo9) | 否 | 令牌信息。 | 4481 4482## CreateAccountOptions<sup>9+</sup> 4483 4484表示创建帐号的选项。 4485 4486**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。 4487 4488| 名称 | 类型 | 必填 | 说明 | 4489| ------- | ------ | ---- | ---------- | 4490| customData | {[key: string]: string} | 否 | 自定义数据。 | 4491 4492## CreateAccountImplicitlyOptions<sup>9+</sup> 4493 4494表示隐式创建帐号的选项。 4495 4496**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。 4497 4498| 名称 | 类型 | 必填 | 说明 | 4499| ------- | ------ | ---- | ---------- | 4500| requiredLabels | Array<string> | 否 | 必须的标签。 | 4501| authType | string | 否 | 鉴权类型。 | 4502| parameters | {[key: string]: Object} | 否 | 自定义参数对象。 | 4503## SelectAccountsOptions<sup>9+</sup> 4504 4505表示用于选择帐号的选项。 4506 4507**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。 4508 4509| 名称 | 类型 | 必填 | 说明 | 4510| --------------- | --------------------------- | ----- | ------------------- | 4511| allowedAccounts | Array<[AppAccountInfo](#appaccountinfo)> | 否 | 允许的帐号数组。 | 4512| allowedOwners | Array<string> | 否 | 允许的帐号所有者数组。 | 4513| requiredLabels | Array<string> | 否 | 认证器的标签标识。 | 4514 4515## VerifyCredentialOptions<sup>9+</sup> 4516 4517表示用于验证凭据的选项。 4518 4519**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。 4520 4521| 名称 | 类型 | 必填 | 说明 | 4522| -------------- | ---------------------- | ----- | -------------- | 4523| credentialType | string | 否 | 凭据类型。 | 4524| credential | string | 否 | 凭据取值。 | 4525| parameters | {[key: string]: Object} | 否 | 自定义参数对象。 | 4526 4527 4528## SetPropertiesOptions<sup>9+</sup> 4529 4530表示用于设置属性的选项。 4531 4532**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。 4533 4534| 名称 | 类型 | 必填 | 说明 | 4535| ---------- | ---------------------- | ----- | -------------- | 4536| properties | {[key: string]: Object} | 否 | 属性对象。 | 4537| parameters | {[key: string]: Object} | 否 | 自定义参数对象。 | 4538 4539## Constants<sup>8+</sup> 4540 4541表示常量的枚举。 4542 4543**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。 4544 4545| 名称 | 值 | 说明 | 4546| -------------------------------- | ---------------------- | ----------------------- | 4547| ACTION_ADD_ACCOUNT_IMPLICITLY<sup>(deprecated)</sup> | "addAccountImplicitly" | 表示操作,隐式添加帐号。 | 4548| ACTION_AUTHENTICATE<sup>(deprecated)</sup> | "authenticate" | 表示操作,鉴权。 | 4549| ACTION_CREATE_ACCOUNT_IMPLICITLY<sup>9+</sup> | "createAccountImplicitly" | 表示操作,隐式创建帐号。 | 4550| ACTION_AUTH<sup>9+</sup> | "auth" | 表示操作,鉴权。 | 4551| ACTION_VERIFY_CREDENTIAL<sup>9+</sup> | "verifyCredential" | 表示操作,验证凭据。 | 4552| ACTION_SET_AUTHENTICATOR_PROPERTIES<sup>9+</sup> | "setAuthenticatorProperties" | 表示操作,设置认证器属性。 | 4553| KEY_NAME | "name" | 表示键名,应用帐号的名称。 | 4554| KEY_OWNER | "owner" | 表示键名,应用帐号所有者。| 4555| KEY_TOKEN | "token" | 表示键名,令牌。 | 4556| KEY_ACTION | "action" | 表示键名,操作。 | 4557| KEY_AUTH_TYPE | "authType" | 表示键名,鉴权类型。 | 4558| KEY_SESSION_ID | "sessionId" | 表示键名,会话标识。 | 4559| KEY_CALLER_PID | "callerPid" | 表示键名,调用方PID。 | 4560| KEY_CALLER_UID | "callerUid" | 表示键名,调用方UID。 | 4561| KEY_CALLER_BUNDLE_NAME | "callerBundleName" | 表示键名,调用方包名。 | 4562| KEY_REQUIRED_LABELS<sup>9+</sup> | "requiredLabels" | 表示键名,必需的标签。 | 4563| KEY_BOOLEAN_RESULT<sup>9+</sup> | "booleanResult" | 表示键名,布尔返回值。 | 4564 4565## ResultCode<sup>(deprecated)</sup> 4566 4567表示返回码的枚举。 4568 4569> **说明:**<br/> 4570> 从API version 8开始支持,从API version 9开始废弃。相关信息建议查看[错误码文档](../errorcodes/errorcode-account.md)替代。 4571 4572**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。 4573 4574| 名称 | 值 | 说明 | 4575| ----------------------------------- | ----- | ------------ | 4576| SUCCESS | 0 | 表示操作成功。 | 4577| ERROR_ACCOUNT_NOT_EXIST | 10001 | 表示应用帐号不存在。 | 4578| ERROR_APP_ACCOUNT_SERVICE_EXCEPTION | 10002 | 表示应用帐号服务异常。 | 4579| ERROR_INVALID_PASSWORD | 10003 | 表示密码无效。 | 4580| ERROR_INVALID_REQUEST | 10004 | 表示请求无效。 | 4581| ERROR_INVALID_RESPONSE | 10005 | 表示响应无效。 | 4582| ERROR_NETWORK_EXCEPTION | 10006 | 表示网络异常。 | 4583| ERROR_OAUTH_AUTHENTICATOR_NOT_EXIST | 10007 | 表示认证器不存在。 | 4584| ERROR_OAUTH_CANCELED | 10008 | 表示鉴权取消。 | 4585| ERROR_OAUTH_LIST_TOO_LARGE | 10009 | 表示开放授权列表过大。 | 4586| ERROR_OAUTH_SERVICE_BUSY | 10010 | 表示开放授权服务忙碌。 | 4587| ERROR_OAUTH_SERVICE_EXCEPTION | 10011 | 表示开放授权服务异常。 | 4588| ERROR_OAUTH_SESSION_NOT_EXIST | 10012 | 表示鉴权会话不存在。 | 4589| ERROR_OAUTH_TIMEOUT | 10013 | 表示鉴权超时。 | 4590| ERROR_OAUTH_TOKEN_NOT_EXIST | 10014 | 表示开放授权令牌不存在。 | 4591| ERROR_OAUTH_TOKEN_TOO_MANY | 10015 | 表示开放授权令牌过多。 | 4592| ERROR_OAUTH_UNSUPPORT_ACTION | 10016 | 表示不支持的鉴权操作。 | 4593| ERROR_OAUTH_UNSUPPORT_AUTH_TYPE | 10017 | 表示不支持的鉴权类型。 | 4594| ERROR_PERMISSION_DENIED | 10018 | 表示权限不足。 | 4595 4596## AuthCallback<sup>9+</sup> 4597 4598认证器回调类。 4599 4600### onResult<sup>9+</sup> 4601 4602onResult: (code: number, result?: AuthResult) => void 4603 4604通知请求结果。 4605 4606**系统能力:** SystemCapability.Account.AppAccount 4607 4608**参数:** 4609 4610| 参数名 | 类型 | 必填 | 说明 | 4611| ------ | -------------------- | ---- | ------ | 4612| code | number | 是 | 鉴权结果码。 | 4613| result | [AuthResult](#authresult9) | 否 | 鉴权结果。 | 4614 4615**示例:** 4616 4617 ```js 4618 let appAccountManager = account_appAccount.createAppAccountManager(); 4619 var sessionId = "1234"; 4620 appAccountManager.getAuthCallback(sessionId).then((callback) => { 4621 var result = { 4622 accountInfo: { 4623 name: "Lisi", 4624 owner: "com.example.accountjsdemo", 4625 }, 4626 tokenInfo: { 4627 token: "xxxxxx", 4628 authType: "getSocialData" 4629 } 4630 }; 4631 callback.onResult(account_appAccount.ResultCode.SUCCESS, result); 4632 }).catch((err) => { 4633 console.log("getAuthCallback err: " + JSON.stringify(err)); 4634 }); 4635 ``` 4636 4637### onRequestRedirected<sup>9+</sup> 4638 4639onRequestRedirected: (request: Want) => void 4640 4641通知请求被跳转。 4642 4643**系统能力:** SystemCapability.Account.AppAccount 4644 4645**参数:** 4646 4647| 参数名 | 类型 | 必填 | 说明 | 4648| ------- | ---- | ---- | ---------- | 4649| request | Want | 是 | 用于跳转的请求信息。 | 4650 4651**示例:** 4652 4653 ```js 4654 class MyAuthenticator extends account_appAccount.Authenticator { 4655 createAccountImplicitly(options, callback) { 4656 callback.onRequestRedirected({ 4657 bundleName: "com.example.accountjsdemo", 4658 abilityName: "com.example.accountjsdemo.LoginAbility", 4659 }); 4660 } 4661 4662 auth(name, authType, options, callback) { 4663 var result = { 4664 accountInfo: { 4665 name: "Lisi", 4666 owner: "com.example.accountjsdemo", 4667 }, 4668 tokenInfo: { 4669 token: "xxxxxx", 4670 authType: "getSocialData" 4671 } 4672 }; 4673 callback.onResult(account_appAccount.ResultCode.SUCCESS, result); 4674 } 4675 } 4676 ``` 4677 4678### onRequestContinued<sup>9+</sup> 4679 4680onRequestContinued?: () => void 4681 4682通知请求被继续处理。 4683 4684**系统能力:** SystemCapability.Account.AppAccount 4685 4686**示例:** 4687 4688 ```js 4689 let appAccountManager = account_appAccount.createAppAccountManager(); 4690 var sessionId = "1234"; 4691 appAccountManager.getAuthCallback(sessionId).then((callback) => { 4692 callback.onRequestContinued(); 4693 }).catch((err) => { 4694 console.log("getAuthCallback err: " + JSON.stringify(err)); 4695 }); 4696 ``` 4697 4698## AuthenticatorCallback<sup>(deprecated)</sup> 4699 4700OAuth认证器回调接口。 4701 4702> **说明:** 4703> 4704> 从 API version 8开始支持,从API version 9开始废弃。建议使用[AuthCallback](#authcallback9)替代。 4705 4706### onResult<sup>8+</sup> 4707 4708onResult: (code: number, result: {[key: string]: any}) => void 4709 4710通知请求结果。 4711 4712**系统能力:** SystemCapability.Account.AppAccount 4713 4714**参数:** 4715 4716| 参数名 | 类型 | 必填 | 说明 | 4717| ------ | -------------------- | ---- | ------ | 4718| code | number | 是 | 鉴权结果码。 | 4719| result | {[key: string]: any} | 是 | 鉴权结果。 | 4720 4721**示例:** 4722 4723 ```js 4724 let appAccountManager = account_appAccount.createAppAccountManager(); 4725 var sessionId = "1234"; 4726 appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => { 4727 var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi", 4728 [account_appAccount.Constants.KEY_OWNER]: "com.example.accountjsdemo", 4729 [account_appAccount.Constants.KEY_AUTH_TYPE]: "getSocialData", 4730 [account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"}; 4731 callback.onResult(account_appAccount.ResultCode.SUCCESS, result); 4732 }).catch((err) => { 4733 console.log("getAuthenticatorCallback err: " + JSON.stringify(err)); 4734 }); 4735 ``` 4736 4737### onRequestRedirected<sup>8+</sup> 4738 4739onRequestRedirected: (request: Want) => void 4740 4741通知请求被跳转。 4742 4743**系统能力:** SystemCapability.Account.AppAccount 4744 4745**参数:** 4746 4747| 参数名 | 类型 | 必填 | 说明 | 4748| ------- | ---- | ---- | ---------- | 4749| request | Want | 是 | 用于跳转的请求信息。 | 4750 4751**示例:** 4752 4753 ```js 4754 class MyAuthenticator extends account_appAccount.Authenticator { 4755 addAccountImplicitly(authType, callerBundleName, options, callback) { 4756 callback.onRequestRedirected({ 4757 bundleName: "com.example.accountjsdemo", 4758 abilityName: "com.example.accountjsdemo.LoginAbility", 4759 }); 4760 } 4761 4762 authenticate(name, authType, callerBundleName, options, callback) { 4763 var result = {[account_appAccount.Constants.KEY_NAME]: name, 4764 [account_appAccount.Constants.KEY_AUTH_TYPE]: authType, 4765 [account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"}; 4766 callback.onResult(account_appAccount.ResultCode.SUCCESS, result); 4767 } 4768 } 4769 ``` 4770 4771### onRequestContinued<sup>9+</sup> 4772 4773onRequestContinued?: () => void 4774 4775通知请求被继续处理。 4776 4777**系统能力:** SystemCapability.Account.AppAccount 4778 4779**示例:** 4780 4781 ```js 4782 let appAccountManager = account_appAccount.createAppAccountManager(); 4783 var sessionId = "1234"; 4784 appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => { 4785 callback.onRequestContinued(); 4786 }).catch((err) => { 4787 console.log("getAuthenticatorCallback err: " + JSON.stringify(err)); 4788 }); 4789 ``` 4790 4791## Authenticator<sup>8+</sup> 4792 4793认证器基类。 4794 4795### createAccountImplicitly<sup>9+</sup> 4796 4797createAccountImplicitly(options: CreateAccountImplicitlyOptions, callback: AuthCallback): void 4798 4799根据指定的帐号所有者隐式地创建应用帐号,并使用callback异步回调返回结果。 4800 4801**系统能力:** SystemCapability.Account.AppAccount 4802 4803**参数:** 4804 4805| 参数名 | 类型 | 必填 | 说明 | 4806| ---------------- | --------------------- | ---- | --------------- | 4807| options | [CreateAccountImplicitlyOptions](#createaccountimplicitlyoptions9) | 是 | 隐式创建帐号的选项。 | 4808| callback | [AuthCallback](#authcallback9) | 是 | 认证器回调对象,用于返回创建结果。 | 4809 4810### addAccountImplicitly<sup>(deprecated)</sup> 4811 4812addAccountImplicitly(authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void 4813 4814根据指定的鉴权类型和可选项,隐式地添加应用帐号,并使用callback异步回调返回结果。 4815 4816> **说明:** 4817> 4818> 从 API version 8开始支持, 从API version 9开始废弃。建议使用[createAccountImplicitly](#createaccountimplicitly9-2)替代。 4819 4820**系统能力:** SystemCapability.Account.AppAccount 4821 4822**参数:** 4823 4824| 参数名 | 类型 | 必填 | 说明 | 4825| ---------------- | --------------------- | ---- | --------------- | 4826| authType | string | 是 | 应用帐号的鉴权类型。 | 4827| callerBundleName | string | 是 | 鉴权请求方的包名。 | 4828| options | {[key: string]: any} | 是 | 鉴权所需要的可选项。 | 4829| callback | [AuthenticatorCallback](#authenticatorcallbackdeprecated) | 是 | 认证器回调,用于返回鉴权结果。 | 4830 4831### auth<sup>9+</sup> 4832 4833auth(name: string, authType: string, options: {[key:string]: Object}, callback: AuthCallback): void 4834 4835对应用帐号进行鉴权以获取授权令牌,并使用callback异步回调返回结果。 4836 4837**系统能力:** SystemCapability.Account.AppAccount 4838 4839**参数:** 4840 4841| 参数名 | 类型 | 必填 | 说明 | 4842| ---------------- | --------------------- | ---- | --------------- | 4843| name | string | 是 | 应用帐号的名称。 | 4844| authType | string | 是 | 应用帐号的鉴权类型。 | 4845| callerBundleName | string | 是 | 鉴权类型。 | 4846| options | {[key: string]: Object} | 是 | 鉴权所需要的可选项。 | 4847| callback | [AuthCallback](#authcallback9) | 是 | 回调对象,用于返回鉴权结果。 | 4848 4849### authenticate<sup>(deprecated)</sup> 4850 4851authenticate(name: string, authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void 4852 4853对应用帐号进行鉴权,获取OAuth令牌,并使用callback异步回调返回结果。 4854 4855> **说明:** 4856> 4857> 从 API version 8开始支持, 从API version 9开始废弃。建议使用[auth](#auth9-2)替代。 4858 4859**系统能力:** SystemCapability.Account.AppAccount 4860 4861**参数:** 4862 4863| 参数名 | 类型 | 必填 | 说明 | 4864| ---------------- | --------------------- | ---- | --------------- | 4865| name | string | 是 | 应用帐号的名称。 | 4866| authType | string | 是 | 应用帐号的鉴权类型。 | 4867| callerBundleName | string | 是 | 鉴权请求方的包名。 | 4868| options | {[key: string]: any} | 是 | 鉴权所需要的可选项。 | 4869| callback | [AuthenticatorCallback](#authenticatorcallbackdeprecated) | 是 | 认证器回调,用于返回鉴权结果。 | 4870 4871### verifyCredential<sup>9+</sup> 4872 4873verifyCredential(name: string, options: VerifyCredentialOptions, callback: AuthCallback): void; 4874 4875验证应用帐号的凭据,并使用callback异步回调返回结果。 4876 4877**系统能力:** SystemCapability.Account.AppAccount 4878 4879**参数:** 4880 4881| 参数名 | 类型 | 必填 | 说明 | 4882| ---------------- | --------------------- | ---- | --------------- | 4883| name | string | 是 | 应用帐号的名称。 | 4884| options | [VerifyCredentialOptions](#verifycredentialoptions9) | 是 | 验证凭据的可选项。 | 4885| callback | [AuthCallback](#authcallback9) | 是 | 认证器回调,用于返回验证结果。 | 4886 4887### setProperties<sup>9+</sup> 4888 4889setProperties(options: SetPropertiesOptions, callback: AuthCallback): void; 4890 4891设置认证器属性,并使用callback异步回调返回结果。 4892 4893**系统能力:** SystemCapability.Account.AppAccount 4894 4895**参数:** 4896 4897| 参数名 | 类型 | 必填 | 说明 | 4898| ---------------- | --------------------- | ---- | --------------- | 4899| options | [SetPropertiesOptions](#setpropertiesoptions9) | 是 | 设置属性的可选项。 | 4900| callback | [AuthCallback](#authcallback9) | 是 | 认证器回调,用于返回设置结果。 | 4901 4902### checkAccountLabels<sup>9+</sup> 4903 4904checkAccountLabels(name: string, labels: Array<string>, callback: AuthCallback): void; 4905 4906检查帐号标签,并使用callback异步回调返回结果。 4907 4908**系统能力:** SystemCapability.Account.AppAccount 4909 4910**参数:** 4911 4912| 参数名 | 类型 | 必填 | 说明 | 4913| ---------------- | --------------------- | ---- | --------------- | 4914| name | string | 是 | 应用帐号的名称。 | 4915| labels | Array<string> | 是 | 标签数组。 | 4916| callback | [AuthCallback](#authcallback9) | 是 | 认证器回调,用于返回检查结果。 | 4917 4918### checkAccountRemovable<sup>9+</sup> 4919 4920checkAccountRemovable(name: string, callback: AuthCallback): void; 4921 4922判断帐号是否可以删除,并使用callback异步回调返回结果。 4923 4924**系统能力:** SystemCapability.Account.AppAccount 4925 4926**参数:** 4927 4928| 参数名 | 类型 | 必填 | 说明 | 4929| ---------------- | --------------------- | ---- | --------------- | 4930| name | string | 是 | 应用帐号的名称。 | 4931| callback | [AuthCallback](#authcallback9) | 是 | 认证器回调,用于返回判断结果。 | 4932 4933### getRemoteObject<sup>9+</sup> 4934 4935getRemoteObject(): rpc.RemoteObject; 4936 4937获取认证器的远程对象,不可以重载实现。 4938 4939**系统能力:** SystemCapability.Account.AppAccount 4940 4941**示例:** 4942 4943 ```js 4944 class MyAuthenticator extends account_appAccount.Authenticator { 4945 addAccountImplicitly(authType, callerBundleName, options, callback) { 4946 callback.onRequestRedirected({ 4947 bundleName: "com.example.accountjsdemo", 4948 abilityName: "com.example.accountjsdemo.LoginAbility", 4949 }); 4950 } 4951 4952 authenticate(name, authType, callerBundleName, options, callback) { 4953 var result = {[account_appAccount.Constants.KEY_NAME]: name, 4954 [account_appAccount.Constants.KEY_AUTH_TYPE]: authType, 4955 [account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"}; 4956 callback.onResult(account_appAccount.ResultCode.SUCCESS, result); 4957 } 4958 4959 verifyCredential(name, options, callback) { 4960 callback.onRequestRedirected({ 4961 bundleName: "com.example.accountjsdemo", 4962 abilityName: "com.example.accountjsdemo.VerifyAbility", 4963 parameters: { 4964 name: name 4965 } 4966 }); 4967 } 4968 4969 setProperties(options, callback) { 4970 callback.onResult(account_appAccount.ResultCode.SUCCESS, {}); 4971 } 4972 4973 checkAccountLabels(name, labels, callback) { 4974 var result = {[account_appAccount.Constants.KEY_BOOLEAN_RESULT]: false}; 4975 callback.onResult(account_appAccount.ResultCode.SUCCESS, result); 4976 } 4977 4978 checkAccountRemovable(name, callback) { 4979 var result = {[account_appAccount.Constants.KEY_BOOLEAN_RESULT]: true}; 4980 callback.onResult(account_appAccount.ResultCode.SUCCESS, result); 4981 } 4982 } 4983 var authenticator = null; 4984 export default { 4985 onConnect(want) { 4986 authenticator = new MyAuthenticator(); 4987 return authenticator.getRemoteObject(); 4988 } 4989 } 4990 ```