• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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&lt;void&gt;): void;
43
44根据帐号名创建应用帐号。使用callback异步回调。
45
46**系统能力:** SystemCapability.Account.AppAccount
47
48**参数:**
49
50| 参数名      | 类型                    | 必填  | 说明               |
51| -------- | ------------------------- | ----- | -------------------- |
52| name     | string                    | 是    | 应用帐号的名称。          |
53| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。当创建成功时,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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当创建成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;void&gt;): void
296
297删除应用帐号。使用callback异步回调。
298
299**系统能力:** SystemCapability.Account.AppAccount
300
301**参数:**
302
303| 参数名      | 类型                        | 必填   | 说明               |
304| -------- | ------------------------- | ---- | ---------------- |
305| name     | string                    | 是    | 应用帐号的名称。      |
306| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。当删除成功时,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&lt;void&gt;
335
336删除应用帐号。使用Promise异步回调。
337
338**系统能力:** SystemCapability.Account.AppAccount
339
340**参数:**
341
342| 参数名  | 类型     | 必填   | 说明          |
343| ---- | ------ | ---- | ----------- |
344| name | string | 是    | 应用帐号的名称。 |
345
346**返回值:**
347
348| 类型                  | 说明                    |
349| :------------------ | :-------------------- |
350| Promise&lt;void&gt; | 无返回结果的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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数,如果设置成功,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;boolean&gt;): void
464
465检查指定应用对特定帐号的数据是否可访问。使用callback异步回调。
466
467**系统能力:** SystemCapability.Account.AppAccount
468
469**参数:**
470
471| 参数名        | 类型                        | 必填   | 说明                                |
472| ---------- | ------------------------- | ---- | --------------------------------- |
473| name       | string                    | 是    | 应用帐号的名称。                           |
474| bundleName | string                    | 是    | 第三方应用的包名。                         |
475| callback   | AsyncCallback&lt;boolean&gt; | 是    | 回调函数。返回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&lt;boolean&gt;
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&lt;boolean&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当开启或禁止成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;boolean&gt;): 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&lt;boolean&gt; | 是    | 回调函数。返回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&lt;boolean&gt;
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&lt;boolean&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当凭据设置成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;string&gt;): void
802
803获取指定应用帐号的凭据。使用callback异步回调。
804
805**系统能力:** SystemCapability.Account.AppAccount
806
807**参数:**
808
809| 参数名            | 类型                          | 必填   | 说明             |
810| -------------- | --------------------------- | ---- | -------------- |
811| name           | string                      | 是    | 应用帐号的名称。        |
812| credentialType | string                      | 是    | 凭据类型。 |
813| callback       | AsyncCallback&lt;string&gt; | 是    | 回调函数。当获取凭据成功时,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&lt;string&gt;
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&lt;string&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当设置自定义数据成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;string&gt;): void
974
975根据指定键名获取特定应用帐号的自定义数据。使用callback异步回调。
976
977**系统能力:** SystemCapability.Account.AppAccount
978
979**参数:**
980
981| 参数名    | 类型                        | 必填  | 说明                     |
982| -------- | --------------------------- | ----- | ------------------------ |
983| name     | string                      | 是    | 应用帐号的名称。           |
984| key      | string                      | 是    | 自定义数据的键名。         |
985| callback | AsyncCallback&lt;string&gt; | 是    | 回调函数。当获取成功时,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&lt;string&gt;
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&lt;string&gt; | 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&lt;Array&lt;AppAccountInfo&gt;&gt;): void
1100
1101获取所有可访问的应用帐号信息。使用callback异步回调。
1102
1103**系统能力:** SystemCapability.Account.AppAccount
1104
1105**参数:**
1106
1107| 参数名      | 类型                                       | 必填   | 说明        |
1108| -------- | ---------------------------------------- | ---- | --------- |
1109| callback | AsyncCallback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 是    | 回调函数。当查询成功时,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&lt;Array&lt;AppAccountInfo&gt;&gt;
1136
1137获取所有可访问的应用帐号信息。使用Promise异步回调。
1138
1139**系统能力:** SystemCapability.Account.AppAccount
1140
1141**返回值:**
1142
1143| 类型                                       | 说明                    |
1144| ---------------------------------------- | --------------------- |
1145| Promise&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 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&lt;Array&lt;AppAccountInfo&gt;&gt;): void
1170
1171根据应用帐号所有者获取调用方可访问的应用帐号列表。使用callback异步回调。
1172
1173**系统能力:** SystemCapability.Account.AppAccount
1174
1175**参数:**
1176
1177| 参数名      | 类型                                       | 必填   | 说明        |
1178| -------- | ---------------------------------------- | ---- | --------- |
1179| owner    | string                                   | 是    | 应用帐号所有者的包名。    |
1180| callback | AsyncCallback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 是    | 回调函数。如果获取成功,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&lt;Array&lt;AppAccountInfo&gt;&gt;
1209
1210根据应用帐号所有者获取调用方可访问的应用帐号列表。使用Promise异步回调。
1211
1212**系统能力:** SystemCapability.Account.AppAccount
1213
1214**参数:**
1215
1216| 参数名   | 类型     | 必填   | 说明     |
1217| ----- | ------ | ---- | ------ |
1218| owner | string | 是    | 应用帐号所有者的包名。 |
1219
1220**返回值:**
1221
1222| 类型                                       | 说明                    |
1223| ---------------------------------------- | --------------------- |
1224| Promise&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 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&lt;string&gt;, callback: Callback&lt;Array&lt;AppAccountInfo&gt;&gt;): void
1251
1252订阅指定应用的帐号信息变更事件。
1253
1254**系统能力:** SystemCapability.Account.AppAccount
1255
1256**参数:**
1257
1258| 参数名      | 类型                                       | 必填   | 说明                             |
1259| -------- | ---------------------------------------- | ---- | ------------------------------ |
1260| type     | 'accountChange'                          | 是    | 事件回调类型,支持的事件为'accountChange',当目标应用更新帐号信息时,触发该事件。 |
1261| owners   | Array&lt;string&gt;                      | 是    | 应用帐号所有者的包名列表。                      |
1262| callback | Callback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 是    | 回调函数,返回信息发生变更的应用帐号列表。           |
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&lt;Array&lt;AppAccountInfo&gt;&gt;): void
1289
1290取消订阅帐号信息变更事件。
1291
1292**系统能力:** SystemCapability.Account.AppAccount
1293
1294**参数:**
1295
1296| 参数名      | 类型                               | 必填   | 说明           |
1297| -------- | -------------------------------- | ---- | ------------ |
1298| type     | 'accountChange'                         | 是    | 事件回调类型,支持的事件为'accountChange',当帐号所有者更新帐号信息时,触发该事件。    |
1299| callback | Callback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 否    | 回调函数,返回信息发生变更的应用帐号列表。 |
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&lt;string&gt;): 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&lt;string&gt; | 是    | 回调函数。当获取成功时,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&lt;string&gt;
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&lt;string&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当设置成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当删除成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当设置成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;boolean&gt;): 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&lt;boolean&gt; | 是    | 回调函数。当检查成功时,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&lt;boolean&gt;
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&lt;boolean&gt; | 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&lt;Array&lt;AuthTokenInfo&gt;&gt;): void
1904
1905获取指定帐号对调用方可见的所有授权令牌。使用callback异步回调。
1906
1907**系统能力:** SystemCapability.Account.AppAccount
1908
1909**参数:**
1910
1911| 参数名      | 类型                                       | 必填   | 说明          |
1912| -------- | ---------------------------------------- | ---- | ----------- |
1913| name     | string                                   | 是    | 应用帐号的名称。    |
1914| owner    | string                                   | 是    | 应用帐号所有者的包名。 |
1915| callback | AsyncCallback&lt;Array&lt;[AuthTokenInfo](#authtokeninfo9)&gt;&gt; | 是    | 回调函数。当获取成功时,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&lt;Array&lt;AuthTokenInfo&gt;&gt;
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&lt;Array&lt;[AuthTokenInfo](#authtokeninfo9)&gt;&gt; | 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&lt;Array&lt;string&gt;&gt;): 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&lt;Array&lt;string&gt;&gt; | 是    | 回调函数。当获取成功时,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&lt;Array&lt;string&gt;&gt;
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&lt;Array&lt;string&gt;&gt; | 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&lt;AuthCallback&gt;): void
2072
2073获取鉴权会话的认证器回调对象。使用callback异步回调。
2074
2075**系统能力:** SystemCapability.Account.AppAccount
2076
2077**参数:**
2078
2079| 参数名       | 类型                                       | 必填   | 说明       |
2080| --------- | ---------------------------------------- | ---- | -------- |
2081| sessionId | string                                   | 是    | 鉴权会话的标识。 |
2082| callback  | AsyncCallback&lt;[AuthCallback](#authcallback9)&gt; | 是    | 回调函数。当获取成功时,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&lt;AuthCallback&gt;
2128
2129获取鉴权会话的认证器回调对象。使用Promise异步回调。
2130
2131**系统能力:** SystemCapability.Account.AppAccount
2132
2133**参数:**
2134
2135| 参数名       | 类型     | 必填   | 说明       |
2136| --------- | ------ | ---- | -------- |
2137| sessionId | string | 是    | 鉴权会话的标识。 |
2138
2139**返回值:**
2140
2141| 类型                                   | 说明                    |
2142| ------------------------------------ | --------------------- |
2143| Promise&lt;[AuthCallback](#authcallback9)&gt; | 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&lt;AuthenticatorInfo&gt;): void
2187
2188获取指定应用的认证器信息。使用callback异步回调。
2189
2190**系统能力:** SystemCapability.Account.AppAccount
2191
2192**参数:**
2193
2194| 参数名      | 类型                                     | 必填   | 说明          |
2195| -------- | -------------------------------------- | ---- | ----------- |
2196| owner    | string                                 | 是    | 应用包名。 |
2197| callback | AsyncCallback&lt;[AuthenticatorInfo](#authenticatorinfo8)&gt; | 是    | 回调函数。当获取成功时,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&lt;AuthenticatorInfo&gt;
2226
2227获取指定应用的认证器信息。使用Promise异步回调。
2228
2229**系统能力:** SystemCapability.Account.AppAccount
2230
2231**参数:**
2232
2233| 参数名   | 类型     | 必填   | 说明          |
2234| ----- | ------ | ---- | ----------- |
2235| owner | string | 是    | 应用包名。 |
2236
2237**返回值:**
2238
2239| 类型                               | 说明                    |
2240| -------------------------------- | --------------------- |
2241| Promise&lt;[AuthenticatorInfo](#authenticatorinfo8)&gt; | 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&lt;string&gt;, callback: AsyncCallback&lt;boolean&gt;): void;
2268
2269检查指定应用帐号是否满足特定的标签集合。使用callback异步回调。该方法依赖目标应用的认证器提供标签检查的能力。
2270
2271**系统能力:** SystemCapability.Account.AppAccount
2272
2273**参数:**
2274
2275| 参数名         | 类型                       | 必填  | 说明             |
2276| -------------- | ------------------------- | ----- | --------------- |
2277| name           | string                    | 是    | 应用帐号的名称。  |
2278| owner          | string                    | 是    | 应用帐号的所有者。|
2279| labels         | Array&lt;string&gt;       | 是    | 标签数组。       |
2280| callback       | AsyncCallback&lt;boolean&gt; | 是    | 回调函数。当检查成功时,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&lt;string&gt;): Promise&lt;boolean&gt;
2313
2314检查指定应用帐号是否满足特定的标签集合。使用Promise异步回调。该方法依赖目标应用的认证器提供标签检查的能力。
2315
2316**系统能力:** SystemCapability.Account.AppAccount
2317
2318**参数:**
2319
2320| 参数名         | 类型                       | 必填  | 说明             |
2321| -------------- | ------------------------- | ----- | --------------- |
2322| name           | string                    | 是    | 应用帐号的名称。  |
2323| owner          | string                    | 是    | 应用帐号的所有者。|
2324| labels         | Array&lt;string&gt;       | 是    | 标签数组。       |
2325
2326**返回值:**
2327
2328| 类型                | 说明                              |
2329| ------------------- | -------------------------------- |
2330| Promise&lt;boolean&gt; | 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&lt;void&gt;): void
2361
2362删除指定应用帐号的特定类型的凭据信息。使用callback异步回调。
2363
2364**系统能力:** SystemCapability.Account.AppAccount
2365
2366**参数:**
2367
2368| 参数名         | 类型                       | 必填  | 说明            |
2369| -------------- | ------------------------- | ----- | -------------- |
2370| name           | string                    | 是    | 应用帐号的名称。 |
2371| credentialType | string                    | 是    | 凭据类型。      |
2372| callback       | AsyncCallback&lt;void&gt; | 是    | 回调函数。当删除成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;Array&lt;AppAccountInfo&gt;&gt;): void
2446
2447根据选项选择调用方可访问的帐号列表。使用callback异步回调。如果选项中包含标签约束,则该方法依赖目标应用的认证器提供标签检查的能力。
2448
2449**系统能力:** SystemCapability.Account.AppAccount
2450
2451**参数:**
2452
2453| 参数名         | 类型                                 | 必填  | 说明             |
2454| -------------- | ----------------------------------- | ----- | --------------- |
2455| options        | SelectAccountsOptions               | 是    | 选择帐号的选项。  |
2456| callback       | AsyncCallback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 是    | 回调函数。当根据选项选择请求方可访问的帐号列表时,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&lt;Array&lt;AppAccountInfo&gt;&gt;
2490
2491根据选项选择调用方可访问的帐号列表。使用Promise异步回调。如果选项中包含标签约束,则该方法依赖目标应用的认证器提供标签检查的能力。
2492
2493**系统能力:** SystemCapability.Account.AppAccount
2494
2495**参数:**
2496
2497| 参数名         | 类型                       | 必填  | 说明             |
2498| -------------- | ------------------------- | ----- | --------------- |
2499| options        | [SelectAccountsOptions](#selectaccountsoptions9)     | 是    | 选择帐号的选项。  |
2500
2501**返回值:**
2502
2503| 类型                | 说明                              |
2504| ------------------- | -------------------------------- |
2505| Promise&lt;[AppAccountInfo](#appaccountinfo)&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当创建成功时,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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当创建成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当删除成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当禁止指定第三方应用帐号名称对指定包名称的第三方应用进行访问设置成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当允许指定第三方应用帐号名称对指定包名称的第三方应用进行访问设置成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;boolean&gt;): 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&lt;boolean&gt; | 是    | 回调函数。返回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&lt;boolean&gt;
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&lt;boolean&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当设置此应用程序帐号的凭据成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当设置成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当开启或禁止成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当设置与此应用帐号关联的数据成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;Array&lt;AppAccountInfo&gt;&gt;): void
3378
3379获取所有可访问的应用帐号信息。使用callback异步回调。
3380
3381> **说明:**
3382>
3383> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getAllAccounts](#getallaccounts9)替代。
3384
3385**需要权限:** ohos.permission.GET_ALL_APP_ACCOUNTS3386
3387**系统能力:** SystemCapability.Account.AppAccount
3388
3389**参数:**
3390
3391| 参数名      | 类型                                       | 必填   | 说明        |
3392| -------- | ---------------------------------------- | ---- | --------- |
3393| callback | AsyncCallback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 是    | 回调函数。当查询成功时,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&lt;Array&lt;AppAccountInfo&gt;&gt;
3407
3408获取所有可访问的应用帐号信息。使用Promise异步回调。
3409
3410> **说明:**
3411>
3412> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getAllAccounts](#getallaccounts9-1)替代。
3413
3414**需要权限:** ohos.permission.GET_ALL_APP_ACCOUNTS3415
3416**系统能力:** SystemCapability.Account.AppAccount
3417
3418**返回值:**
3419
3420| 类型                                       | 说明                    |
3421| ---------------------------------------- | --------------------- |
3422| Promise&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 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&lt;Array&lt;AppAccountInfo&gt;&gt;): void
3437
3438根据应用帐号所有者获取调用方可访问的应用帐号列表。使用callback异步回调。
3439
3440> **说明:**
3441>
3442> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getAccountsByOwner](#getaccountsbyowner9)替代。
3443
3444**需要权限:** ohos.permission.GET_ALL_APP_ACCOUNTS3445
3446**系统能力:** SystemCapability.Account.AppAccount
3447
3448**参数:**
3449
3450| 参数名      | 类型                                       | 必填   | 说明        |
3451| -------- | ---------------------------------------- | ---- | --------- |
3452| owner    | string                                   | 是    | 应用帐号所有者的包名。    |
3453| callback | AsyncCallback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 是    | 应用帐号信息列表。 |
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&lt;Array&lt;AppAccountInfo&gt;&gt;
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&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 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&lt;string&gt;): 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&lt;string&gt; | 是    | 回调函数。当获取凭据成功时,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&lt;string&gt;
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&lt;string&gt; | 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&lt;string&gt;): 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&lt;string&gt; | 是    | 回调函数。当获取此应用帐号的额外信息成功时,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&lt;string&gt;
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&lt;string&gt; | 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&lt;string&gt;): 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&lt;string&gt; | 是    | 回调函数。当获取成功时,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&lt;string&gt;
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&lt;string&gt; | 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&lt;string&gt;, callback: Callback&lt;Array&lt;AppAccountInfo&gt;&gt;): 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&lt;string&gt;                      | 是    | 应用帐号所有者的包名列表。                      |
3710| callback | Callback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 是    | 回调函数,返回信息发生变更的应用帐号列表。           |
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&lt;Array&lt;AppAccountInfo&gt;&gt;): 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&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 否    | 回调函数,返回信息发生变更的应用帐号列表。 |
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&lt;string&gt;): 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&lt;string&gt; | 是    | 回调函数。当获取成功时,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&lt;string&gt;
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&lt;string&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当设置成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当删除成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;void&gt;): 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&lt;void&gt; | 是    | 回调函数。当设置成功时,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&lt;void&gt;
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&lt;void&gt; | 无返回结果的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&lt;boolean&gt;): 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&lt;boolean&gt; | 是    | 回调函数。当检查成功时,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&lt;boolean&gt;
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&lt;boolean&gt; | 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&lt;Array&lt;OAuthTokenInfo&gt;&gt;): 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&lt;Array&lt;[OAuthTokenInfo](#oauthtokeninfodeprecated)&gt;&gt; | 是    | 回调函数。当获取成功时,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&lt;Array&lt;OAuthTokenInfo&gt;&gt;
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&lt;Array&lt; [OAuthTokenInfo](#oauthtokeninfodeprecated)&gt;&gt; | 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&lt;Array&lt;string&gt;&gt;): 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&lt;Array&lt;string&gt;&gt; | 是    | 回调函数。当获取成功时,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&lt;Array&lt;string&gt;&gt;
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&lt;Array&lt;string&gt;&gt; | 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&lt;AuthenticatorCallback&gt;): 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&lt;[AuthenticatorCallback](#authenticatorcallbackdeprecated)&gt; | 是    | 回调函数。当获取鉴权会话的认证器回调函数成功时,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&lt;AuthenticatorCallback&gt;
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&lt;[AuthenticatorCallback](#authenticatorcallbackdeprecated)&gt; | 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&lt;AuthenticatorInfo&gt;): 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&lt;[AuthenticatorInfo](#authenticatorinfo8)&gt; | 是    | 回调函数。当获取成功时,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&lt;AuthenticatorInfo&gt;
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&lt;[AuthenticatorInfo](#authenticatorinfo8)&gt; | 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.AppAccount4425
4426| 名称   | 类型     | 必填   | 说明          |
4427| ----- | ------ | ---- | ----------- |
4428| owner | string | 是    | 应用帐号所有者的包名。 |
4429| name  | string | 是    | 应用帐号的名称。    |
4430
4431## AuthTokenInfo<sup>9+</sup>
4432
4433表示Auth令牌信息。
4434
4435**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount4436
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.AppAccount4452
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.AppAccount4464
4465| 名称     | 类型     | 必填   | 说明         |
4466| ------- | ------ | ---- | ---------- |
4467| owner   | string | 是    | 认证器的所有者包名。 |
4468| iconId  | number | 是    | 认证器的图标标识。  |
4469| labelId | number | 是    | 认证器的标签标识。  |
4470
4471## AuthResult<sup>9+</sup>
4472
4473表示认证结果信息。
4474
4475**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount4476
4477| 名称     | 类型     | 必填   | 说明         |
4478| ------- | ------ | ---- | ---------- |
4479| account   | [AppAccountInfo](#appaccountinfo) | 否    | 令牌所属的帐号信息。 |
4480| tokenInfo  | [AuthTokenInfo](#authtokeninfo9) | 否    | 令牌信息。  |
4481
4482## CreateAccountOptions<sup>9+</sup>
4483
4484表示创建帐号的选项。
4485
4486**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount4487
4488| 名称     | 类型     | 必填   | 说明         |
4489| ------- | ------ | ---- | ---------- |
4490| customData   | {[key: string]: string} | 否    | 自定义数据。 |
4491
4492## CreateAccountImplicitlyOptions<sup>9+</sup>
4493
4494表示隐式创建帐号的选项。
4495
4496**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount4497
4498| 名称     | 类型     | 必填   | 说明         |
4499| ------- | ------ | ---- | ---------- |
4500| requiredLabels   | Array&lt;string&gt; | 否    | 必须的标签。 |
4501| authType   | string | 否    | 鉴权类型。 |
4502| parameters   | {[key: string]: Object} | 否    | 自定义参数对象。 |
4503## SelectAccountsOptions<sup>9+</sup>
4504
4505表示用于选择帐号的选项。
4506
4507**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount4508
4509| 名称          | 类型                         | 必填  | 说明                |
4510| --------------- | --------------------------- | ----- | ------------------- |
4511| allowedAccounts | Array&lt;[AppAccountInfo](#appaccountinfo)&gt; | 否    | 允许的帐号数组。      |
4512| allowedOwners   | Array&lt;string&gt;         | 否    | 允许的帐号所有者数组。 |
4513| requiredLabels  | Array&lt;string&gt;         | 否    | 认证器的标签标识。    |
4514
4515## VerifyCredentialOptions<sup>9+</sup>
4516
4517表示用于验证凭据的选项。
4518
4519**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount4520
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.AppAccount4533
4534| 名称     | 类型                    | 必填  | 说明           |
4535| ---------- | ---------------------- | ----- | -------------- |
4536| properties | {[key: string]: Object} | 否    | 属性对象。      |
4537| parameters | {[key: string]: Object} | 否    | 自定义参数对象。 |
4538
4539## Constants<sup>8+</sup>
4540
4541表示常量的枚举。
4542
4543**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount4544
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.AppAccount4573
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) =&gt; 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) =&gt; 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?: () =&gt; 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}) =&gt; 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) =&gt; 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?: () =&gt; 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&lt;string&gt;, callback: AuthCallback): void;
4905
4906检查帐号标签,并使用callback异步回调返回结果。
4907
4908**系统能力:** SystemCapability.Account.AppAccount
4909
4910**参数:**
4911
4912| 参数名              | 类型                    | 必填   | 说明              |
4913| ---------------- | --------------------- | ---- | --------------- |
4914| name      | string                | 是    | 应用帐号的名称。              |
4915| labels    | Array&lt;string&gt;          | 是    | 标签数组。                   |
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  ```