js-apis-appAccount.md 173.8 KB
Newer Older
1
# @ohos.account.appAccount (应用帐号管理)
Z
zhaoyuan17 已提交
2

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

5
> **说明:**
A
Annie_wang 已提交
6
> 
Z
zhaoyuan17 已提交
7 8 9 10 11
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。


## 导入模块

Z
zhangalong 已提交
12
```js
Z
zhaoyuan17 已提交
13 14 15 16 17 18
import account_appAccount from '@ohos.account.appAccount';
```


## account_appAccount.createAppAccountManager

Z
zengyawen 已提交
19
createAppAccountManager(): AppAccountManager
Z
zhaoyuan17 已提交
20

J
jidong 已提交
21
创建应用帐号管理器对象。
Z
zhaoyuan17 已提交
22

Z
zengyawen 已提交
23 24 25
**系统能力:** SystemCapability.Account.AppAccount

**返回值:**
26

H
HelloCrease 已提交
27 28
| 类型                | 说明           |
| ----------------- | ------------ |
J
jidong 已提交
29
| AppAccountManager | 应用帐号管理器对象。 |
Z
zhaoyuan17 已提交
30

Z
zengyawen 已提交
31
**示例:**
Z
zhangalong 已提交
32
  ```js
J
jidong 已提交
33
  let appAccountManager = account_appAccount.createAppAccountManager();
Z
zhaoyuan17 已提交
34 35 36 37
  ```

## AppAccountManager

J
jidong 已提交
38
应用帐号管理器类。
Z
zhaoyuan17 已提交
39

40 41 42 43
### createAccount<sup>9+</sup>

createAccount(name: string, callback: AsyncCallback&lt;void&gt;): void;

J
jidong 已提交
44
根据帐号名创建应用帐号。使用callback异步回调。
45 46 47 48 49

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

J
jidong 已提交
50 51 52 53
| 参数名      | 类型                    | 必填  | 说明               |
| -------- | ------------------------- | ----- | -------------------- |
| name     | string                    | 是    | 应用帐号的名称。          |
| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。当创建成功时,err为null,否则为错误对象。 |
L
libing23 已提交
54 55 56

**错误码:**

J
jidong 已提交
57 58 59 60 61 62
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name. |
| 12300004 | Account already exists. |
| 12300007 | The number of accounts reaches the upper limit. |
63 64 65 66 67

**示例:**

  ```js
  try {
J
jidong 已提交
68 69 70
    appAccountManager.createAccount("WangWu", (err) => { 
        console.log("createAccount err: " + JSON.stringify(err));
    });
71
  } catch (err) {
J
jidong 已提交
72
    console.log("createAccount err: " + JSON.stringify(err));
73 74 75 76 77
  }
  ```

### createAccount<sup>9+</sup>

L
libing23 已提交
78
createAccount(name: string, options: CreateAccountOptions, callback: AsyncCallback&lt;void&gt;): void
79

J
jidong 已提交
80
根据帐号名和可选项创建应用帐号。使用callback异步回调。
81 82 83 84 85 86 87

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名       | 类型                        | 必填   | 说明                                       |
| --------- | ------------------------- | ---- | ---------------------------------------- |
J
jidong 已提交
88 89 90
| name      | string                    | 是    | 应用帐号的名称。                              |
| options | [CreateAccountOptions](#createaccountoptions9) | 是    | 创建应用帐号的选项,可提供自定义数据,但不建议包含敏感数据(如密码、Token等)。 |
| callback  | AsyncCallback&lt;void&gt; | 是    | 回调函数。当创建成功时,err为null,否则为错误对象。             |
L
libing23 已提交
91 92 93

**错误码:**

J
jidong 已提交
94 95 96 97 98 99
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name or options. |
| 12300004 | Account already exists. |
| 12300007 | The number of accounts reaches the upper limit. |
100 101 102 103

**示例:**

  ```js
J
jidong 已提交
104 105 106 107 108
  let options = {
    customData: {
      "age": "10"
    }
  }
109
  try {
J
jidong 已提交
110 111 112 113 114
    appAccountManager.createAccount("LiSi", options, (err) => {
      if (err) {
        console.log("createAccount failed, error: " + JSON.stringify(err));
      } else {
        console.log("createAccount successfully");
L
libing23 已提交
115
      }
J
jidong 已提交
116 117 118
    });
  } catch(err) {
    console.log("createAccount exception: " + JSON.stringify(err));
119 120 121 122 123
  }
  ```

### createAccount<sup>9+</sup>

J
jidong 已提交
124
createAccount(name: string, options?: CreateAccountOptions): Promise&lt;void&gt;
125

J
jidong 已提交
126
根据帐号名和可选项创建应用帐号。使用Promise异步回调。
127 128 129 130 131 132 133

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名       | 类型     | 必填   | 说明                                       |
| --------- | ------ | ---- | ---------------------------------------- |
J
jidong 已提交
134 135
| name      | string | 是    | 应用帐号的名称。                              |
| options | [CreateAccountOptions](#createaccountoptions9) | 否    | 创建应用帐号的选项,可提供自定义数据,但不建议包含敏感数据(如密码、Token等)。不填无影响。 |
136 137 138 139 140

**返回值:**

| 类型                  | 说明                    |
| ------------------- | --------------------- |
A
Annie_wang 已提交
141
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
142 143 144

**错误码:**

J
jidong 已提交
145 146 147 148 149 150
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or options. |
| 12300004 | Account already exists. |
| 12300007 | The number of accounts reaches the upper limit. |
151 152 153 154

**示例:**

  ```js
J
jidong 已提交
155 156 157 158 159
  let options = {
    customData: {
      "age": "10"
    }
  }
160
  try {
J
jidong 已提交
161 162 163 164 165 166 167
    appAccountManager.createAccount("LiSi", options).then(() => {
      console.log("createAccount successfully");
    }).catch((err) => {
      console.log("createAccount failed, error: " + JSON.stringify(err));
    });
  } catch(err) {
    console.log("createAccount exception: " + JSON.stringify(err));
168 169 170 171 172 173 174
  }
  ```

### createAccountImplicitly<sup>9+</sup>

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

J
jidong 已提交
175
根据指定的帐号所有者隐式地创建应用帐号。使用callback异步回调。
176 177 178 179 180

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

J
jidong 已提交
181
| 参数名      | 类型                | 必填   | 说明                      |
182
| -------- | --------------------- | ---- | ----------------------- |
J
jidong 已提交
183 184
| owner    | string                | 是    | 应用帐号所有者的包名。          |
| callback | [AuthCallback](#authcallback9) | 是    | 认证器回调对象,返回创建结果。 |
185

L
libing23 已提交
186 187
**错误码:**

J
jidong 已提交
188 189 190 191 192 193 194 195
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid owner. |
| 12300007 | The number of accounts reaches the upper limit. |
| 12300010 | Account service busy. |
| 12300113 | Authenticator service not found. |
| 12300114 | Authenticator service exception. |
L
libing23 已提交
196

197 198 199 200
**示例:**

  ```js
  function onResultCallback(code, result) {
J
jidong 已提交
201 202
    console.log("resultCode: "  + code);
    console.log("result: "  + JSON.stringify(result));
203 204 205
  }

  function onRequestRedirectedCallback(request) {
L
liushuling 已提交
206 207 208 209 210 211 212 213 214
    let wantInfo = {
      deviceId: '',
      bundleName: 'com.example.accountjsdemo',
      action: 'ohos.want.action.viewData',
      entities: ['entity.system.default'],
    }
    this.context.startAbility(wantInfo).then(() => {
      console.log("startAbility successfully");
    }).catch((err) => {
J
jidong 已提交
215
      console.log("startAbility err: " + JSON.stringify(err));
L
liushuling 已提交
216
    })
217 218 219
  }

  try {  
J
jidong 已提交
220 221 222 223
    appAccountManager.createAccountImplicitly("com.example.accountjsdemo", {
      onResult: onResultCallback,
      onRequestRedirected: onRequestRedirectedCallback
    });
224
  } catch (err) {
J
jidong 已提交
225
    console.log("createAccountImplicitly exception: " + JSON.stringify(err));
226 227 228 229 230 231 232
  }
  ```

### createAccountImplicitly<sup>9+</sup>

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

J
jidong 已提交
233
根据指定的帐号所有者和可选项隐式地创建应用帐号。使用callback异步回调。
234 235 236 237 238 239 240

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名      | 类型                    | 必填   | 说明                      |
| -------- | --------------------- | ---- | ----------------------- |
J
jidong 已提交
241
| owner    | string                | 是    | 应用帐号所有者的包名。          |
242
| options    | [CreateAccountImplicitlyOptions](#createaccountimplicitlyoptions9)   | 是    | 隐式创建帐号的选项。          |
J
jidong 已提交
243
| callback | [AuthCallback](#authcallback9) | 是    | 认证器回调对象,返回创建结果。         |
244

L
libing23 已提交
245 246
**错误码:**

J
jidong 已提交
247 248 249
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
C
chennian 已提交
250
| 12300002 | Invalid owner or options. |
J
jidong 已提交
251 252 253 254
| 12300007 | The number of accounts reaches the upper limit. |
| 12300010 | Account service busy. |
| 12300113 | Authenticator service not found. |
| 12300114 | Authenticator service exception. |
L
libing23 已提交
255

256 257 258 259
**示例:**

  ```js
  function onResultCallback(code, result) {
J
jidong 已提交
260 261
    console.log("resultCode: "  + code);
    console.log("result: "  + JSON.stringify(result));
262 263 264
  }

  function onRequestRedirectedCallback(request) {
L
liushuling 已提交
265 266 267 268 269 270 271 272 273
    let wantInfo = {
      deviceId: '',
      bundleName: 'com.example.accountjsdemo',
      action: 'ohos.want.action.viewData',
      entities: ['entity.system.default'],
    }
    this.context.startAbility(wantInfo).then(() => {
      console.log("startAbility successfully");
    }).catch((err) => {
J
jidong 已提交
274
      console.log("startAbility err: " + JSON.stringify(err));
L
liushuling 已提交
275
    })
276 277
  }

J
jidong 已提交
278 279 280 281
  let options = {
    authType: "getSocialData",
    requiredLabels: [ "student" ]
  };
282
  try {
J
jidong 已提交
283 284 285
    appAccountManager.createAccountImplicitly("com.example.accountjsdemo", options, {
      onResult: onResultCallback,
      onRequestRedirected: onRequestRedirectedCallback
286 287
    });
  } catch (err) {
J
jidong 已提交
288
    console.log("createAccountImplicitly exception: " + JSON.stringify(err));
289 290 291 292 293 294 295
  }
  ```

### removeAccount<sup>9+</sup>

removeAccount(name: string, callback: AsyncCallback&lt;void&gt;): void

J
jidong 已提交
296
删除应用帐号。使用callback异步回调。
297 298 299 300 301 302 303

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名      | 类型                        | 必填   | 说明               |
| -------- | ------------------------- | ---- | ---------------- |
J
jidong 已提交
304 305
| name     | string                    | 是    | 应用帐号的名称。      |
| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。当删除成功时,err为null,否则为错误对象。 |
L
libing23 已提交
306 307 308

**错误码:**

J
jidong 已提交
309 310 311 312 313
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name. |
| 12300003 | Account not found. |
314 315 316 317 318

**示例:**

  ```js
  try {
J
jidong 已提交
319 320 321 322 323 324
    appAccountManager.removeAccount("ZhaoLiu", (err) => {
      if (err) {
        console.log("removeAccount failed, error: " + JSON.stringify(err));
      } else {
        console.log("removeAccount successfully");
      }
325
   });
J
jidong 已提交
326 327
  } catch(err) {
    console.log("removeAccount exception: " + JSON.stringify(err));
328 329 330 331 332
  }
  ```

### removeAccount<sup>9+</sup>

J
jidong 已提交
333
removeAccount(name: string): Promise&lt;void&gt;
334

J
jidong 已提交
335
删除应用帐号。使用Promise异步回调。
336 337 338 339 340 341 342

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名  | 类型     | 必填   | 说明          |
| ---- | ------ | ---- | ----------- |
J
jidong 已提交
343
| name | string | 是    | 应用帐号的名称。 |
344 345 346 347 348

**返回值:**

| 类型                  | 说明                    |
| :------------------ | :-------------------- |
A
Annie_wang 已提交
349
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
350 351 352

**错误码:**

J
jidong 已提交
353 354 355 356 357
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name. |
| 12300003 | Account not found. |
358 359 360 361 362

**示例:**

  ```js
  try {
J
jidong 已提交
363 364 365 366 367
    appAccountManager.removeAccount("Lisi").then(() => {
      console.log("removeAccount successfully");
    }).catch((err) => {
      console.log("removeAccount failed, error: " + JSON.stringify(err));
    });
368
  } catch (err) {
J
jidong 已提交
369
    console.log("removeAccount exception: " + JSON.stringify(err));
370 371 372 373 374 375 376
  }
  ```

### setAppAccess<sup>9+</sup>

setAppAccess(name: string, bundleName: string, isAccessible: boolean, callback: AsyncCallback&lt;void&gt;): void

J
jidong 已提交
377
设置指定应用对特定帐号的访问权限。使用callback异步回调。
378 379 380 381 382

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

J
jidong 已提交
383 384 385 386 387 388
| 参数名        | 类型                      | 必填   | 说明                                |
| ------------ | ------------------------- | ---- | --------------------------------- |
| name         | string                    | 是    | 应用帐号的名称。                           |
| bundleName   | string                    | 是    | 第三方应用的包名。                         |
| isAccessible | boolean                   | 是    | 是否可访问。true表示允许访问,false表示禁止访问。 |
| callback     | AsyncCallback&lt;void&gt; | 是    | 回调函数,如果设置成功,err为null,否则为错误对象。 |
389

L
libing23 已提交
390 391
**错误码:**

J
jidong 已提交
392 393 394 395 396 397
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or bundleName. |
| 12300003 | Account not found. |
| 12400001 | Application not found. |
L
libing23 已提交
398

399 400 401 402
**示例:**

  ```js
  try {
J
jidong 已提交
403 404 405 406 407 408 409
    appAccountManager.setAppAccess("ZhangSan", "com.example.accountjsdemo", true, (err) => {
      if (err) {
        console.log("setAppAccess failed: " + JSON.stringify(err));
      } else {
        console.log("setAppAccess successfully");
      }
    });
410
  } catch (err) {
J
jidong 已提交
411
    console.log("setAppAccess exception: " + JSON.stringify(err));
412 413 414 415 416 417 418
  }
  ```

### setAppAccess<sup>9+</sup>

setAppAccess(name: string, bundleName: string, isAccessible: boolean): Promise&lt;void&gt;

J
jidong 已提交
419
设置指定应用对特定帐号的数据访问权限。使用Promise异步回调。
420 421 422 423 424 425 426

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名        | 类型     | 必填   | 说明        |
| ---------- | ------ | ---- | --------- |
J
jidong 已提交
427
| name       | string | 是    | 应用帐号的名称。   |
428
| bundleName | string | 是    | 第三方应用的包名。 |
J
jidong 已提交
429
| isAccessible | boolean | 是    | 是否可访问。true表示允许访问,false表示禁止访问。 |
430 431 432 433 434

**返回值:**

| 类型                  | 说明                    |
| :------------------ | :-------------------- |
A
Annie_wang 已提交
435
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
436 437 438

**错误码:**

J
jidong 已提交
439 440 441 442 443 444
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or bundleName. |
| 12300003 | Account not found. |
| 12400001 | Application not found. |
445 446 447 448 449

**示例:**

  ```js
  try {
J
jidong 已提交
450 451 452 453 454
    appAccountManager.setAppAccess("ZhangSan", "com.example.accountjsdemo", true).then(() => {
      console.log("setAppAccess successfully");
    }).catch((err) => {
      console.log("setAppAccess failed: " + JSON.stringify(err));
    });
455
  } catch (err) {
J
jidong 已提交
456
    console.log("setAppAccess exception: " + JSON.stringify(err));
457 458 459
  }
  ```

L
libing23 已提交
460
### checkAppAccess<sup>9+</sup>
Z
zhaoyuan17 已提交
461

L
libing23 已提交
462
checkAppAccess(name: string, bundleName: string, callback: AsyncCallback&lt;boolean&gt;): void
Z
zhaoyuan17 已提交
463

J
jidong 已提交
464
检查指定应用对特定帐号的数据是否可访问。使用callback异步回调。
465

Z
zengyawen 已提交
466
**系统能力:** SystemCapability.Account.AppAccount
Z
zhaoyuan17 已提交
467

Z
zengyawen 已提交
468
**参数:**
Z
zhaoyuan17 已提交
469

H
HelloCrease 已提交
470 471
| 参数名        | 类型                        | 必填   | 说明                                |
| ---------- | ------------------------- | ---- | --------------------------------- |
J
jidong 已提交
472
| name       | string                    | 是    | 应用帐号的名称。                           |
H
HelloCrease 已提交
473
| bundleName | string                    | 是    | 第三方应用的包名。                         |
474
| callback   | AsyncCallback&lt;boolean&gt; | 是    | 回调函数。返回true表示指定应用可访问特定帐号的数据;返回false表示不可访问。 |
L
libing23 已提交
475 476 477

**错误码:**

J
jidong 已提交
478 479 480 481 482
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name or bundleName. |
| 12300003 | Account not found. |
Z
zengyawen 已提交
483 484

**示例:**
Z
zhaoyuan17 已提交
485

Z
zhangalong 已提交
486
  ```js
L
libing23 已提交
487
  try {
J
jidong 已提交
488 489 490 491 492 493 494
    appAccountManager.checkAppAccess("ZhangSan", "com.example.accountjsdemo", (err, isAccessible) => {
      if (err) {
        console.log("checkAppAccess failed, error: " + JSON.stringify(err));
      } else {
        console.log("checkAppAccess successfully");
      }
    });
L
libing23 已提交
495
  } catch (err) {
J
jidong 已提交
496
    console.log("checkAppAccess exception: " + JSON.stringify(err));
L
libing23 已提交
497 498
  }
  ```
Z
zhaoyuan17 已提交
499

L
libing23 已提交
500
### checkAppAccess<sup>9+</sup>
Z
zhaoyuan17 已提交
501

J
jidong 已提交
502
checkAppAccess(name: string, bundleName: string): Promise&lt;boolean&gt;
Z
zhaoyuan17 已提交
503

J
jidong 已提交
504
检查指定应用对特定帐号的数据是否可访问。使用Promise异步回调。
505

Z
zengyawen 已提交
506 507 508
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
Z
zhaoyuan17 已提交
509

L
libing23 已提交
510 511
| 参数名        | 类型     | 必填   | 说明        |
| ---------- | ------ | ---- | --------- |
J
jidong 已提交
512
| name       | string | 是    | 应用帐号的名称。   |
L
libing23 已提交
513
| bundleName | string | 是    | 第三方应用的包名。 |
Z
zhaoyuan17 已提交
514

Z
zengyawen 已提交
515
**返回值:**
Z
zhaoyuan17 已提交
516

H
HelloCrease 已提交
517
| 类型                  | 说明                    |
J
jidong 已提交
518
| ------------------- | --------------------- |
A
Annie_wang 已提交
519
| Promise&lt;boolean&gt; | Promise对象。返回true表示指定应用可访问特定帐号的数据;返回false表示不可访问。 |
Z
zhaoyuan17 已提交
520

L
libing23 已提交
521
**错误码:**
Z
zhaoyuan17 已提交
522

J
jidong 已提交
523 524 525 526 527
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or bundleName. |
| 12300003 | Account not found. |
528 529 530 531 532

**示例:**

  ```js
  try {
J
jidong 已提交
533 534 535 536 537
    appAccountManager.checkAppAccess("ZhangSan", "com.example.accountjsdemo").then((isAccessible) => {
      console.log("checkAppAccess successfully, isAccessible: " + isAccessible);
    }).catch((err) => {
      console.log("checkAppAccess failed, error: " + JSON.stringify(err));
    });
538
  } catch (err) {
J
jidong 已提交
539
    console.log("checkAppAccess exception: " + JSON.stringify(err));
540 541 542
  }
  ```

J
jidong 已提交
543
### setDataSyncEnabled<sup>9+</sup>
544

J
jidong 已提交
545
setDataSyncEnabled(name: string, isEnabled: boolean, callback: AsyncCallback&lt;void&gt;): void
546

J
jidong 已提交
547
开启或禁止指定应用帐号的数据同步功能。使用callback异步回调。
548 549 550 551 552 553 554

**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

J
jidong 已提交
555 556 557 558 559
| 参数名      | 类型                        | 必填   | 说明                        |
| -------- | ------------------------- | ---- | ------------------------- |
| name     | string                    | 是    | 应用帐号的名称。                   |
| isEnabled | boolean                   | 是    | 是否开启数据同步。               |
| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。当开启或禁止成功时,err为null,否则为错误对象。 |
L
libing23 已提交
560 561 562

**错误码:**

J
jidong 已提交
563 564 565 566 567
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name. |
| 12300003 | Account not found. |
568 569 570 571 572

**示例:**

  ```js
  try {
J
jidong 已提交
573 574
      appAccountManager.setDataSyncEnabled("ZhangSan", true, (err) => { 
          console.log("setDataSyncEnabled err: " + JSON.stringify(err));
575 576
      });
  } catch (err) {
J
jidong 已提交
577
      console.log("setDataSyncEnabled err: " + JSON.stringify(err));
578 579 580
  }
  ```

J
jidong 已提交
581
### setDataSyncEnabled<sup>9+</sup>
582

J
jidong 已提交
583
setDataSyncEnabled(name: string, isEnabled: boolean): Promise&lt;void&gt;
584

J
jidong 已提交
585
开启或禁止指定应用帐号的数据同步功能。使用Promise异步回调。
586 587 588 589 590 591 592

**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

J
jidong 已提交
593 594 595 596
| 参数名      | 类型      | 必填   | 说明          |
| -------- | ------- | ---- | ----------- |
| name     | string  | 是    | 应用帐号的名称。     |
| isEnabled | boolean | 是    | 是否开启数据同步。 |
597 598 599

**返回值:**

J
jidong 已提交
600 601
| 类型                  | 说明                    |
| :------------------ | :-------------------- |
A
Annie_wang 已提交
602
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
603 604 605

**错误码:**

J
jidong 已提交
606 607 608 609 610
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name. |
| 12300003 | Account not found. |
611 612 613 614 615

**示例:**

  ```js
  try {
J
jidong 已提交
616 617
      appAccountManager .setDataSyncEnabled("ZhangSan", true).then(() => { 
          console.log('setDataSyncEnabled Success');
618
      }).catch((err) => {
J
jidong 已提交
619
          console.log("setDataSyncEnabled err: "  + JSON.stringify(err));
620 621
      });
  } catch (err) {
J
jidong 已提交
622
      console.log("setDataSyncEnabled err: "  + JSON.stringify(err));
623 624 625
  }
  ```

J
jidong 已提交
626
### checkDataSyncEnabled<sup>9+</sup>
627

J
jidong 已提交
628 629 630
checkDataSyncEnabled(name: string, callback: AsyncCallback&lt;boolean&gt;): void

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

J
jidong 已提交
632
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
633 634 635 636 637

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

J
jidong 已提交
638 639 640 641
| 参数名      | 类型                           | 必填   | 说明                    |
| -------- | ---------------------------- | ---- | --------------------- |
| name     | string                       | 是    | 应用帐号的名称。               |
| callback | AsyncCallback&lt;boolean&gt; | 是    | 回调函数。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。 |
L
libing23 已提交
642 643 644

**错误码:**

J
jidong 已提交
645 646 647 648 649
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name. |
| 12300003 | Account not found. |
650 651 652 653 654

**示例:**

  ```js
  try {
J
jidong 已提交
655 656 657 658 659 660 661
    appAccountManager.checkDataSyncEnabled("ZhangSan", (err, isEnabled) => {
      if (err) {
        console.log("checkDataSyncEnabled failed, err: " + JSON.stringify(err));
      } else {
        console.log('checkDataSyncEnabled successfully, isEnabled: ' + isEnabled);
      }
    });
662
  } catch (err) {
J
jidong 已提交
663
    console.log("checkDataSyncEnabled err: " + JSON.stringify(err));
664 665 666
  }
  ```

J
jidong 已提交
667
### checkDataSyncEnabled<sup>9+</sup>
668

J
jidong 已提交
669
checkDataSyncEnabled(name: string): Promise&lt;boolean&gt;
670

J
jidong 已提交
671
检查指定应用帐号是否开启数据同步功能。使用Promise异步回调。
672

J
jidong 已提交
673
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
674 675 676 677 678

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

J
jidong 已提交
679 680 681
| 参数名  | 类型     | 必填   | 说明      |
| ---- | ------ | ---- | ------- |
| name | string | 是    | 应用帐号的名称。 |
682 683 684

**返回值:**

J
jidong 已提交
685 686
| 类型                     | 说明                    |
| :--------------------- | :-------------------- |
A
Annie_wang 已提交
687
| Promise&lt;boolean&gt; | Promise对象。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。 |
L
libing23 已提交
688 689 690

**错误码:**

J
jidong 已提交
691 692 693 694 695
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name. |
| 12300003 | Account not found. |
696 697 698 699 700

**示例:**

  ```js
  try {
J
jidong 已提交
701 702 703 704 705
    appAccountManager.checkDataSyncEnabled("ZhangSan").then((isEnabled) => {
        console.log("checkDataSyncEnabled successfully, isEnabled: " + isEnabled);
    }).catch((err) => {
      console.log("checkDataSyncEnabled failed, err: " + JSON.stringify(err));
    });
706
  } catch (err) {
J
jidong 已提交
707
    console.log("checkDataSyncEnabled err: " + JSON.stringify(err));
708 709 710
  }
  ```

J
jidong 已提交
711
### setCredential<sup>9+</sup>
Z
zhaoyuan17 已提交
712

J
jidong 已提交
713
setCredential(name: string, credentialType: string, credential: string,callback: AsyncCallback&lt;void&gt;): void
Z
zhaoyuan17 已提交
714

J
jidong 已提交
715
设置指定应用帐号的凭据。使用callback异步回调。
716

Z
zengyawen 已提交
717
**系统能力:** SystemCapability.Account.AppAccount
Z
zhaoyuan17 已提交
718

Z
zengyawen 已提交
719
**参数:**
Z
zhaoyuan17 已提交
720

J
jidong 已提交
721 722 723 724 725 726
| 参数名            | 类型                        | 必填   | 说明            |
| -------------- | ------------------------- | ---- | ------------- |
| name           | string                    | 是    | 应用帐号的名称。     |
| credentialType | string                    | 是    | 凭据类型。     |
| credential     | string                    | 是    | 凭据取值。       |
| callback       | AsyncCallback&lt;void&gt; | 是    | 回调函数。当凭据设置成功时,err为null,否则为错误对象。 |
L
libing23 已提交
727 728 729

**错误码:**

J
jidong 已提交
730 731 732 733 734
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or credentialType or credential. |
| 12300003 | Account not found. |
Z
zengyawen 已提交
735 736

**示例:**
Z
zhaoyuan17 已提交
737

Z
zhangalong 已提交
738
  ```js
L
libing23 已提交
739
  try {
J
jidong 已提交
740 741 742 743 744 745 746
    appAccountManager.setCredential("ZhangSan", "PIN_SIX", "xxxxxx", (err) => {
      if (err) {
        console.log("setCredential failed, error: " + JSON.stringify(err));
      } else {
        console.log("setCredential successfully");
      }
    });
L
libing23 已提交
747
  } catch (err) {
J
jidong 已提交
748
    console.log("setCredential exception: " + JSON.stringify(err));
L
libing23 已提交
749
  }
Z
zhaoyuan17 已提交
750 751
  ```

J
jidong 已提交
752
### setCredential<sup>9+</sup>
Z
zhaoyuan17 已提交
753

J
jidong 已提交
754
setCredential(name: string, credentialType: string, credential: string): Promise&lt;void&gt;
Z
zhaoyuan17 已提交
755

J
jidong 已提交
756
设置指定应用帐号的凭据。使用Promise异步回调。
757

Z
zengyawen 已提交
758 759 760
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
Z
zhaoyuan17 已提交
761

J
jidong 已提交
762 763 764 765 766
| 参数名            | 类型     | 必填   | 说明         |
| -------------- | ------ | ---- | ---------- |
| name           | string | 是    | 应用帐号的名称。   |
| credentialType | string | 是    | 凭据类型。 |
| credential     | string | 是    | 凭据取值。    |
Z
zhaoyuan17 已提交
767

Z
zengyawen 已提交
768
**返回值:**
Z
zhaoyuan17 已提交
769

J
jidong 已提交
770
| 类型                 | 说明                    |
H
HelloCrease 已提交
771
| :------------------ | :-------------------- |
A
Annie_wang 已提交
772
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
773 774 775

**错误码:**

J
jidong 已提交
776 777 778 779 780
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or credentialType or credential. |
| 12300003 | Account not found. |
Z
zhaoyuan17 已提交
781

Z
zengyawen 已提交
782
**示例:**
Z
zhaoyuan17 已提交
783

Z
zhangalong 已提交
784
  ```js
L
libing23 已提交
785
  try {
J
jidong 已提交
786 787 788 789 790
    appAccountManager.setCredential("ZhangSan", "PIN_SIX", "xxxxxx").then(() => {
      console.log("setCredential successfully");
    }).catch((err) => {
      console.log("setCredential failed, error: " + JSON.stringify(err));
    });
L
libing23 已提交
791
  } catch (err) {
J
jidong 已提交
792
    console.log("setCredential exception: " + JSON.stringify(err));
L
libing23 已提交
793
  }
Z
zhaoyuan17 已提交
794 795
  ```

J
jidong 已提交
796
### getCredential<sup>9+</sup>
Z
zhaoyuan17 已提交
797

J
jidong 已提交
798
getCredential(name: string, credentialType: string, callback: AsyncCallback&lt;string&gt;): void
799

J
jidong 已提交
800
获取指定应用帐号的凭据。使用callback异步回调。
801

Z
zengyawen 已提交
802 803 804
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
Z
zhaoyuan17 已提交
805

J
jidong 已提交
806 807 808 809 810
| 参数名            | 类型                          | 必填   | 说明             |
| -------------- | --------------------------- | ---- | -------------- |
| name           | string                      | 是    | 应用帐号的名称。        |
| credentialType | string                      | 是    | 凭据类型。 |
| callback       | AsyncCallback&lt;string&gt; | 是    | 回调函数。当获取凭据成功时,err为null,data为指定应用帐号的凭据;否则为错误对象。 |
L
libing23 已提交
811 812 813

**错误码:**

J
jidong 已提交
814 815 816 817 818 819
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name or credentialType. |
| 12300003 | Account not found. |
| 12300102 | Credential not found. |
Z
zhaoyuan17 已提交
820

Z
zengyawen 已提交
821
**示例:**
Z
zhaoyuan17 已提交
822

Z
zhangalong 已提交
823
  ```js
L
libing23 已提交
824
  try {
J
jidong 已提交
825 826 827 828 829 830 831
      appAccountManager.getCredential("ZhangSan", "PIN_SIX", (err, result) => { 
        if (err) {
          console.log("getCredential failed, error: " + JSON.stringify(err));
        } else {
          console.log('getCredential successfully, result: ' + result);
        }
      });
L
libing23 已提交
832
  } catch (err) {
J
jidong 已提交
833
      console.log("getCredential err: " + JSON.stringify(err));
L
libing23 已提交
834
  }
Z
zhaoyuan17 已提交
835 836
  ```

J
jidong 已提交
837
### getCredential<sup>9+</sup>
Z
zhaoyuan17 已提交
838

J
jidong 已提交
839
getCredential(name: string, credentialType: string): Promise&lt;string&gt;
840

J
jidong 已提交
841
获取指定应用帐号的凭据。使用Promise异步回调。
842

Z
zengyawen 已提交
843
**系统能力:** SystemCapability.Account.AppAccount
Z
zhaoyuan17 已提交
844

Z
zengyawen 已提交
845
**参数:**
Z
zhaoyuan17 已提交
846

J
jidong 已提交
847 848 849 850
| 参数名          | 类型     | 必填   | 说明         |
| -------------- | ------ | ---- | ---------- |
| name           | string | 是    | 应用帐号的名称。 |
| credentialType | string | 是    | 凭据类型。 |
Z
zhaoyuan17 已提交
851

Z
zengyawen 已提交
852
**返回值:**
Z
zhaoyuan17 已提交
853

J
jidong 已提交
854 855 856
| 类型                    | 说明                    |
| :-------------------- | :-------------------- |
| Promise&lt;string&gt; | Promise对象,返回指定应用帐号的凭据。 |
L
libing23 已提交
857 858 859

**错误码:**

J
jidong 已提交
860 861 862 863 864 865
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name or credentialType. |
| 12300003 | Account not found. |
| 12300102 | Credential not found. |
Z
zengyawen 已提交
866 867

**示例:**
Z
zhaoyuan17 已提交
868

Z
zhangalong 已提交
869
  ```js
L
libing23 已提交
870
  try {
J
jidong 已提交
871 872 873 874 875
    appAccountManager.getCredential("ZhangSan", "PIN_SIX").then((credential) => {
        console.log("getCredential successfully, credential: " + credential);
    }).catch((err) => {
        console.log("getCredential failed, error: " + JSON.stringify(err));
    });
L
libing23 已提交
876
  } catch (err) {
J
jidong 已提交
877
    console.log("getCredential exception: "  + JSON.stringify(err));
L
libing23 已提交
878
  }
Z
zhaoyuan17 已提交
879
  ```
880

J
jidong 已提交
881
### setCustomData<sup>9+</sup>
882

J
jidong 已提交
883
setCustomData(name: string, key: string, value: string, callback: AsyncCallback&lt;void&gt;): void
L
libing23 已提交
884

J
jidong 已提交
885
设置指定应用帐号的自定义数据。使用callback异步回调。
886 887 888 889 890

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

J
jidong 已提交
891 892 893 894 895 896
| 参数名      | 类型                        | 必填   | 说明                |
| -------- | ------------------------- | ---- | ----------------- |
| name     | string                    | 是    | 应用帐号的名称。 |
| key      | string                    | 是    | 自定义数据的键名。 |
| value    | string                    | 是    | 自定义数据的取值。 |
| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。当设置自定义数据成功时,err为null,否则为错误对象。 |
L
libing23 已提交
897 898 899

**错误码:**

J
jidong 已提交
900 901 902
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
C
chennian 已提交
903
| 12300002 | Invalid name, key or value. |
J
jidong 已提交
904 905
| 12300003 | Account not found. |
| 12400003 | The number of custom data reaches the upper limit. |
906 907 908 909 910

**示例:**

  ```js
  try {
J
jidong 已提交
911 912 913 914 915 916 917
    appAccountManager.setCustomData("ZhangSan", "age", "12", (err) => {
      if (err) {
        console.log("setCustomData failed, error: " + JSON.stringify(err));
      } else {
        console.log("setCustomData successfully");
      }
    });
918
  } catch (err) {
J
jidong 已提交
919
    console.log("setCustomData exception: " + JSON.stringify(err));
920 921 922
  }
  ```

J
jidong 已提交
923
### setCustomData<sup>9+</sup>
924

J
jidong 已提交
925
setCustomData(name: string, key: string, value: string): Promise&lt;void&gt;
926

J
jidong 已提交
927
设置指定应用帐号的自定义数据。使用Promise异步回调。
928 929 930

**系统能力:** SystemCapability.Account.AppAccount

J
jidong 已提交
931 932 933 934 935 936 937 938
**参数:**

| 参数名   | 类型 | 必填  | 说明              |
| ----- | ------ | ---- | ----------------- |
| name  | string | 是    | 应用帐号的名称。   |
| key   | string | 是    | 自定义数据的键名。 |
| value | string | 是    | 自定义数据的取值。 |

L
libing23 已提交
939
**返回值:**
940

J
jidong 已提交
941 942
| 类型                  | 说明                    |
| :------------------ | :-------------------- |
A
Annie_wang 已提交
943
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
944

L
libing23 已提交
945
**错误码:**
946

J
jidong 已提交
947 948 949
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
C
chennian 已提交
950
| 12300002 | Invalid name, key or value. |
J
jidong 已提交
951 952
| 12300003 | Account not found. |
| 12400003 | The number of custom data reaches the upper limit. |
953 954 955 956 957

**示例:**

  ```js
  try {
J
jidong 已提交
958 959 960 961 962
    appAccountManager.setCustomData("ZhangSan", "age", "12").then(() => {
      console.log("setCustomData successfully");
    }).catch((err) => {
      console.log("setCustomData failed, error: " + JSON.stringify(err));
    });
963
  } catch (err) {
J
jidong 已提交
964
    console.log("setCustomData exception: " + JSON.stringify(err));
965 966
  }
  ```
Z
zhaoyuan17 已提交
967

J
jidong 已提交
968
### getCustomData<sup>9+</sup>
Z
zhaoyuan17 已提交
969

J
jidong 已提交
970
getCustomData(name: string, key: string, callback: AsyncCallback&lt;string&gt;): void
971

J
jidong 已提交
972
根据指定键名获取特定应用帐号的自定义数据。使用callback异步回调。
Z
zengyawen 已提交
973 974

**系统能力:** SystemCapability.Account.AppAccount
Z
zhaoyuan17 已提交
975

Z
zengyawen 已提交
976
**参数:**
Z
zhaoyuan17 已提交
977

J
jidong 已提交
978 979 980 981 982
| 参数名    | 类型                        | 必填  | 说明                     |
| -------- | --------------------------- | ----- | ------------------------ |
| name     | string                      | 是    | 应用帐号的名称。           |
| key      | string                      | 是    | 自定义数据的键名。         |
| callback | AsyncCallback&lt;string&gt; | 是    | 回调函数。当获取成功时,err为null,data为自定义数据的取值;否则为错误对象。 |
L
libing23 已提交
983 984 985

**错误码:**

J
jidong 已提交
986 987 988 989 990 991
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or key. |
| 12300003 | Account not found. |
| 12400002 | Custom data not found. |
Z
zhaoyuan17 已提交
992

Z
zengyawen 已提交
993
**示例:**
Z
zhaoyuan17 已提交
994

Z
zhangalong 已提交
995
  ```js
L
libing23 已提交
996
  try {
J
jidong 已提交
997 998 999 1000 1001 1002 1003
    appAccountManager.getCustomData("ZhangSan", "age", (err, data) => {
      if (err) {
        console.log('getCustomData failed, error: ' + err);
      } else {
        console.log("getCustomData successfully, data: " + data);
      }
    });
L
libing23 已提交
1004
  } catch (err) {
J
jidong 已提交
1005
    console.log("getCustomData exception: " + JSON.stringify(err));
L
libing23 已提交
1006
  }
Z
zhaoyuan17 已提交
1007 1008
  ```

J
jidong 已提交
1009
### getCustomData<sup>9+</sup>
Z
zhaoyuan17 已提交
1010

J
jidong 已提交
1011
getCustomData(name: string, key: string): Promise&lt;string&gt;
1012

J
jidong 已提交
1013
根据指定键名获取特定应用帐号的自定义数据。使用Promise异步回调。
Z
zhaoyuan17 已提交
1014

Z
zengyawen 已提交
1015
**系统能力:** SystemCapability.Account.AppAccount
Z
zhaoyuan17 已提交
1016

Z
zengyawen 已提交
1017
**参数:**
Z
zhaoyuan17 已提交
1018

J
jidong 已提交
1019 1020 1021 1022
| 参数名  | 类型     | 必填   | 说明        |
| ---- | ------ | ---- | --------- |
| name | string | 是    | 应用帐号的名称。   |
| key  | string | 是    | 自定义数据的键名。 |
Z
zhaoyuan17 已提交
1023

Z
zengyawen 已提交
1024
**返回值:**
Z
zhaoyuan17 已提交
1025

J
jidong 已提交
1026 1027 1028
| 类型                   | 说明                    |
| --------------------- | --------------------- |
| Promise&lt;string&gt; | Promise对象,返回自定义数据的取值。 |
L
libing23 已提交
1029 1030 1031

**错误码:**

J
jidong 已提交
1032 1033 1034 1035 1036 1037
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or key. |
| 12300003 | Account not found. |
| 12400002 | Custom data not found. |
Z
zengyawen 已提交
1038 1039

**示例:**
Z
zhaoyuan17 已提交
1040

Z
zhangalong 已提交
1041
  ```js
L
libing23 已提交
1042
  try {
J
jidong 已提交
1043 1044 1045 1046 1047
    appAccountManager.getCustomData("ZhangSan", "age").then((data) => {
      console.log("getCustomData successfully, data: " + data);
    }).catch((err) => {
      console.log("getCustomData failed, error: " + JSON.stringify(err));
    });
L
libing23 已提交
1048
  } catch (err) {
J
jidong 已提交
1049
    console.log("getCustomData exception: " + JSON.stringify(err));
L
libing23 已提交
1050
  }
Z
zhaoyuan17 已提交
1051 1052
  ```

J
jidong 已提交
1053
### getCustomDataSync<sup>9+</sup>
Z
zhaoyuan17 已提交
1054

J
jidong 已提交
1055
getCustomDataSync(name: string, key: string): string;
Z
zhaoyuan17 已提交
1056

J
jidong 已提交
1057
根据指定键名获取特定应用帐号的自定义数据。使用同步方式返回结果。
Z
zhaoyuan17 已提交
1058

Z
zengyawen 已提交
1059 1060 1061
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
Z
zhaoyuan17 已提交
1062

J
jidong 已提交
1063 1064 1065 1066 1067 1068 1069 1070 1071 1072
| 参数名  | 类型     | 必填   | 说明        |
| ---- | ------ | ---- | --------- |
| name | string | 是    | 应用帐号的名称。   |
| key  | string | 是    | 自定义数据的键名。 |

**返回值:**

| 类型                    | 说明                    |
| --------------------- | --------------------- |
| string | 自定义数据的取值。 |
L
libing23 已提交
1073 1074 1075

**错误码:**

J
jidong 已提交
1076 1077 1078 1079 1080 1081
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or key. |
| 12300003 | Account not found. |
| 12400002 | Custom data not found. |
Z
zhaoyuan17 已提交
1082

Z
zengyawen 已提交
1083
**示例:**
Z
zhaoyuan17 已提交
1084

Z
zhangalong 已提交
1085
  ```js
1086
  try {
J
jidong 已提交
1087 1088
      let value = appAccountManager.getCustomDataSync("ZhangSan", "age");
      console.info("getCustomDataSync successfully, vaue:" + value);
1089
  } catch (err) {
J
jidong 已提交
1090
    console.error("getCustomDataSync failed, error: " + JSON.stringify(err));
1091
  }
Z
zhaoyuan17 已提交
1092 1093
  ```

J
jidong 已提交
1094
### getAllAccounts<sup>9+</sup>
Z
zhaoyuan17 已提交
1095

J
jidong 已提交
1096
getAllAccounts(callback: AsyncCallback&lt;Array&lt;AppAccountInfo&gt;&gt;): void
Z
zhaoyuan17 已提交
1097

J
jidong 已提交
1098 1099
获取所有可访问的应用帐号信息。使用callback异步回调。

Z
zengyawen 已提交
1100
**系统能力:** SystemCapability.Account.AppAccount
Z
zhaoyuan17 已提交
1101

Z
zengyawen 已提交
1102
**参数:**
Z
zhaoyuan17 已提交
1103

J
jidong 已提交
1104 1105 1106
| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
| callback | AsyncCallback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 是    | 回调函数。当查询成功时,err为null,data为获取到的应用帐号信息列表;否则为错误对象。 |
L
libing23 已提交
1107 1108 1109

**错误码:**

J
jidong 已提交
1110 1111 1112
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
Z
zengyawen 已提交
1113 1114

**示例:**
Z
zhaoyuan17 已提交
1115

Z
zhangalong 已提交
1116
  ```js
1117
  try {
J
jidong 已提交
1118 1119 1120 1121 1122 1123 1124
    appAccountManager.getAllAccounts((err, data) => {
      if (err) {
        console.debug("getAllAccounts failed, error:" + JSON.stringify(err));
      } else {
        console.debug("getAllAccounts successfully");
      }
    });
1125
  } catch (err) {
J
jidong 已提交
1126
      console.debug("getAllAccounts exception: " + JSON.stringify(err));
1127
  }
Z
zhaoyuan17 已提交
1128 1129
  ```

J
jidong 已提交
1130
### getAllAccounts<sup>9+</sup>
Z
zhaoyuan17 已提交
1131

J
jidong 已提交
1132
getAllAccounts(): Promise&lt;Array&lt;AppAccountInfo&gt;&gt;
Z
zengyawen 已提交
1133

J
jidong 已提交
1134 1135
获取所有可访问的应用帐号信息。使用Promise异步回调。

1136
**系统能力:** SystemCapability.Account.AppAccount
Z
zhaoyuan17 已提交
1137

J
jidong 已提交
1138
**返回值:**
1139

J
jidong 已提交
1140 1141 1142
| 类型                                       | 说明                    |
| ---------------------------------------- | --------------------- |
| Promise&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | Promise对象,返回全部应用已授权帐号信息对象。 |
L
libing23 已提交
1143 1144 1145

**错误码:**

J
jidong 已提交
1146 1147 1148
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
1149 1150

**示例:**
Z
zhaoyuan17 已提交
1151

Z
zhangalong 已提交
1152
  ```js
L
libing23 已提交
1153
  try {
J
jidong 已提交
1154 1155 1156 1157 1158
    appAccountManager.getAllAccounts().then((data) => {
      console.debug("getAllAccounts successfully");
    }).catch((err) => {
      console.debug("getAllAccounts failed, error:" + JSON.stringify(err));
    });
L
libing23 已提交
1159
  } catch (err) {
J
jidong 已提交
1160
    console.debug("getAllAccounts exception: " + JSON.stringify(err));
L
libing23 已提交
1161
  }
Z
zhaoyuan17 已提交
1162 1163
  ```

J
jidong 已提交
1164
### getAccountsByOwner<sup>9+</sup>
1165

J
jidong 已提交
1166
getAccountsByOwner(owner: string, callback: AsyncCallback&lt;Array&lt;AppAccountInfo&gt;&gt;): void
Z
zhaoyuan17 已提交
1167

J
jidong 已提交
1168 1169
根据应用帐号所有者获取调用方可访问的应用帐号列表。使用callback异步回调。

Z
zengyawen 已提交
1170
**系统能力:** SystemCapability.Account.AppAccount
Z
zhaoyuan17 已提交
1171

Z
zengyawen 已提交
1172
**参数:**
Z
zhaoyuan17 已提交
1173

J
jidong 已提交
1174 1175 1176 1177
| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
| owner    | string                                   | 是    | 应用帐号所有者的包名。    |
| callback | AsyncCallback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 是    | 回调函数。如果获取成功,err为null,data为获取到的应用帐号列表;否则为错误对象。 |
Z
zengyawen 已提交
1178

L
libing23 已提交
1179
**错误码:**
Z
zhaoyuan17 已提交
1180

J
jidong 已提交
1181 1182 1183 1184 1185
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid owner. |
| 12400001 | Application not found. |
Z
zhaoyuan17 已提交
1186

Z
zengyawen 已提交
1187
**示例:**
Z
zhaoyuan17 已提交
1188

Z
zhangalong 已提交
1189
  ```js
1190
  try {
J
jidong 已提交
1191 1192 1193 1194 1195 1196 1197
    appAccountManager.getAccountsByOwner("com.example.accountjsdemo2", (err, data) => {
      if (err) {
        console.debug("getAccountsByOwner failed, error:" + JSON.stringify(err));
      } else {
        console.debug("getAccountsByOwner successfully, data:" + JSON.stringify(data));
      }
    });
1198
  } catch (err) {
J
jidong 已提交
1199
    console.debug("getAccountsByOwner exception:" + JSON.stringify(err));
1200
  }
Z
zhaoyuan17 已提交
1201 1202
  ```

J
jidong 已提交
1203 1204 1205
### getAccountsByOwner<sup>9+</sup>

getAccountsByOwner(owner: string): Promise&lt;Array&lt;AppAccountInfo&gt;&gt;
Z
zhaoyuan17 已提交
1206

J
jidong 已提交
1207
根据应用帐号所有者获取调用方可访问的应用帐号列表。使用Promise异步回调。
Z
zhaoyuan17 已提交
1208

1209
**系统能力:** SystemCapability.Account.AppAccount
Z
zhaoyuan17 已提交
1210

L
libing23 已提交
1211 1212
**参数:**

J
jidong 已提交
1213 1214 1215
| 参数名   | 类型     | 必填   | 说明     |
| ----- | ------ | ---- | ------ |
| owner | string | 是    | 应用帐号所有者的包名。 |
L
libing23 已提交
1216

Z
zengyawen 已提交
1217
**返回值:**
Z
zhaoyuan17 已提交
1218

J
jidong 已提交
1219 1220 1221
| 类型                                       | 说明                    |
| ---------------------------------------- | --------------------- |
| Promise&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | Promise对象,返回获取到的应用帐号列表。 |
L
libing23 已提交
1222 1223 1224

**错误码:**

J
jidong 已提交
1225 1226 1227 1228 1229
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid owner. |
| 12400001 | Application not found. |
Z
zengyawen 已提交
1230 1231

**示例:**
Z
zhaoyuan17 已提交
1232

Z
zhangalong 已提交
1233
  ```js
1234
  try {
J
jidong 已提交
1235 1236 1237 1238 1239
    appAccountManager.getAccountsByOwner("com.example.accountjsdemo2").then((data) => {
      console.debug("getAccountsByOwner successfully, data:" + JSON.stringify(data));
    }).catch((err) => {
      console.debug("getAccountsByOwner failed, error:" + JSON.stringify(err));
    });
1240
  } catch (err) {
J
jidong 已提交
1241
    console.debug("getAccountsByOwner exception:" + JSON.stringify(err));
1242
  }
Z
zhaoyuan17 已提交
1243 1244
  ```

L
libing23 已提交
1245
### on('accountChange')<sup>9+</sup>
Z
zhaoyuan17 已提交
1246

L
libing23 已提交
1247
on(type: 'accountChange', owners: Array&lt;string&gt;, callback: Callback&lt;Array&lt;AppAccountInfo&gt;&gt;): void
Z
zhaoyuan17 已提交
1248

J
jidong 已提交
1249
订阅指定应用的帐号信息变更事件。
Z
zhaoyuan17 已提交
1250

Z
zengyawen 已提交
1251
**系统能力:** SystemCapability.Account.AppAccount
Z
zhaoyuan17 已提交
1252

Z
zengyawen 已提交
1253
**参数:**
Z
zhaoyuan17 已提交
1254

L
libing23 已提交
1255 1256
| 参数名      | 类型                                       | 必填   | 说明                             |
| -------- | ---------------------------------------- | ---- | ------------------------------ |
J
jidong 已提交
1257 1258 1259
| type     | 'accountChange'                          | 是    | 事件回调类型,支持的事件为'accountChange',当目标应用更新帐号信息时,触发该事件。 |
| owners   | Array&lt;string&gt;                      | 是    | 应用帐号所有者的包名列表。                      |
| callback | Callback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 是    | 回调函数,返回信息发生变更的应用帐号列表。           |
L
libing23 已提交
1260 1261 1262

**错误码:**

J
jidong 已提交
1263 1264 1265 1266 1267
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid type or owners. |
| 12400001 | Application not found. |
Z
zengyawen 已提交
1268 1269

**示例:**
Z
zhaoyuan17 已提交
1270

Z
zhangalong 已提交
1271
  ```js
L
libing23 已提交
1272
  function changeOnCallback(data){
J
jidong 已提交
1273
  	console.log("receive change data:" + JSON.stringify(data));
L
libing23 已提交
1274 1275
  }
  try{
J
jidong 已提交
1276 1277 1278
  	appAccountManager.on("accountChange", ["com.example.actsaccounttest"], changeOnCallback);
  } catch(err) {
  	console.error("on accountChange failed, error:" + JSON.stringify(err));
L
libing23 已提交
1279
  }
Z
zhaoyuan17 已提交
1280 1281
  ```

L
libing23 已提交
1282
### off('accountChange')<sup>9+</sup>
1283

J
jidong 已提交
1284
off(type: 'accountChange', callback?: Callback&lt;Array&lt;AppAccountInfo&gt;&gt;): void
1285

J
jidong 已提交
1286
取消订阅帐号信息变更事件。
1287

L
libing23 已提交
1288
**系统能力:** SystemCapability.Account.AppAccount
1289

L
libing23 已提交
1290
**参数:**
1291

L
libing23 已提交
1292 1293
| 参数名      | 类型                               | 必填   | 说明           |
| -------- | -------------------------------- | ---- | ------------ |
J
jidong 已提交
1294
| type     | 'accountChange'                         | 是    | 事件回调类型,支持的事件为'accountChange',当帐号所有者更新帐号信息时,触发该事件。    |
J
jidong 已提交
1295
| callback | Callback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 否    | 回调函数,返回信息发生变更的应用帐号列表。 |
1296

L
libing23 已提交
1297
**错误码:**
1298

J
jidong 已提交
1299 1300 1301 1302
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid type. |
1303 1304 1305 1306

**示例:**

  ```js
J
jidong 已提交
1307
  function changeOnCallback(data) {
J
jidong 已提交
1308 1309 1310 1311 1312 1313
  	console.log("receive change data:" + JSON.stringify(data));
  }
  try{
  	appAccountManager.on("accountChange", ["com.example.actsaccounttest"], changeOnCallback);
  } catch(err) {
  	console.error("on accountChange failed, error:" + JSON.stringify(err));
L
libing23 已提交
1314 1315
  }
  try{
J
jidong 已提交
1316
  	appAccountManager.off('accountChange', changeOnCallback);
L
libing23 已提交
1317 1318
  }
  catch(err){
J
jidong 已提交
1319
  	console.error("off accountChange failed, error:" + JSON.stringify(err));
L
libing23 已提交
1320
  }
1321 1322
  ```

L
libing23 已提交
1323
### auth<sup>9+</sup>
Z
zhaoyuan17 已提交
1324

L
libing23 已提交
1325
auth(name: string, owner: string, authType: string, callback: AuthCallback): void
Z
zhaoyuan17 已提交
1326

J
jidong 已提交
1327
对应用帐号进行鉴权以获取授权令牌。使用callback异步回调。
Z
zengyawen 已提交
1328 1329

**系统能力:** SystemCapability.Account.AppAccount
Z
zhaoyuan17 已提交
1330

Z
zengyawen 已提交
1331
**参数:**
Z
zhaoyuan17 已提交
1332

L
libing23 已提交
1333 1334
| 参数名      | 类型                    | 必填   | 说明              |
| -------- | --------------------- | ---- | --------------- |
J
jidong 已提交
1335 1336
| name     | string                | 是    | 应用帐号的名称。     |
| owner    | string                | 是    | 应用帐号所有者的包名。  |
L
libing23 已提交
1337
| authType | string                | 是    | 鉴权类型。           |
J
jidong 已提交
1338
| callback | [AuthCallback](#authcallback9) | 是    | 回调对象,返回鉴权结果。 |
L
libing23 已提交
1339 1340 1341

**错误码:**

J
jidong 已提交
1342 1343 1344
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
C
chennian 已提交
1345
| 12300002 | Invalid name, owner or authType. |
J
jidong 已提交
1346 1347 1348 1349
| 12300003 | Account not found. |
| 12300010 | Account service busy. |
| 12300113 | Authenticator service not found. |
| 12300114 | Authenticator service exception. |
Z
zhaoyuan17 已提交
1350

Z
zengyawen 已提交
1351
**示例:**
Z
zhaoyuan17 已提交
1352

Z
zhangalong 已提交
1353
  ```js
L
liushuling 已提交
1354

L
libing23 已提交
1355

J
jidong 已提交
1356 1357 1358
  function onResultCallback(code, authResult) {
    console.log("resultCode: "  + code);
    console.log("authResult: "  + JSON.stringify(authResult));
L
libing23 已提交
1359 1360 1361
  }

  function onRequestRedirectedCallback(request) {
L
liushuling 已提交
1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372
    let wantInfo = {
      deviceId: '',
      bundleName: 'com.example.accountjsdemo',
      action: 'ohos.want.action.viewData',
      entities: ['entity.system.default'],
    }
    this.context.startAbility(wantInfo).then(() => {
      console.log("startAbility successfully");
    }).catch((err) => {
      console.log("startAbility err: " + JSON.stringify(err));
    })
L
libing23 已提交
1373 1374
  }

1375
  try {
J
jidong 已提交
1376 1377 1378 1379
    appAccountManager.auth("LiSi", "com.example.accountjsdemo", "getSocialData", {
        onResult: onResultCallback,
        onRequestRedirected: onRequestRedirectedCallback
    });
1380
  } catch (err) {
J
jidong 已提交
1381
    console.log("auth exception: "  + JSON.stringify(err));
1382
  }
Z
zhaoyuan17 已提交
1383 1384
  ```

L
libing23 已提交
1385
### auth<sup>9+</sup>
Z
zhaoyuan17 已提交
1386

L
libing23 已提交
1387
auth(name: string, owner: string, authType: string, options: {[key: string]: Object}, callback: AuthCallback): void
Z
zhaoyuan17 已提交
1388

J
jidong 已提交
1389
对应用帐号进行鉴权以获取授权令牌。使用callback异步回调。
Z
zhaoyuan17 已提交
1390

Z
zengyawen 已提交
1391
**系统能力:** SystemCapability.Account.AppAccount
Z
zhaoyuan17 已提交
1392

Z
zengyawen 已提交
1393
**参数:**
Z
zhaoyuan17 已提交
1394

L
libing23 已提交
1395 1396
| 参数名      | 类型                    | 必填   | 说明              |
| -------- | --------------------- | ---- | --------------- |
J
jidong 已提交
1397 1398
| name     | string                | 是    | 应用帐号的名称。     |
| owner    | string                | 是    | 应用帐号所有者的包名。  |
L
libing23 已提交
1399 1400
| authType | string                | 是    | 鉴权类型。           |
| options  | {[key: string]: Object}  | 是    | 鉴权所需的可选项。       |
J
jidong 已提交
1401
| callback | [AuthCallback](#authcallback9) | 是    | 回调对象,返回鉴权结果。 |
1402

L
libing23 已提交
1403
**错误码:**
1404

J
jidong 已提交
1405 1406 1407
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
C
chennian 已提交
1408 1409
| 12300002 | Invalid name, owner, authType or options. |
| 12300003 | Account not found. |
J
jidong 已提交
1410 1411 1412
| 12300010 | Account service busy. |
| 12300113 | Authenticator service not found. |
| 12300114 | Authenticator service exception. |
Z
zengyawen 已提交
1413 1414

**示例:**
Z
zhaoyuan17 已提交
1415

Z
zhangalong 已提交
1416
  ```js
L
liushuling 已提交
1417

L
libing23 已提交
1418

J
jidong 已提交
1419 1420 1421
  function onResultCallback(code, authResult) {
    console.log("resultCode: "  + code);
    console.log("authResult: "  + JSON.stringify(authResult));
L
libing23 已提交
1422 1423 1424
  }

  function onRequestRedirectedCallback(request) {
L
liushuling 已提交
1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435
    let wantInfo = {
      deviceId: '',
      bundleName: 'com.example.accountjsdemo',
      action: 'ohos.want.action.viewData',
      entities: ['entity.system.default'],
    }
    this.context.startAbility(wantInfo).then(() => {
      console.log("startAbility successfully");
    }).catch((err) => {
      console.log("startAbility err: " + JSON.stringify(err));
    })
L
libing23 已提交
1436 1437
  }

J
jidong 已提交
1438 1439 1440
  let options = {
    "password": "xxxx",
  };
1441
  try {
J
jidong 已提交
1442 1443 1444 1445
    appAccountManager.auth("LiSi", "com.example.accountjsdemo", "getSocialData", options, {
        onResult: onResultCallback,
        onRequestRedirected: onRequestRedirectedCallback
    });
1446
  } catch (err) {
J
jidong 已提交
1447
    console.log("auth exception: "  + JSON.stringify(err));
1448
  }
Z
zhaoyuan17 已提交
1449 1450
  ```

L
libing23 已提交
1451
### getAuthToken<sup>9+</sup>
Z
zhaoyuan17 已提交
1452

L
libing23 已提交
1453
getAuthToken(name: string, owner: string, authType: string, callback: AsyncCallback&lt;string&gt;): void
1454

J
jidong 已提交
1455
获取指定应用帐号的特定鉴权类型的授权令牌。使用callback异步回调。
Z
zengyawen 已提交
1456 1457

**系统能力:** SystemCapability.Account.AppAccount
Z
zhaoyuan17 已提交
1458

Z
zengyawen 已提交
1459
**参数:**
Z
zhaoyuan17 已提交
1460

L
libing23 已提交
1461 1462 1463
| 参数名      | 类型                          | 必填   | 说明          |
| -------- | --------------------------- | ---- | ----------- |
| name     | string                      | 是    | 应用帐号的名称。    |
J
jidong 已提交
1464
| owner    | string                      | 是    | 应用帐号所有者的包名。 |
L
libing23 已提交
1465
| authType | string                      | 是    | 鉴权类型。       |
J
jidong 已提交
1466
| callback | AsyncCallback&lt;string&gt; | 是    | 回调函数。当获取成功时,err为null,data为授权令牌值;否则为错误对象。    |
L
libing23 已提交
1467 1468 1469

**错误码:**

J
jidong 已提交
1470 1471 1472 1473 1474 1475
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name, owner or authType. |
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
Z
zhaoyuan17 已提交
1476

Z
zengyawen 已提交
1477
**示例:**
Z
zhaoyuan17 已提交
1478

Z
zhangalong 已提交
1479
  ```js
L
libing23 已提交
1480
  try {
J
jidong 已提交
1481 1482 1483 1484 1485 1486 1487
    appAccountManager.getAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", (err, token) => {
      if (err) {
        console.log("getAuthToken failed, error: " + JSON.stringify(err));
      } else {
        console.log("getAuthToken successfully, token: " + token);
      }
    });
L
libing23 已提交
1488
  } catch (err) {
J
jidong 已提交
1489
      console.log("getAuthToken exception: " + JSON.stringify(err));
L
libing23 已提交
1490
  }
Z
zhaoyuan17 已提交
1491 1492
  ```

L
libing23 已提交
1493
### getAuthToken<sup>9+</sup>
Z
zhaoyuan17 已提交
1494

L
libing23 已提交
1495
getAuthToken(name: string, owner: string, authType: string): Promise&lt;string&gt;
1496

J
jidong 已提交
1497
获取指定应用帐号的特定鉴权类型的授权令牌。使用Promise异步回调。
Z
zengyawen 已提交
1498 1499

**系统能力:** SystemCapability.Account.AppAccount
Z
zhaoyuan17 已提交
1500

Z
zengyawen 已提交
1501
**参数:**
Z
zhaoyuan17 已提交
1502

L
libing23 已提交
1503 1504 1505
| 参数名      | 类型     | 必填   | 说明          |
| -------- | ------ | ---- | ----------- |
| name     | string | 是    | 应用帐号的名称。    |
J
jidong 已提交
1506
| owner    | string | 是    | 应用帐号所有者的包名。 |
L
libing23 已提交
1507
| authType | string | 是    | 鉴权类型。       |
Z
zhaoyuan17 已提交
1508

1509
**返回值:**
Z
zhaoyuan17 已提交
1510

J
jidong 已提交
1511
| 类型                    | 说明                 |
L
libing23 已提交
1512
| --------------------- | --------------------- |
J
jidong 已提交
1513
| Promise&lt;string&gt; | Promise对象,返回授权令牌。 |
L
libing23 已提交
1514 1515 1516

**错误码:**

J
jidong 已提交
1517 1518 1519
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
C
chennian 已提交
1520
| 12300002 | Invalid name, owner or authType. |
J
jidong 已提交
1521 1522
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
Z
zhaoyuan17 已提交
1523

Z
zengyawen 已提交
1524
**示例:**
Z
zhaoyuan17 已提交
1525

Z
zhangalong 已提交
1526
  ```js
L
libing23 已提交
1527
  try {
J
jidong 已提交
1528 1529 1530 1531 1532
    appAccountManager.getAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData").then((token) => {
      console.log("getAuthToken successfully, token: " + token);
    }).catch((err) => {
      console.log("getAuthToken failed, error: " + JSON.stringify(err));
    });
L
libing23 已提交
1533
  } catch (err) {
J
jidong 已提交
1534
      console.log("getAuthToken exception: " + JSON.stringify(err));
L
libing23 已提交
1535
  }
Z
zhaoyuan17 已提交
1536 1537
  ```

L
libing23 已提交
1538
### setAuthToken<sup>9+</sup>
Z
zhaoyuan17 已提交
1539

L
libing23 已提交
1540
setAuthToken(name: string, authType: string, token: string, callback: AsyncCallback&lt;void&gt;): void
Z
zhaoyuan17 已提交
1541

J
jidong 已提交
1542
为指定应用帐号设置特定鉴权类型的授权令牌。使用callback异步回调。
Z
zhaoyuan17 已提交
1543

Z
zengyawen 已提交
1544
**系统能力:** SystemCapability.Account.AppAccount
Z
zhaoyuan17 已提交
1545

Z
zengyawen 已提交
1546
**参数:**
Z
zhaoyuan17 已提交
1547

L
libing23 已提交
1548 1549 1550 1551
| 参数名      | 类型                        | 必填   | 说明       |
| -------- | ------------------------- | ---- | -------- |
| name     | string                    | 是    | 应用帐号的名称。 |
| authType | string                    | 是    | 鉴权类型。    |
J
jidong 已提交
1552 1553
| token    | string                    | 是    | 授权令牌。 |
| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。当设置成功时,err为null;否则为错误对象。 |
L
libing23 已提交
1554 1555 1556

**错误码:**

J
jidong 已提交
1557 1558 1559
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
C
chennian 已提交
1560
| 12300002 | Invalid name, authType or token. |
J
jidong 已提交
1561 1562
| 12300003 | Account not found. |
| 12400004 | The number of token reaches the upper limit. |
Z
zengyawen 已提交
1563 1564

**示例:**
Z
zhaoyuan17 已提交
1565

Z
zhangalong 已提交
1566
  ```js
1567
  try {
J
jidong 已提交
1568 1569 1570 1571 1572 1573 1574
    appAccountManager.setAuthToken("LiSi", "getSocialData", "xxxx", (err) => {
      if (err) {
        console.log("setAuthToken failed, error: " + JSON.stringify(err));
      } else {
        console.log("setAuthToken successfully");
      }
    });
1575
  } catch (err) {
J
jidong 已提交
1576
      console.log('setAuthToken exception: ' + JSON.stringify(err));
Z
zhaoyuan17 已提交
1577 1578 1579
  }
  ```

L
libing23 已提交
1580
### setAuthToken<sup>9+</sup>
Z
zhaoyuan17 已提交
1581

L
libing23 已提交
1582
setAuthToken(name: string, authType: string, token: string): Promise&lt;void&gt;
Z
zhaoyuan17 已提交
1583

J
jidong 已提交
1584
为指定应用帐号设置特定鉴权类型的授权令牌。使用Promise异步回调。
Z
zhaoyuan17 已提交
1585

Z
zengyawen 已提交
1586 1587 1588
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
Z
zhaoyuan17 已提交
1589

L
libing23 已提交
1590 1591 1592 1593
| 参数名      | 类型     | 必填   | 说明       |
| -------- | ------ | ---- | -------- |
| name     | string | 是    | 应用帐号的名称。 |
| authType | string | 是    | 鉴权类型。    |
J
jidong 已提交
1594
| token    | string | 是    | 授权令牌。 |
1595 1596 1597

**返回值:**

L
libing23 已提交
1598 1599
| 类型                  | 说明                    |
| ------------------- | --------------------- |
A
Annie_wang 已提交
1600
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
1601 1602 1603

**错误码:**

J
jidong 已提交
1604 1605 1606
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
C
chennian 已提交
1607
| 12300002 | Invalid name, authType or token. |
J
jidong 已提交
1608 1609
| 12300003 | Account not found. |
| 12400004 | The number of token reaches the upper limit. |
Z
zhaoyuan17 已提交
1610

Z
zengyawen 已提交
1611
**示例:**
Z
zhaoyuan17 已提交
1612

Z
zhangalong 已提交
1613
  ```js
1614
  try {
J
jidong 已提交
1615 1616 1617 1618 1619
    appAccountManager.setAuthToken("LiSi", "getSocialData", "xxxx").then(() => {
        console.log("setAuthToken successfully");
    }).catch((err) => {
        console.log("setAuthToken failed, error: " + JSON.stringify(err));
    });
1620
  } catch (err) {
J
jidong 已提交
1621
    console.log("setAuthToken exception: " + JSON.stringify(err));
Z
zhaoyuan17 已提交
1622 1623 1624
  }
  ```

L
libing23 已提交
1625
### deleteAuthToken<sup>9+</sup>
J
jidong 已提交
1626

L
libing23 已提交
1627
deleteAuthToken(name: string, owner: string, authType: string, token: string, callback: AsyncCallback&lt;void&gt;): void
1628

J
jidong 已提交
1629
删除指定应用帐号的特定鉴权类型的授权令牌。使用callback异步回调。
J
jidong 已提交
1630

Z
zengyawen 已提交
1631
**系统能力:** SystemCapability.Account.AppAccount
J
jidong 已提交
1632

Z
zengyawen 已提交
1633
**参数:**
J
jidong 已提交
1634

L
libing23 已提交
1635 1636 1637
| 参数名      | 类型                        | 必填   | 说明           |
| -------- | ------------------------- | ---- | ------------ |
| name     | string                    | 是    | 应用帐号的名称。     |
J
jidong 已提交
1638
| owner    | string                    | 是    | 应用帐号所有者的包名。  |
L
libing23 已提交
1639
| authType | string                    | 是    | 鉴权类型。        |
J
jidong 已提交
1640 1641
| token    | string                    | 是    | 授权令牌。 |
| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。当删除成功时,err为null;否则为错误对象。     |
L
libing23 已提交
1642 1643 1644

**错误码:**

J
jidong 已提交
1645 1646 1647
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
C
chennian 已提交
1648
| 12300002 | Invalid name, owner, authType or token. |
J
jidong 已提交
1649 1650
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
1651 1652 1653 1654

**示例:**

  ```js
L
libing23 已提交
1655
  try {
J
jidong 已提交
1656 1657 1658 1659 1660 1661
      appAccountManager.deleteAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", "xxxxx", (err) => {
        if (err) {
          console.log('deleteAuthToken failed, error: ' + JSON.stringify(err));
        } else {
          console.log("deleteAuthToken successfully");
        }
L
libing23 已提交
1662 1663
      });
  } catch (err) {
J
jidong 已提交
1664
      console.log('deleteAuthToken exception: ' + JSON.stringify(err));
L
libing23 已提交
1665
  }
1666 1667
  ```

L
libing23 已提交
1668
### deleteAuthToken<sup>9+</sup>
1669

L
libing23 已提交
1670
deleteAuthToken(name: string, owner: string, authType: string, token: string): Promise&lt;void&gt;
1671

J
jidong 已提交
1672
删除指定应用帐号的特定鉴权类型的授权令牌。使用Promise异步回调。
1673 1674 1675 1676 1677

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
1678 1679 1680
| 参数名      | 类型     | 必填   | 说明           |
| -------- | ------ | ---- | ------------ |
| name     | string | 是    | 应用帐号的名称。     |
J
jidong 已提交
1681
| owner    | string | 是    | 应用帐号所有者的包名。  |
L
libing23 已提交
1682
| authType | string | 是    | 鉴权类型。        |
J
jidong 已提交
1683
| token    | string | 是    | 授权令牌。 |
1684 1685 1686

**返回值:**

L
libing23 已提交
1687 1688
| 类型                  | 说明                    |
| ------------------- | --------------------- |
A
Annie_wang 已提交
1689
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
1690 1691 1692

**错误码:**

J
jidong 已提交
1693 1694 1695
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
C
chennian 已提交
1696
| 12300002 | Invalid name, owner, authType or token. |
J
jidong 已提交
1697 1698
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
1699 1700 1701 1702

**示例:**

  ```js
L
libing23 已提交
1703
  try {
J
jidong 已提交
1704 1705 1706 1707 1708
    appAccountManager.deleteAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", "xxxxx").then(() => {
      console.log("deleteAuthToken successfully");
    }).catch((err) => {
      console.log('deleteAuthToken failed, error: ' + JSON.stringify(err));
    });
L
libing23 已提交
1709
  } catch (err) {
J
jidong 已提交
1710
    console.log('deleteAuthToken exception: ' + JSON.stringify(err));
L
libing23 已提交
1711
  }
1712 1713
  ```

L
libing23 已提交
1714
### setAuthTokenVisibility<sup>9+</sup>
1715

L
libing23 已提交
1716
setAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean, callback: AsyncCallback&lt;void&gt;): void
1717

J
jidong 已提交
1718
设置指定帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用callback异步回调。
1719 1720 1721 1722 1723

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
1724 1725 1726 1727 1728
| 参数名        | 类型                        | 必填   | 说明                        |
| ---------- | ------------------------- | ---- | ------------------------- |
| name       | string                    | 是    | 应用帐号的名称。                  |
| authType   | string                    | 是    | 鉴权类型。                     |
| bundleName | string                    | 是    | 被设置可见性的应用包名。              |
J
jidong 已提交
1729 1730
| isVisible  | boolean                   | 是    | 是否可见。true表示可见,false表示不可见。 |
| callback   | AsyncCallback&lt;void&gt; | 是    | 回调函数。当设置成功时,err为null;否则为错误对象。|
L
libing23 已提交
1731 1732 1733

**错误码:**

J
jidong 已提交
1734 1735 1736
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
C
chennian 已提交
1737
| 12300002 | Invalid name, authType or bundleName. |
J
jidong 已提交
1738 1739 1740 1741
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
| 12400001 | Application not found. |
| 12400005 | The size of authorization list reaches the upper limit. |
1742 1743 1744 1745

**示例:**

  ```js
L
libing23 已提交
1746
  try {
J
jidong 已提交
1747 1748 1749 1750 1751 1752
      appAccountManager.setAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", true, (err) => {
        if (err) {
          console.log("setAuthTokenVisibility failed, error: " + JSON.stringify(err));
        } else {
          console.log("setAuthTokenVisibility successfully");
        }
L
libing23 已提交
1753 1754
      });
  } catch (err) {
J
jidong 已提交
1755
      console.log("setAuthTokenVisibility exception: " + JSON.stringify(err));
L
libing23 已提交
1756
  }
1757 1758
  ```

L
libing23 已提交
1759
### setAuthTokenVisibility<sup>9+</sup>
1760

L
libing23 已提交
1761
setAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean): Promise&lt;void&gt;
1762

J
jidong 已提交
1763
设置指定帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用Promise异步回调。
1764 1765 1766 1767 1768

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

J
jidong 已提交
1769 1770 1771 1772 1773 1774
| 参数名      | 类型                        | 必填   | 说明                        |
| ---------- | ------------------------- | ---- | ------------------------- |
| name       | string                    | 是    | 应用帐号的名称。                  |
| authType   | string                    | 是    | 鉴权类型。                     |
| bundleName | string                    | 是    | 被设置可见性的应用包名。              |
| isVisible  | boolean                   | 是    | 是否可见。true表示可见,false表示不可见。 |
1775 1776 1777

**返回值:**

L
libing23 已提交
1778 1779
| 类型                  | 说明                    |
| ------------------- | --------------------- |
A
Annie_wang 已提交
1780
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
1781 1782 1783

**错误码:**

J
jidong 已提交
1784 1785 1786
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
C
chennian 已提交
1787
| 12300002 | Invalid name, authType or bundleName. |
J
jidong 已提交
1788 1789 1790 1791
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
| 12400001 | Application not found. |
| 12400005 | The size of authorization list reaches the upper limit. |
1792 1793 1794 1795

**示例:**

  ```js
L
libing23 已提交
1796
  try {
J
jidong 已提交
1797 1798 1799 1800 1801
    appAccountManager.setAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", true).then(() => {
      console.log("setAuthTokenVisibility successfully");
    }).catch((err) => {
      console.log("setAuthTokenVisibility failed, error: " + JSON.stringify(err));
    });
L
libing23 已提交
1802
  } catch (err) {
J
jidong 已提交
1803
    console.log("setAuthTokenVisibility exception: " + JSON.stringify(err));
L
libing23 已提交
1804
  }
1805 1806
  ```

L
libing23 已提交
1807
### checkAuthTokenVisibility<sup>9+</sup>
1808

L
libing23 已提交
1809
checkAuthTokenVisibility(name: string, authType: string, bundleName: string, callback: AsyncCallback&lt;boolean&gt;): void
1810

J
jidong 已提交
1811
检查指定应用帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用callback异步回调。
1812 1813 1814 1815 1816

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
1817 1818 1819 1820 1821
| 参数名        | 类型                           | 必填   | 说明          |
| ---------- | ---------------------------- | ---- | ----------- |
| name       | string                       | 是    | 应用帐号的名称。    |
| authType   | string                       | 是    | 鉴权类型。       |
| bundleName | string                       | 是    | 检查可见性的应用包名。 |
J
jidong 已提交
1822
| callback   | AsyncCallback&lt;boolean&gt; | 是    | 回调函数。当检查成功时,err为null,data为true表示可见,data为false表示不可见;否则为错误对象。    |
L
libing23 已提交
1823 1824 1825

**错误码:**

J
jidong 已提交
1826 1827 1828
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
C
chennian 已提交
1829
| 12300002 | Invalid name, authType or bundleName. |
J
jidong 已提交
1830 1831
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
L
libing23 已提交
1832

1833 1834 1835 1836
**示例:**

  ```js
  try {
J
jidong 已提交
1837 1838 1839 1840 1841 1842 1843
    appAccountManager.checkAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", (err, isVisible) => {
      if (err) {
        console.log("checkAuthTokenVisibility failed, error: " + JSON.stringify(err));
      } else {
        console.log("checkAuthTokenVisibility successfully, isVisible: " + isVisible);
      }
    });
1844
  } catch (err) {
J
jidong 已提交
1845
    console.log("checkAuthTokenVisibility exception: " + JSON.stringify(err));
1846 1847 1848
  }
  ```

L
libing23 已提交
1849
### checkAuthTokenVisibility<sup>9+</sup>
1850

L
libing23 已提交
1851
checkAuthTokenVisibility(name: string, authType: string, bundleName: string): Promise&lt;boolean&gt;
1852

J
jidong 已提交
1853
检查指定应用帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用Promise异步回调。
1854 1855 1856 1857 1858

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
1859 1860 1861 1862 1863
| 参数名        | 类型     | 必填   | 说明            |
| ---------- | ------ | ---- | ------------- |
| name       | string | 是    | 应用帐号的名称。      |
| authType   | string | 是    | 鉴权类型。         |
| bundleName | string | 是    | 用于检查可见性的应用包名。 |
1864 1865 1866

**返回值:**

L
libing23 已提交
1867 1868
| 类型                     | 说明                    |
| ---------------------- | --------------------- |
A
Annie_wang 已提交
1869
| Promise&lt;boolean&gt; | Promise对象。返回true表示授权令牌对指定应用的可见,返回false表示不可见。 |
L
libing23 已提交
1870 1871 1872

**错误码:**

J
jidong 已提交
1873 1874 1875
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
C
chennian 已提交
1876
| 12300002 | Invalid name, authType or bundleName. |
J
jidong 已提交
1877 1878
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
1879 1880 1881 1882 1883

**示例:**

  ```js
  try {
J
jidong 已提交
1884 1885 1886 1887 1888
    appAccountManager.checkAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo").then((isVisible) => {
      console.log("checkAuthTokenVisibility successfully, isVisible: " + isVisible);
    }).catch((err) => {
      console.log("checkAuthTokenVisibility failed, error: " + JSON.stringify(err));
    });
1889
  } catch (err) {
J
jidong 已提交
1890
    console.log("checkAuthTokenVisibility exception: " + JSON.stringify(err));
1891 1892 1893
  }
  ```

L
libing23 已提交
1894
### getAllAuthTokens<sup>9+</sup>
1895

J
jidong 已提交
1896
getAllAuthTokens(name: string, owner: string, callback: AsyncCallback&lt;Array&lt;AuthTokenInfo&gt;&gt;): void
1897

J
jidong 已提交
1898
获取指定帐号对调用方可见的所有授权令牌。使用callback异步回调。
1899 1900 1901 1902 1903

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
1904 1905 1906
| 参数名      | 类型                                       | 必填   | 说明          |
| -------- | ---------------------------------------- | ---- | ----------- |
| name     | string                                   | 是    | 应用帐号的名称。    |
J
jidong 已提交
1907 1908
| owner    | string                                   | 是    | 应用帐号所有者的包名。 |
| callback | AsyncCallback&lt;Array&lt;[AuthTokenInfo](#authtokeninfo9)&gt;&gt; | 是    | 回调函数。当获取成功时,err为null,data为授权令牌数组;否则为错误对象。    |
1909

L
libing23 已提交
1910 1911
**错误码:**

J
jidong 已提交
1912 1913 1914 1915 1916
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or owner. |
| 12300003 | Account not found. |
L
libing23 已提交
1917 1918

**示例:** 
1919 1920

  ```js
L
libing23 已提交
1921
  try {
J
jidong 已提交
1922 1923 1924 1925 1926 1927 1928
    appAccountManager.getAllAuthTokens("LiSi", "com.example.accountjsdemo", (err, tokenArr) => {
      if (err) {
        console.log("getAllAuthTokens failed, error: "  + JSON.stringify(err));
      } else {
        console.log('getAllAuthTokens successfully, tokenArr: ' + tokenArr);
      }
    });
L
libing23 已提交
1929
  } catch (err) {
J
jidong 已提交
1930
    console.log("getAllAuthTokens exception: "  + JSON.stringify(err));
L
libing23 已提交
1931
  }
1932 1933
  ```

L
libing23 已提交
1934
### getAllAuthTokens<sup>9+</sup>
1935

L
libing23 已提交
1936
getAllAuthTokens(name: string, owner: string): Promise&lt;Array&lt;AuthTokenInfo&gt;&gt;
1937

J
jidong 已提交
1938
获取指定帐号对调用方可见的所有授权令牌。使用Promise异步回调。
1939 1940 1941 1942 1943

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
1944 1945 1946
| 参数名   | 类型     | 必填   | 说明          |
| ----- | ------ | ---- | ----------- |
| name  | string | 是    | 应用帐号的名称。    |
J
jidong 已提交
1947
| owner | string | 是    | 应用帐号所有者的包名。 |
1948 1949 1950

**返回值:**

L
libing23 已提交
1951 1952
| 类型                                       | 说明                    |
| ---------------------------------------- | --------------------- |
J
jidong 已提交
1953
| Promise&lt;Array&lt;[AuthTokenInfo](#authtokeninfo9)&gt;&gt; | Promise对象,返回授权令牌数组。 |
L
libing23 已提交
1954 1955 1956

**错误码:**

J
jidong 已提交
1957 1958 1959 1960 1961
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or owner. |
| 12300003 | Account not found. |
1962 1963 1964 1965

**示例:**

  ```js
L
libing23 已提交
1966
  try {
J
jidong 已提交
1967 1968 1969 1970 1971
    appAccountManager.getAllAuthTokens("LiSi", "com.example.accountjsdemo").then((tokenArr) => {
        console.log('getAllAuthTokens successfully, tokenArr: ' + JSON.stringify(tokenArr));
    }).catch((err) => {
        console.log("getAllAuthTokens failed, error: "  + JSON.stringify(err));
    });
L
libing23 已提交
1972
  } catch (err) {
J
jidong 已提交
1973
    console.log("getAllAuthTokens exception: "  + JSON.stringify(err));
L
libing23 已提交
1974
  }
1975 1976
  ```

L
libing23 已提交
1977
### getAuthList<sup>9+</sup>
1978

L
libing23 已提交
1979
getAuthList(name: string, authType: string, callback: AsyncCallback&lt;Array&lt;string&gt;&gt;): void
1980

J
jidong 已提交
1981
获取指定应用帐号的特定鉴权类型的授权列表,即被授权的包名数组(令牌的授权列表通过[setAuthTokenVisibility](#setauthtokenvisibility9)来设置)。使用callback异步回调。
1982 1983 1984 1985 1986

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
1987 1988 1989
| 参数名      | 类型                                       | 必填   | 说明                      |
| -------- | ---------------------------------------- | ---- | ----------------------- |
| name     | string                                   | 是    | 应用帐号的名称。                |
J
jidong 已提交
1990 1991
| authType | string                                   | 是    | 鉴权类型。 |
| callback | AsyncCallback&lt;Array&lt;string&gt;&gt; | 是    | 回调函数。当获取成功时,err为null,data为被授权的包名数组;否则为错误对象。 |
1992

L
libing23 已提交
1993
**错误码:**
1994

J
jidong 已提交
1995 1996 1997 1998 1999 2000
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or authType. |
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
2001 2002 2003 2004 2005

**示例:**

  ```js
  try {
J
jidong 已提交
2006 2007 2008 2009 2010 2011 2012
    appAccountManager.getAuthList("com.example.accountjsdemo", "getSocialData", (err, authList) => {
      if (err) {
        console.log("getAuthList failed, error: " + JSON.stringify(err));
      } else {
        console.log("getAuthList successfully, authList: " + authList);
      }
    });
2013
  } catch (err) {
J
jidong 已提交
2014
    console.log('getAuthList exception: ' + JSON.stringify(err));
2015 2016 2017
  }
  ```

L
libing23 已提交
2018
### getAuthList<sup>9+</sup>
2019

L
libing23 已提交
2020
getAuthList(name: string, authType: string): Promise&lt;Array&lt;string&gt;&gt;
2021

J
jidong 已提交
2022
获取指定应用帐号的特定鉴权类型的授权列表,即被授权的包名数组(令牌的授权列表通过[setAuthTokenVisibility](#setauthtokenvisibility9)来设置)。使用Promise异步回调。
2023 2024 2025 2026 2027

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
2028
| 参数名      | 类型     | 必填   | 说明                      |
J
jidong 已提交
2029
| -------- | ------ | ---- | ------------------------------ |
L
libing23 已提交
2030
| name     | string | 是    | 应用帐号的名称。                |
J
jidong 已提交
2031
| authType | string | 是    | 鉴权类型。 |
2032

L
libing23 已提交
2033
**返回值:**
2034

L
libing23 已提交
2035 2036
| 类型                                 | 说明                    |
| ---------------------------------- | --------------------- |
J
jidong 已提交
2037
| Promise&lt;Array&lt;string&gt;&gt; | Promise对象,返回被授权的包名数组。 |
2038

L
libing23 已提交
2039
**错误码:**
2040

J
jidong 已提交
2041 2042 2043 2044 2045 2046
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or authType. |
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
2047 2048 2049 2050

**示例:**

  ```js
L
libing23 已提交
2051
  try {
J
jidong 已提交
2052 2053 2054 2055 2056
    appAccountManager.getAuthList("com.example.accountjsdemo", "getSocialData").then((authList) => {
        console.log("getAuthList successfully, authList: " + authList);
    }).catch((err) => {
        console.log("getAuthList failed, error: "  + JSON.stringify(err));
    });
L
libing23 已提交
2057
  } catch (err) {
J
jidong 已提交
2058
    console.log("getAuthList exception: "  + JSON.stringify(err));
2059 2060 2061
  }
  ```

L
libing23 已提交
2062
### getAuthCallback<sup>9+</sup>
2063

L
libing23 已提交
2064
getAuthCallback(sessionId: string, callback: AsyncCallback&lt;AuthCallback&gt;): void
2065

J
jidong 已提交
2066
获取鉴权会话的认证器回调对象。使用callback异步回调。
2067 2068 2069 2070 2071

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
2072 2073 2074
| 参数名       | 类型                                       | 必填   | 说明       |
| --------- | ---------------------------------------- | ---- | -------- |
| sessionId | string                                   | 是    | 鉴权会话的标识。 |
J
jidong 已提交
2075
| callback  | AsyncCallback&lt;[AuthCallback](#authcallback9)&gt; | 是    | 回调函数。当获取成功时,err为null,data为鉴权会话的认证器回调对象;否则为错误对象。 |
L
libing23 已提交
2076 2077 2078

**错误码:**

J
jidong 已提交
2079 2080 2081 2082 2083
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid sessionId. |
| 12300108 | Session not found. |
2084 2085 2086 2087

**示例:**

  ```js
L
libing23 已提交
2088 2089
  import featureAbility from '@ohos.ability.featureAbility';
  featureAbility.getWant((err, want) => {
J
jidong 已提交
2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111
    var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];
    try {
      appAccountManager.getAuthCallback(sessionId, (err, callback) => {
        if (err.code != account_appAccount.ResultCode.SUCCESS) {
            console.log("getAuthCallback err: "  + JSON.stringify(err));
            return;
        }
        var result = {
          accountInfo: {
            name: "Lisi",
            owner: "com.example.accountjsdemo",
          },
          tokenInfo: {
            token: "xxxxxx",
            authType: "getSocialData"
          }
        }; 
        callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
      });
    } catch (err) {
        console.log("getAuthCallback exception: "  + JSON.stringify(err));
    }
L
libing23 已提交
2112
  });
2113 2114
  ```

L
libing23 已提交
2115
### getAuthCallback<sup>9+</sup>
2116

L
libing23 已提交
2117
getAuthCallback(sessionId: string): Promise&lt;AuthCallback&gt;
2118

J
jidong 已提交
2119
获取鉴权会话的认证器回调对象。使用Promise异步回调。
2120 2121 2122 2123 2124

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
2125 2126 2127 2128 2129 2130 2131 2132
| 参数名       | 类型     | 必填   | 说明       |
| --------- | ------ | ---- | -------- |
| sessionId | string | 是    | 鉴权会话的标识。 |

**返回值:**

| 类型                                   | 说明                    |
| ------------------------------------ | --------------------- |
J
jidong 已提交
2133
| Promise&lt;[AuthCallback](#authcallback9)&gt; | Promise对象,返回鉴权会话的认证器回调对象。 |
L
libing23 已提交
2134 2135 2136

**错误码:**

J
jidong 已提交
2137 2138 2139 2140 2141
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid sessionId. |
| 12300108 | Session not found. |
2142 2143 2144 2145

**示例:**

  ```js
L
libing23 已提交
2146 2147 2148 2149 2150
  import featureAbility from '@ohos.ability.featureAbility';

  featureAbility.getWant().then((want) => {
      var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];
      try {
J
jidong 已提交
2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167
        appAccountManager.getAuthCallback(sessionId).then((callback) => {
        var result = {
          accountInfo: {
            name: "Lisi",
            owner: "com.example.accountjsdemo",
          },
          tokenInfo: {
            token: "xxxxxx",
            authType: "getSocialData"
          }
        };
        callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
        }).catch((err) => {
            console.log("getAuthCallback err: "  + JSON.stringify(err));
        });
      } catch (err) {
        console.log("getAuthCallback exception: "  + JSON.stringify(err));
L
libing23 已提交
2168 2169 2170 2171
      }
  }).catch((err) => {
      console.log("getWant err: "  + JSON.stringify(err));
  });
2172 2173
  ```

L
libing23 已提交
2174
### queryAuthenticatorInfo<sup>9+</sup>
2175

L
libing23 已提交
2176
queryAuthenticatorInfo(owner: string, callback: AsyncCallback&lt;AuthenticatorInfo&gt;): void
2177

J
jidong 已提交
2178
获取指定应用的认证器信息。使用callback异步回调。
2179 2180 2181 2182 2183

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
2184 2185
| 参数名      | 类型                                     | 必填   | 说明          |
| -------- | -------------------------------------- | ---- | ----------- |
J
jidong 已提交
2186 2187
| owner    | string                                 | 是    | 应用包名。 |
| callback | AsyncCallback&lt;[AuthenticatorInfo](#authenticatorinfo8)&gt; | 是    | 回调函数。当获取成功时,err为null,data为认证器信息对象;否则为错误对象。    |
2188

L
libing23 已提交
2189
**错误码:**
2190

J
jidong 已提交
2191 2192 2193 2194 2195
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid owner. |
| 12300113 | Authenticator service not found. |
2196

L
libing23 已提交
2197
**示例:**
2198

L
libing23 已提交
2199
  ```js
2200
  try {
J
jidong 已提交
2201 2202 2203 2204 2205 2206 2207
    appAccountManager.queryAuthenticatorInfo("com.example.accountjsdemo", (err, info) => {
      if (err) {
        console.log("queryAuthenticatorInfo failed, error: "  + JSON.stringify(err));
      } else {
        console.log('queryAuthenticatorInfo successfully, info: ' + JSON.stringify(info));
      }
    });
2208
  } catch (err) {
J
jidong 已提交
2209
    console.log("queryAuthenticatorInfo exception: "  + JSON.stringify(err));
2210 2211 2212
  }
  ```

L
libing23 已提交
2213
### queryAuthenticatorInfo<sup>9+</sup>
2214

L
libing23 已提交
2215
queryAuthenticatorInfo(owner: string): Promise&lt;AuthenticatorInfo&gt;
2216

J
jidong 已提交
2217
获取指定应用的认证器信息。使用Promise异步回调。
2218 2219 2220 2221 2222

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
2223 2224
| 参数名   | 类型     | 必填   | 说明          |
| ----- | ------ | ---- | ----------- |
J
jidong 已提交
2225
| owner | string | 是    | 应用包名。 |
2226

L
libing23 已提交
2227
**返回值:**
2228

L
libing23 已提交
2229 2230
| 类型                               | 说明                    |
| -------------------------------- | --------------------- |
J
jidong 已提交
2231
| Promise&lt;[AuthenticatorInfo](#authenticatorinfo8)&gt; | Promise对象,返回指定应用的认证器信息对象。 |
2232

L
libing23 已提交
2233
**错误码:**
2234

J
jidong 已提交
2235 2236 2237 2238 2239
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid owner. |
| 12300113 | Authenticator service not found. |
L
libing23 已提交
2240 2241

**示例:**
2242

L
libing23 已提交
2243
  ```js
2244
  try {
J
jidong 已提交
2245 2246 2247 2248 2249
    appAccountManager.queryAuthenticatorInfo("com.example.accountjsdemo").then((info) => { 
        console.log("queryAuthenticatorInfo successfully, info: " + JSON.stringify(info));
    }).catch((err) => {
        console.log("queryAuthenticatorInfo failed, error: "  + JSON.stringify(err));
    });
2250
  } catch (err) {
J
jidong 已提交
2251
    console.log("queryAuthenticatorInfo exception: "  + JSON.stringify(err));
2252 2253 2254
  }
  ```

L
libing23 已提交
2255
### checkAccountLabels<sup>9+</sup>
2256

L
libing23 已提交
2257
checkAccountLabels(name: string, owner: string, labels: Array&lt;string&gt;, callback: AsyncCallback&lt;boolean&gt;): void;
2258

J
jidong 已提交
2259
检查指定应用帐号是否满足特定的标签集合。使用callback异步回调。该方法依赖目标应用的认证器提供标签检查的能力。
2260 2261 2262 2263 2264

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
2265 2266
| 参数名         | 类型                       | 必填  | 说明             |
| -------------- | ------------------------- | ----- | --------------- |
J
jidong 已提交
2267 2268
| name           | string                    | 是    | 应用帐号的名称。  |
| owner          | string                    | 是    | 应用帐号的所有者。|
L
libing23 已提交
2269
| labels         | Array&lt;string&gt;       | 是    | 标签数组。       |
J
jidong 已提交
2270
| callback       | AsyncCallback&lt;boolean&gt; | 是    | 回调函数。当检查成功时,err为null,data为true表示满足特定的标签集合,data为false表示不满足;否则为错误对象。  |
2271

L
libing23 已提交
2272
**错误码:**
J
jidong 已提交
2273

J
jidong 已提交
2274 2275 2276
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
C
chennian 已提交
2277
| 12300002 | Invalid name, owner or labels. |
J
jidong 已提交
2278 2279 2280 2281
| 12300003 | Account not found. |
| 12300010 | Account service busy. |
| 12300113 | Authenticator service not found. |
| 12300114 | Authenticator service exception. |
J
jidong 已提交
2282

L
libing23 已提交
2283
**示例:**
J
jidong 已提交
2284

L
libing23 已提交
2285
  ```js
J
jidong 已提交
2286
  let labels = ["student"];
L
libing23 已提交
2287
  try {
J
jidong 已提交
2288 2289 2290 2291 2292 2293 2294
    appAccountManager.checkAccountLabels("zhangsan", "com.example.accountjsdemo", labels, (err, hasAllLabels) => {
      if (err) {
        console.log("checkAccountLabels failed, error: "  + JSON.stringify(err));
      } else {
        console.log("checkAccountLabels successfully, hasAllLabels: " + hasAllLabels);
      }
    });
L
libing23 已提交
2295
  } catch (err) {
J
jidong 已提交
2296
    console.log("checkAccountLabels exception: "  + JSON.stringify(err));
2297 2298 2299
  }
  ```

L
libing23 已提交
2300
### checkAccountLabels<sup>9+</sup>
2301

L
libing23 已提交
2302
checkAccountLabels(name: string, owner: string, labels: Array&lt;string&gt;): Promise&lt;boolean&gt;
2303

J
jidong 已提交
2304
检查指定应用帐号是否满足特定的标签集合。使用Promise异步回调。该方法依赖目标应用的认证器提供标签检查的能力。
2305 2306 2307 2308 2309

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
2310 2311
| 参数名         | 类型                       | 必填  | 说明             |
| -------------- | ------------------------- | ----- | --------------- |
J
jidong 已提交
2312 2313
| name           | string                    | 是    | 应用帐号的名称。  |
| owner          | string                    | 是    | 应用帐号的所有者。|
L
libing23 已提交
2314 2315 2316 2317 2318 2319
| labels         | Array&lt;string&gt;       | 是    | 标签数组。       |

**返回值:**

| 类型                | 说明                              |
| ------------------- | -------------------------------- |
A
Annie_wang 已提交
2320
| Promise&lt;boolean&gt; | Promise对象。返回true表示指定帐号满足特定的标签集合,返回false表示不满足。 |
L
libing23 已提交
2321 2322 2323

**错误码:**

J
jidong 已提交
2324 2325 2326
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
C
chennian 已提交
2327
| 12300002 | Invalid name, owner or labels. |
J
jidong 已提交
2328 2329 2330 2331
| 12300003 | Account not found. |
| 12300010 | Account service busy. |
| 12300113 | Authenticator service not found. |
| 12300114 | Authenticator service exception. |
2332 2333 2334 2335

**示例:**

  ```js
J
jidong 已提交
2336
  let labels = ["student"];
2337
  try {
J
jidong 已提交
2338 2339 2340 2341 2342
    appAccountManager.checkAccountLabels("zhangsan", "com.example.accountjsdemo", labels).then((hasAllLabels) => {
      console.log('checkAccountLabels successfully: ' + hasAllLabels);
    }).catch((err) => {
      console.log("checkAccountLabels failed, error: "  + JSON.stringify(err));
    });
2343
  } catch (err) {
J
jidong 已提交
2344
    console.log("checkAccountLabels exception: "  + JSON.stringify(err));
J
jidong 已提交
2345
  }
2346 2347
  ```

L
libing23 已提交
2348
### deleteCredential<sup>9+</sup>
2349

L
libing23 已提交
2350
deleteCredential(name: string, credentialType: string, callback: AsyncCallback&lt;void&gt;): void
2351

J
jidong 已提交
2352
删除指定应用帐号的特定类型的凭据信息。使用callback异步回调。
2353 2354 2355 2356 2357

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
2358 2359
| 参数名         | 类型                       | 必填  | 说明            |
| -------------- | ------------------------- | ----- | -------------- |
J
jidong 已提交
2360
| name           | string                    | 是    | 应用帐号的名称。 |
L
libing23 已提交
2361
| credentialType | string                    | 是    | 凭据类型。      |
J
jidong 已提交
2362
| callback       | AsyncCallback&lt;void&gt; | 是    | 回调函数。当删除成功时,err为null;否则为错误对象。 |
2363

L
libing23 已提交
2364
**错误码:**
2365

J
jidong 已提交
2366 2367 2368 2369 2370 2371
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name or credentialType. |
| 12300003 | Account not found. |
| 12300102 | Credential not found. |
2372 2373

**示例:**
J
jidong 已提交
2374

2375 2376
  ```js
  try {
J
jidong 已提交
2377 2378 2379 2380 2381 2382 2383
    appAccountManager.deleteCredential("zhangsan", "PIN_SIX", (err) => {
      if (err) {
        console.log("deleteCredential failed, error: "  + JSON.stringify(err));
      } else {
        console.log("deleteCredential successfully");
      }
    });
2384
  } catch (err) {
J
jidong 已提交
2385
    console.log("deleteCredential exception: "  + JSON.stringify(err));
2386
  }
J
jidong 已提交
2387 2388
  ```

L
libing23 已提交
2389
### deleteCredential<sup>9+</sup>
J
jidong 已提交
2390

L
libing23 已提交
2391
deleteCredential(name: string, credentialType: string): Promise&lt;void&gt;
J
jidong 已提交
2392

J
jidong 已提交
2393
删除指定应用帐号的特定类型的凭据信息。使用Promise异步回调。
2394

Z
zengyawen 已提交
2395 2396 2397
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
J
jidong 已提交
2398

L
libing23 已提交
2399 2400
| 参数名         | 类型   | 必填   | 说明            |
| -------------- | ------ | ----- | --------------- |
J
jidong 已提交
2401
| name           | string | 是    | 应用帐号的名称。 |
L
libing23 已提交
2402 2403 2404 2405 2406 2407
| credentialType | string | 是    | 凭据类型。       |

**返回值:**

| 类型                | 说明                              |
| ------------------- | -------------------------------- |
A
Annie_wang 已提交
2408
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
2409 2410 2411

**错误码:**

J
jidong 已提交
2412 2413 2414 2415 2416 2417
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name or credentialType. |
| 12300003 | Account not found. |
| 12300102 | Credential not found. |
J
jidong 已提交
2418

Z
zengyawen 已提交
2419
**示例:**
J
jidong 已提交
2420

Z
zhangalong 已提交
2421
  ```js
L
libing23 已提交
2422
  try {
J
jidong 已提交
2423 2424 2425 2426 2427
    appAccountManager.deleteCredential("zhangsan", "PIN_SIX").then(() => {
      console.log("deleteCredential successfully");
    }).catch((err) => {
      console.log("deleteCredential failed, error: " + JSON.stringify(err));
    });
L
libing23 已提交
2428
  } catch (err) {
J
jidong 已提交
2429
    console.log("deleteCredential exception: "  + JSON.stringify(err));
L
libing23 已提交
2430
  }
J
jidong 已提交
2431 2432
  ```

L
libing23 已提交
2433
### selectAccountsByOptions<sup>9+</sup>
J
jidong 已提交
2434

J
jidong 已提交
2435
selectAccountsByOptions(options: SelectAccountsOptions, callback: AsyncCallback&lt;Array&lt;AppAccountInfo&gt;&gt;): void
J
jidong 已提交
2436

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

Z
zengyawen 已提交
2439
**系统能力:** SystemCapability.Account.AppAccount
J
jidong 已提交
2440

Z
zengyawen 已提交
2441
**参数:**
J
jidong 已提交
2442

L
libing23 已提交
2443 2444
| 参数名         | 类型                                 | 必填  | 说明             |
| -------------- | ----------------------------------- | ----- | --------------- |
J
jidong 已提交
2445
| options        | SelectAccountsOptions               | 是    | 选择帐号的选项。  |
2446
| callback       | AsyncCallback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 是    | 回调函数。当根据选项选择请求方可访问的帐号列表时,err为null,data为可访问的帐号信息对象;否则为错误对象。  |
J
jidong 已提交
2447

L
libing23 已提交
2448
**错误码:**
J
jidong 已提交
2449

J
jidong 已提交
2450 2451 2452 2453 2454 2455
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid options. |
| 12300010 | Account service busy. |
| 12300114 | Authenticator service exception. |
2456 2457 2458 2459

**示例:**

  ```js
J
jidong 已提交
2460 2461 2462
  let options = {
    allowedOwners: [ "com.example.accountjsdemo" ],
    requiredLabels: [ "student" ]
L
libing23 已提交
2463
  };
2464
  try {
J
jidong 已提交
2465 2466 2467 2468 2469 2470 2471
    appAccountManager.selectAccountsByOptions(options, (err, accountArr) => {
      if (err) {
        console.log("selectAccountsByOptions failed, error: "  + JSON.stringify(err));
      } else {
        console.log("selectAccountsByOptions successfully, accountArr: " + JSON.stringify(accountArr));
      }
    });
2472
  } catch (err) {
J
jidong 已提交
2473
    console.log("selectAccountsByOptions exception: "  + JSON.stringify(err));
2474 2475 2476
  }
  ```

L
libing23 已提交
2477
### selectAccountsByOptions<sup>9+</sup>
2478

L
libing23 已提交
2479
selectAccountsByOptions(options: SelectAccountsOptions): Promise&lt;Array&lt;AppAccountInfo&gt;&gt;
2480

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

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
2487 2488
| 参数名         | 类型                       | 必填  | 说明             |
| -------------- | ------------------------- | ----- | --------------- |
J
jidong 已提交
2489
| options        | [SelectAccountsOptions](#selectaccountsoptions9)     | 是    | 选择帐号的选项。  |
2490 2491 2492

**返回值:**

L
libing23 已提交
2493 2494
| 类型                | 说明                              |
| ------------------- | -------------------------------- |
J
jidong 已提交
2495
| Promise&lt;[AppAccountInfo](#appaccountinfo)&gt; | Promise对象,返回调用方可访问的帐号列表。 |
L
libing23 已提交
2496 2497 2498

**错误码:**

J
jidong 已提交
2499 2500 2501 2502 2503 2504
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid options. |
| 12300010 | Account service busy. |
| 12300114 | Authenticator service exception. |
2505 2506 2507 2508

**示例:**

  ```js
J
jidong 已提交
2509 2510
  let options = {
    allowedOwners: ["com.example.accountjsdemo"]
L
libing23 已提交
2511
  };
2512
  try {
J
jidong 已提交
2513 2514 2515 2516 2517
    appAccountManager.selectAccountsByOptions(options).then((accountArr) => {
      console.log("selectAccountsByOptions successfully, accountArr: " + JSON.stringify(accountArr));
    }).catch((err) => {
      console.log("selectAccountsByOptions failed, error: "  + JSON.stringify(err));
    });
2518
  } catch (err) {
J
jidong 已提交
2519
    console.log("selectAccountsByOptions exception: "  + JSON.stringify(err));
2520 2521 2522
  }
  ```

L
libing23 已提交
2523
### verifyCredential<sup>9+</sup>
J
jidong 已提交
2524

J
jidong 已提交
2525
verifyCredential(name: string, owner: string, callback: AuthCallback): void;
J
jidong 已提交
2526

J
jidong 已提交
2527
验证指定帐号的凭据。使用callback异步回调。
2528

Z
zengyawen 已提交
2529 2530 2531
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
J
jidong 已提交
2532

L
libing23 已提交
2533 2534
| 参数名    | 类型                  | 必填  | 说明                     |
| -------- | --------------------- | ----- | ----------------------- |
J
jidong 已提交
2535 2536 2537
| name     | string                | 是    | 应用帐号的名称。          |
| owner    | string                | 是    | 应用帐号所有者的包名。        |
| callback | [AuthCallback](#authcallback9) | 是    | 回调函数,返回验证结果。 |
L
libing23 已提交
2538 2539 2540

**错误码:**

J
jidong 已提交
2541 2542 2543 2544 2545 2546 2547 2548
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or owner. |
| 12300003 | Account not found. |
| 12300010 | Account service busy. |
| 12300113 | Authenticator service not found. |
| 12300114 | Authenticator service exception. |
J
jidong 已提交
2549

Z
zengyawen 已提交
2550
**示例:**
J
jidong 已提交
2551

Z
zhangalong 已提交
2552
  ```js
L
libing23 已提交
2553
  try {
J
jidong 已提交
2554
      appAccountManager.verifyCredential("zhangsan", "com.example.accountjsdemo", {
L
libing23 已提交
2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565
          onResult: (resultCode, result) => {
              console.log("verifyCredential onResult, resultCode:" + JSON.stringify(resultCode));
              console.log("verifyCredential onResult, result:" + JSON.stringify(result));
          },
          onRequestRedirected: (request) => {
              console.log("verifyCredential onRequestRedirected, request:" + JSON.stringify(request));
          }
      });
  } catch (err) {
      console.log("verifyCredential err: "  + JSON.stringify(err));
  }
J
jidong 已提交
2566 2567
  ```

L
libing23 已提交
2568
### verifyCredential<sup>9+</sup>
J
jidong 已提交
2569

J
jidong 已提交
2570
verifyCredential(name: string, owner: string, options: VerifyCredentialOptions, callback: AuthCallback): void;
J
jidong 已提交
2571

L
libing23 已提交
2572
验证用户凭据。使用callback异步回调。
2573

Z
zengyawen 已提交
2574
**系统能力:** SystemCapability.Account.AppAccount
J
jidong 已提交
2575

Z
zengyawen 已提交
2576
**参数:**
J
jidong 已提交
2577

L
libing23 已提交
2578 2579
| 参数名    | 类型                    | 必填  | 说明                     |
| -------- | ----------------------- | ----- | ----------------------- |
J
jidong 已提交
2580 2581
| name     | string                  | 是    | 应用帐号的名称。          |
| owner    | string                  | 是    | 应用帐号所有者的包名。        |
L
libing23 已提交
2582
| options  | [VerifyCredentialOptions](#verifycredentialoptions9) | 是    | 验证凭据的选项。          |
J
jidong 已提交
2583
| callback | [AuthCallback](#authcallback9)   | 是    | 回调函数,返回验证结果。 |
J
jidong 已提交
2584

L
libing23 已提交
2585
**错误码:**
J
jidong 已提交
2586

J
jidong 已提交
2587 2588 2589
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
C
chennian 已提交
2590
| 12300002 | Invalid name, owner or options. |
J
jidong 已提交
2591 2592 2593 2594
| 12300003 | Account not found. |
| 12300010 | Account service busy. |
| 12300113 | Authenticator service not found. |
| 12300114 | Authenticator service exception. |
Z
zengyawen 已提交
2595 2596

**示例:**
J
jidong 已提交
2597

Z
zhangalong 已提交
2598
  ```js
J
jidong 已提交
2599
  let options = {
L
libing23 已提交
2600 2601 2602 2603
    credentialType: "pin",
    credential: "123456"
  };
  try {
J
jidong 已提交
2604 2605 2606 2607 2608 2609 2610 2611 2612
    appAccountManager.verifyCredential("zhangsan", "com.example.accountjsdemo", options, {
      onResult: (resultCode, result) => {
        console.log("verifyCredential onResult, resultCode:" + JSON.stringify(resultCode));
        console.log("verifyCredential onResult, result:" + JSON.stringify(result));
      },
      onRequestRedirected: (request) => {
        console.log("verifyCredential onRequestRedirected, request:" + JSON.stringify(request));
      }
    });
L
libing23 已提交
2613 2614 2615
  } catch (err) {
    console.log("verifyCredential err: "  + JSON.stringify(err));
  }
J
jidong 已提交
2616 2617
  ```

L
libing23 已提交
2618
### setAuthenticatorProperties<sup>9+</sup>
2619

L
libing23 已提交
2620
setAuthenticatorProperties(owner: string, callback: AuthCallback): void;
2621

J
jidong 已提交
2622
设置指定应用的认证器属性。使用callback异步回调。
2623 2624 2625 2626 2627

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
2628 2629 2630
| 参数名    | 类型                  | 必填  | 说明                     |
| -------- | --------------------- | ----- | ----------------------- |
| owner    | string                | 是    | 认证器的所有者。          |
J
jidong 已提交
2631
| callback | [AuthCallback](#authcallback9) | 是    | 回调函数,返回设置属性的结果。 |
L
libing23 已提交
2632 2633 2634

**错误码:**

J
jidong 已提交
2635 2636 2637 2638 2639 2640 2641
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid owner. |
| 12300010 | Account service busy. |
| 12300113 | Authenticator service not found. |
| 12300114 | Authenticator service exception. |
2642 2643 2644 2645 2646

**示例:**

  ```js
  try {
J
jidong 已提交
2647 2648 2649 2650 2651 2652 2653 2654 2655
    appAccountManager.setAuthenticatorProperties("com.example.accountjsdemo", {
      onResult: (resultCode, result) => {
        console.log("setAuthenticatorProperties onResult, resultCode:" + JSON.stringify(resultCode));
        console.log("setAuthenticatorProperties onResult, result:" + JSON.stringify(result));
      },
      onRequestRedirected: (request) => {
        console.log("setAuthenticatorProperties onRequestRedirected, request:" + JSON.stringify(request));
      }
    });
2656
  } catch (err) {
J
jidong 已提交
2657
    console.log("setAuthenticatorProperties err: "  + JSON.stringify(err));
2658 2659 2660
  }
  ```

L
libing23 已提交
2661
### setAuthenticatorProperties<sup>9+</sup>
2662

L
libing23 已提交
2663
setAuthenticatorProperties(owner: string, options: SetPropertiesOptions, callback: AuthCallback): void;
2664

L
libing23 已提交
2665
设置认证器属性。使用callback异步回调。
2666 2667 2668 2669 2670

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
2671 2672 2673 2674
| 参数名    | 类型                  | 必填  | 说明                     |
| -------- | --------------------- | ----- | ----------------------- |
| owner    | string                | 是    | 认证器的所有者。          |
| options  | [SetPropertiesOptions](#setpropertiesoptions9)  | 是    | 设置属性的选项。          |
J
jidong 已提交
2675
| callback | [AuthCallback](#authcallback9) | 是    | 认证器回调,返回设置属性的结果。 |
2676

L
libing23 已提交
2677
**错误码:**
2678

J
jidong 已提交
2679 2680 2681 2682 2683 2684 2685
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid owner or options. |
| 12300010 | Account service busy. |
| 12300113 | Authenticator service not found. |
| 12300114 | Authenticator service exception. |
2686 2687 2688 2689

**示例:**

  ```js
J
jidong 已提交
2690
  let options = {
L
libing23 已提交
2691 2692
    properties: {"prop1": "value1"}
  };
2693
  try {
J
jidong 已提交
2694 2695 2696 2697 2698 2699 2700 2701 2702
    appAccountManager.setAuthenticatorProperties("com.example.accountjsdemo", options, {
      onResult: (resultCode, result) => {
        console.log("setAuthenticatorProperties onResult, resultCode:" + JSON.stringify(resultCode));
        console.log("setAuthenticatorProperties onResult, result:" + JSON.stringify(result));
      },
      onRequestRedirected: (request) => {
        console.log("setAuthenticatorProperties onRequestRedirected, request:" + JSON.stringify(request));
      }
    });
2703
  } catch (err) {
J
jidong 已提交
2704
    console.log("setAuthenticatorProperties err: "  + JSON.stringify(err));
L
libing23 已提交
2705 2706
  } 

2707 2708
  ```

L
libing23 已提交
2709
### addAccount<sup>(deprecated)</sup>
J
jidong 已提交
2710

L
libing23 已提交
2711
addAccount(name: string, callback: AsyncCallback&lt;void&gt;): void
J
jidong 已提交
2712

J
jidong 已提交
2713
根据帐号名添加应用帐号。使用callback异步回调。
J
jidong 已提交
2714

L
libing23 已提交
2715
> **说明:** 
A
Annie_wang 已提交
2716 2717 2718
> 
>从 API version 7开始支持,从API version 9开始废弃。建议使用[createAccount](#createaccount9)替代。

2719

Z
zengyawen 已提交
2720 2721 2722
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
J
jidong 已提交
2723

L
libing23 已提交
2724 2725
| 参数名      | 类型                        | 必填   | 说明                   |
| -------- | ------------------------- | ---- | -------------------- |
J
jidong 已提交
2726 2727
| name     | string                    | 是    | 应用帐号的名称。          |
| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。当创建成功时,err为null,否则为错误对象。 |
J
jidong 已提交
2728

Z
zengyawen 已提交
2729
**示例:**
J
jidong 已提交
2730

Z
zhangalong 已提交
2731
  ```js
L
libing23 已提交
2732 2733
  appAccountManager.addAccount("WangWu", (err) => { 
      console.log("addAccount err: " + JSON.stringify(err));
J
jidong 已提交
2734 2735 2736
  });
  ```

L
libing23 已提交
2737
### addAccount<sup>(deprecated)</sup>
J
jidong 已提交
2738

L
libing23 已提交
2739
addAccount(name: string, extraInfo: string, callback: AsyncCallback&lt;void&gt;): void
J
jidong 已提交
2740

J
jidong 已提交
2741
根据帐号名和额外信息添加应用帐号。使用callback异步回调。
J
jidong 已提交
2742

A
Annie_wang 已提交
2743 2744
> **说明:** 
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[createAccount](#createaccount9-1)替代。
2745

Z
zengyawen 已提交
2746
**系统能力:** SystemCapability.Account.AppAccount
J
jidong 已提交
2747

Z
zengyawen 已提交
2748
**参数:**
J
jidong 已提交
2749

L
libing23 已提交
2750 2751
| 参数名       | 类型                        | 必填   | 说明                                       |
| --------- | ------------------------- | ---- | ---------------------------------------- |
J
jidong 已提交
2752
| name      | string                    | 是    | 应用帐号的名称。                              |
2753
| extraInfo | string                    | 是    | 额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。 |
J
jidong 已提交
2754
| callback  | AsyncCallback&lt;void&gt; | 是    | 回调函数。当创建成功时,err为null,否则为错误对象。             |
Z
zengyawen 已提交
2755 2756

**示例:**
J
jidong 已提交
2757

Z
zhangalong 已提交
2758
  ```js
L
libing23 已提交
2759
  appAccountManager.addAccount("LiSi", "token101", (err) => { 
J
jidong 已提交
2760
    console.log("addAccount err: " + JSON.stringify(err));
J
jidong 已提交
2761 2762 2763
  });
  ```

L
libing23 已提交
2764
### addAccount<sup>(deprecated)</sup>
2765

L
libing23 已提交
2766 2767
addAccount(name: string, extraInfo?: string): Promise&lt;void&gt;

J
jidong 已提交
2768
根据帐号名和额外信息添加应用帐号。使用callback异步回调。使用Promise异步回调。
2769

A
Annie_wang 已提交
2770 2771
> **说明:**  
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[createAccount](#createaccount9-2)替代。
2772 2773 2774 2775 2776

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
2777 2778
| 参数名       | 类型     | 必填   | 说明                                       |
| --------- | ------ | ---- | ---------------------------------------- |
J
jidong 已提交
2779
| name      | string | 是    | 应用帐号的名称。                            |
2780
| extraInfo | string | 否    | 额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。 |
L
libing23 已提交
2781 2782 2783 2784 2785

**返回值:**

| 类型                  | 说明                    |
| ------------------- | --------------------- |
A
Annie_wang 已提交
2786
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
2787 2788 2789 2790

**示例:**

  ```js
L
libing23 已提交
2791
  appAccountManager.addAccount("LiSi", "token101").then(()=> { 
J
jidong 已提交
2792
    console.log('addAccount Success');
L
libing23 已提交
2793
  }).catch((err) => {
J
jidong 已提交
2794
    console.log("addAccount err: "  + JSON.stringify(err));
L
libing23 已提交
2795
  });
2796 2797
  ```

L
libing23 已提交
2798
### addAccountImplicitly<sup>(deprecated)</sup>
2799

L
libing23 已提交
2800 2801
addAccountImplicitly(owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void

J
jidong 已提交
2802
根据指定的帐号所有者隐式地添加应用帐号。使用callback异步回调。
2803

A
Annie_wang 已提交
2804
> **说明:**  
L
libing23 已提交
2805
>
A
Annie_wang 已提交
2806
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[createAccountImplicitly](#createaccountimplicitly9)替代。
2807 2808 2809 2810 2811

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
2812 2813
| 参数名      | 类型                    | 必填   | 说明                      |
| -------- | --------------------- | ---- | ----------------------- |
J
jidong 已提交
2814 2815
| owner    | string                | 是    | 应用帐号所有者的包名。          |
| authType | string                | 是    | 鉴权类型。鉴权类型为自定义。  |
L
libing23 已提交
2816
| options  | {[key: string]: any}  | 是    | 鉴权所需要的可选项。可选项可根据自己需要设置。 |
J
jidong 已提交
2817
| callback | [AuthenticatorCallback](#authenticatorcallbackdeprecated) | 是    | 认证器回调对象,返回添加结果。         |
2818 2819 2820 2821

**示例:**

  ```js
L
liushuling 已提交
2822

L
libing23 已提交
2823 2824

  function onResultCallback(code, result) {
J
jidong 已提交
2825 2826
    console.log("resultCode: "  + code);
    console.log("result: "  + JSON.stringify(result));
L
libing23 已提交
2827 2828 2829
  }

  function onRequestRedirectedCallback(request) {
L
liushuling 已提交
2830 2831 2832 2833 2834 2835 2836 2837 2838
    let wantInfo = {
      deviceId: '',
      bundleName: 'com.example.accountjsdemo',
      action: 'ohos.want.action.viewData',
      entities: ['entity.system.default'],
    }
    this.context.startAbility(wantInfo).then(() => {
      console.log("startAbility successfully");
    }).catch((err) => {
J
jidong 已提交
2839
      console.log("startAbility err: " + JSON.stringify(err));
L
liushuling 已提交
2840
    })
2841
  }
L
libing23 已提交
2842

J
jidong 已提交
2843 2844 2845
  appAccountManager.addAccountImplicitly("com.example.accountjsdemo", "getSocialData", {}, {
    onResult: onResultCallback,
    onRequestRedirected: onRequestRedirectedCallback
L
libing23 已提交
2846
  });
2847 2848
  ```

L
libing23 已提交
2849
### deleteAccount<sup>(deprecated)</sup>
J
jidong 已提交
2850

L
libing23 已提交
2851
deleteAccount(name: string, callback: AsyncCallback&lt;void&gt;): void
J
jidong 已提交
2852

J
jidong 已提交
2853
删除应用帐号。使用callback异步回调。
2854

A
Annie_wang 已提交
2855
> **说明:** 
2856
>
A
Annie_wang 已提交
2857
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[removeAccount](#removeaccount9)替代。
J
jidong 已提交
2858

Z
zengyawen 已提交
2859 2860 2861
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
J
jidong 已提交
2862

L
libing23 已提交
2863 2864
| 参数名      | 类型                        | 必填   | 说明               |
| -------- | ------------------------- | ---- | ---------------- |
J
jidong 已提交
2865 2866
| name     | string                    | 是    | 应用帐号的名称。      |
| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。当删除成功时,err为null,否则为错误对象。 |
J
jidong 已提交
2867

Z
zengyawen 已提交
2868
**示例:**
J
jidong 已提交
2869

Z
zhangalong 已提交
2870
  ```js
L
libing23 已提交
2871 2872 2873
  appAccountManager.deleteAccount("ZhaoLiu", (err) => { 
      console.log("deleteAccount err: " + JSON.stringify(err));
   });
2874 2875
  ```

L
libing23 已提交
2876
### deleteAccount<sup>(deprecated)</sup>
2877

L
libing23 已提交
2878
deleteAccount(name: string): Promise&lt;void&gt;
2879

J
jidong 已提交
2880
删除应用帐号。使用Promise异步回调。
2881

A
Annie_wang 已提交
2882
> **说明:** 
2883
>
A
Annie_wang 已提交
2884
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[removeAccount](#removeaccount9)替代。
2885 2886 2887 2888 2889

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
2890 2891
| 参数名  | 类型     | 必填   | 说明          |
| ---- | ------ | ---- | ----------- |
J
jidong 已提交
2892
| name | string | 是    | 应用帐号的名称。 |
2893 2894 2895 2896

**返回值:**

| 类型                  | 说明                    |
L
libing23 已提交
2897
| :------------------ | :-------------------- |
A
Annie_wang 已提交
2898
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
2899 2900 2901 2902

**示例:**

  ```js
L
libing23 已提交
2903 2904 2905 2906
  appAccountManager.deleteAccount("ZhaoLiu").then(() => { 
        console.log('deleteAccount Success');
   }).catch((err) => {
      console.log("deleteAccount err: "  + JSON.stringify(err));
2907 2908
  });
  ```
L
libing23 已提交
2909
### disableAppAccess<sup>(deprecated)</sup>
2910

L
libing23 已提交
2911
disableAppAccess(name: string, bundleName: string, callback: AsyncCallback&lt;void&gt;): void
2912

L
libing23 已提交
2913
禁止指定第三方应用帐号名称对指定的第三方应用进行访问。使用callback异步回调。
2914

A
Annie_wang 已提交
2915
> **说明:** 
L
libing23 已提交
2916
>
A
Annie_wang 已提交
2917
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setAppAccess](#setappaccess9)替代。
2918 2919 2920 2921 2922

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
2923 2924
| 参数名        | 类型                        | 必填   | 说明                                |
| ---------- | ------------------------- | ---- | --------------------------------- |
J
jidong 已提交
2925
| name       | string                    | 是    | 应用帐号的名称。                  |
L
libing23 已提交
2926
| bundleName | string                    | 是    | 第三方应用的包名。                         |
J
jidong 已提交
2927
| callback   | AsyncCallback&lt;void&gt; | 是    | 回调函数。当禁止指定第三方应用帐号名称对指定包名称的第三方应用进行访问设置成功时,err为null,否则为错误对象。 |
2928 2929 2930 2931

**示例:**

  ```js
J
jidong 已提交
2932
  appAccountManager.disableAppAccess("ZhangSan", "com.example.accountjsdemo", (err) => { 
L
libing23 已提交
2933 2934
      console.log("disableAppAccess err: " + JSON.stringify(err));
  });
J
jidong 已提交
2935 2936
  ```

L
libing23 已提交
2937
### disableAppAccess<sup>(deprecated)</sup>
J
jidong 已提交
2938

L
libing23 已提交
2939 2940 2941
disableAppAccess(name: string, bundleName: string): Promise&lt;void&gt;

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

A
Annie_wang 已提交
2943
> **说明:** 
L
libing23 已提交
2944
>
A
Annie_wang 已提交
2945
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setAppAccess](#setappaccess9-1)替代。
J
jidong 已提交
2946

Z
zengyawen 已提交
2947
**系统能力:** SystemCapability.Account.AppAccount
J
jidong 已提交
2948

Z
zengyawen 已提交
2949
**参数:**
J
jidong 已提交
2950

L
libing23 已提交
2951 2952
| 参数名        | 类型     | 必填   | 说明               |
| ---------- | ------ | ---- | ---------------- |
J
jidong 已提交
2953
| name       | string | 是    | 要禁用访问的第三方应用帐号的名称。 |
L
libing23 已提交
2954
| bundleName | string | 是    | 第三方应用的包名。        |
J
jidong 已提交
2955

2956
**返回值:**
J
jidong 已提交
2957

L
libing23 已提交
2958 2959
| 类型                  | 说明                    |
| :------------------ | :-------------------- |
A
Annie_wang 已提交
2960
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zengyawen 已提交
2961 2962

**示例:**
J
jidong 已提交
2963

Z
zhangalong 已提交
2964
  ```js
J
jidong 已提交
2965
  appAccountManager.disableAppAccess("ZhangSan", "com.example.accountjsdemo").then(() => { 
L
libing23 已提交
2966 2967 2968 2969
      console.log('disableAppAccess Success');
  }).catch((err) => {
      console.log("disableAppAccess err: "  + JSON.stringify(err));
  });
J
jidong 已提交
2970 2971
  ```

L
libing23 已提交
2972
### enableAppAccess<sup>(deprecated)</sup>
J
jidong 已提交
2973

L
libing23 已提交
2974
enableAppAccess(name: string, bundleName: string, callback: AsyncCallback&lt;void&gt;): void
J
jidong 已提交
2975

L
libing23 已提交
2976
允许指定第三方应用帐号名称对指定包名称的第三方应用进行访问。使用callback异步回调。
J
jidong 已提交
2977

A
Annie_wang 已提交
2978
> **说明:** 
2979
>
A
Annie_wang 已提交
2980
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setAppAccess](#setappaccess9)替代。
2981

Z
zengyawen 已提交
2982 2983 2984
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
J
jidong 已提交
2985

L
libing23 已提交
2986 2987
| 参数名        | 类型                        | 必填   | 说明                                |
| ---------- | ------------------------- | ---- | --------------------------------- |
J
jidong 已提交
2988
| name       | string                    | 是    | 应用帐号的名称。                           |
L
libing23 已提交
2989
| bundleName | string                    | 是    | 第三方应用的包名。                         |
J
jidong 已提交
2990
| callback   | AsyncCallback&lt;void&gt; | 是    | 回调函数。当允许指定第三方应用帐号名称对指定包名称的第三方应用进行访问设置成功时,err为null,否则为错误对象。 |
J
jidong 已提交
2991

Z
zengyawen 已提交
2992
**示例:**
J
jidong 已提交
2993

Z
zhangalong 已提交
2994
  ```js
J
jidong 已提交
2995
  appAccountManager.enableAppAccess("ZhangSan", "com.example.accountjsdemo", (err) => { 
L
libing23 已提交
2996 2997
      console.log("enableAppAccess: " + JSON.stringify(err));
   });
J
jidong 已提交
2998 2999
  ```

L
libing23 已提交
3000
### enableAppAccess<sup>(deprecated)</sup>
3001

L
libing23 已提交
3002
enableAppAccess(name: string, bundleName: string): Promise&lt;void&gt;
J
jidong 已提交
3003

L
libing23 已提交
3004
允许指定第三方应用帐号的名称对指定包名称的第三方应用进行访问。使用Promise异步回调。
J
jidong 已提交
3005

A
Annie_wang 已提交
3006
> **说明:** 
3007
>
A
Annie_wang 已提交
3008
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setAppAccess](#setappaccess9-1)替代。
3009

Z
zengyawen 已提交
3010
**系统能力:** SystemCapability.Account.AppAccount
J
jidong 已提交
3011

Z
zengyawen 已提交
3012
**参数:**
J
jidong 已提交
3013

L
libing23 已提交
3014 3015
| 参数名        | 类型     | 必填   | 说明        |
| ---------- | ------ | ---- | --------- |
J
jidong 已提交
3016
| name       | string | 是    | 应用帐号的名称。   |
L
libing23 已提交
3017
| bundleName | string | 是    | 第三方应用的包名。 |
J
jidong 已提交
3018

3019
**返回值:**
J
jidong 已提交
3020

L
libing23 已提交
3021 3022
| 类型                  | 说明                    |
| :------------------ | :-------------------- |
A
Annie_wang 已提交
3023
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zengyawen 已提交
3024 3025

**示例:**
J
jidong 已提交
3026

Z
zhangalong 已提交
3027
  ```js
J
jidong 已提交
3028
  appAccountManager.enableAppAccess("ZhangSan", "com.example.accountjsdemo").then(() => { 
L
libing23 已提交
3029
       console.log('enableAppAccess Success');
J
jidong 已提交
3030
  }).catch((err) => {
L
libing23 已提交
3031
      console.log("enableAppAccess err: "  + JSON.stringify(err));
J
jidong 已提交
3032 3033 3034
  });
  ```

L
libing23 已提交
3035
### checkAppAccountSyncEnable<sup>(deprecated)</sup>
3036

L
libing23 已提交
3037 3038
checkAppAccountSyncEnable(name: string, callback: AsyncCallback&lt;boolean&gt;): void

J
jidong 已提交
3039
检查指定应用帐号是否开启数据同步功能。使用callback异步回调。
L
libing23 已提交
3040

A
Annie_wang 已提交
3041
> **说明:** 
L
libing23 已提交
3042
>
A
Annie_wang 已提交
3043
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkDataSyncEnabled](#checkdatasyncenabled9)替代。
3044

L
libing23 已提交
3045
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
3046 3047 3048 3049 3050

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
3051 3052
| 参数名      | 类型                           | 必填   | 说明                    |
| -------- | ---------------------------- | ---- | --------------------- |
J
jidong 已提交
3053 3054
| name     | string                       | 是    | 应用帐号的名称。               |
| callback | AsyncCallback&lt;boolean&gt; | 是    | 回调函数。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。 |
3055

L
libing23 已提交
3056
**示例:**
3057 3058

  ```js
L
libing23 已提交
3059 3060 3061 3062
  appAccountManager.checkAppAccountSyncEnable("ZhangSan", (err, result) => { 
      console.log("checkAppAccountSyncEnable err: " + JSON.stringify(err));
      console.log('checkAppAccountSyncEnable result: ' + result);
  });
3063 3064
  ```

L
libing23 已提交
3065
### checkAppAccountSyncEnable<sup>(deprecated)</sup>
3066

L
libing23 已提交
3067 3068
checkAppAccountSyncEnable(name: string): Promise&lt;boolean&gt;

J
jidong 已提交
3069
检查指定应用帐号是否开启数据同步功能。使用Promise异步回调。
L
libing23 已提交
3070

A
Annie_wang 已提交
3071
> **说明:** 
L
libing23 已提交
3072
>
A
Annie_wang 已提交
3073
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkDataSyncEnabled](#checkdatasyncenabled9-1)替代。
3074

L
libing23 已提交
3075
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
3076 3077 3078 3079 3080

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
3081 3082
| 参数名  | 类型     | 必填   | 说明      |
| ---- | ------ | ---- | ------- |
J
jidong 已提交
3083
| name | string | 是    | 应用帐号的名称。 |
3084 3085 3086

**返回值:**

L
libing23 已提交
3087
| 类型                     | 说明                    |
J
jidong 已提交
3088
| ---------------------- | --------------------- |
A
Annie_wang 已提交
3089
| Promise&lt;boolean&gt; | Promise对象。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。 |
3090 3091 3092 3093

**示例:**

  ```js
L
libing23 已提交
3094 3095 3096 3097 3098
  appAccountManager.checkAppAccountSyncEnable("ZhangSan").then((data) => { 
      console.log('checkAppAccountSyncEnable, result: ' + data);
  }).catch((err) => {
      console.log("checkAppAccountSyncEnable err: "  + JSON.stringify(err));
  });
3099 3100
  ```

L
libing23 已提交
3101
### setAccountCredential<sup>(deprecated)</sup>
J
jidong 已提交
3102

L
libing23 已提交
3103
setAccountCredential(name: string, credentialType: string, credential: string,callback: AsyncCallback&lt;void&gt;): void
J
jidong 已提交
3104

J
jidong 已提交
3105
设置指定应用帐号的凭据。使用callback异步回调。
J
jidong 已提交
3106

A
Annie_wang 已提交
3107
> **说明:** 
3108
>
A
Annie_wang 已提交
3109
> 从 API version 7开始支持,从API version 9开始废弃,建议使用[setCredential](#setcredential9)替代。
3110

Z
zengyawen 已提交
3111 3112 3113
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
J
jidong 已提交
3114

L
libing23 已提交
3115 3116
| 参数名            | 类型                        | 必填   | 说明            |
| -------------- | ------------------------- | ---- | ------------- |
J
jidong 已提交
3117 3118 3119 3120
| name           | string                    | 是    | 应用帐号的名称。     |
| credentialType | string                    | 是    | 凭据类型。     |
| credential     | string                    | 是    | 凭据取值。      |
| callback       | AsyncCallback&lt;void&gt; | 是    | 回调函数。当设置此应用程序帐号的凭据成功时,err为null,否则为错误对象。 |
J
jidong 已提交
3121

L
libing23 已提交
3122
**示例:**
J
jidong 已提交
3123

Z
zhangalong 已提交
3124
  ```js
L
libing23 已提交
3125 3126
  appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001", (err) => { 
      console.log("setAccountCredential err: " + JSON.stringify(err));
J
jidong 已提交
3127 3128 3129
  });
  ```

L
libing23 已提交
3130
### setAccountCredential<sup>(deprecated)</sup>
J
jidong 已提交
3131

L
libing23 已提交
3132
setAccountCredential(name: string, credentialType: string, credential: string): Promise&lt;void&gt;
J
jidong 已提交
3133

J
jidong 已提交
3134
设置指定应用帐号的凭据。使用Promise异步回调。
J
jidong 已提交
3135

A
Annie_wang 已提交
3136
> **说明:** 
3137
>
A
Annie_wang 已提交
3138
> 从 API version 7开始支持,从API version 9开始废弃,建议使用[setCredential](#setcredential9-1)替代。
3139

Z
zengyawen 已提交
3140 3141 3142
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
J
jidong 已提交
3143

L
libing23 已提交
3144 3145 3146
| 参数名            | 类型     | 必填   | 说明         |
| -------------- | ------ | ---- | ---------- |
| name           | string | 是    | 应用帐号的名称。   |
J
jidong 已提交
3147 3148
| credentialType | string | 是    | 凭据类型。 |
| credential     | string | 是    | 凭据取值。 |
J
jidong 已提交
3149

3150
**返回值:**
J
jidong 已提交
3151

L
libing23 已提交
3152 3153
| 类型                  | 说明                    |
| :------------------ | :-------------------- |
A
Annie_wang 已提交
3154
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
J
jidong 已提交
3155

Z
zengyawen 已提交
3156
**示例:**
J
jidong 已提交
3157

Z
zhangalong 已提交
3158
  ```js
L
libing23 已提交
3159 3160
  appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001").then(() => { 
      console.log('setAccountCredential Success');
J
jidong 已提交
3161
  }).catch((err) => {
L
libing23 已提交
3162
      console.log("setAccountCredential err: "  + JSON.stringify(err));
J
jidong 已提交
3163 3164 3165
  });
  ```

L
libing23 已提交
3166
### setAccountExtraInfo<sup>(deprecated)</sup>
3167

L
libing23 已提交
3168 3169
setAccountExtraInfo(name: string, extraInfo: string, callback: AsyncCallback&lt;void&gt;): void

J
jidong 已提交
3170
设置指定应用帐号的额外信息。使用callback异步回调。
L
libing23 已提交
3171

A
Annie_wang 已提交
3172
> **说明:** 
L
libing23 已提交
3173
>
A
Annie_wang 已提交
3174
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setCustomData](#setcustomdata9)替代。
3175 3176 3177 3178 3179 3180


**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
3181 3182
| 参数名       | 类型                        | 必填   | 说明              |
| --------- | ------------------------- | ---- | --------------- |
J
jidong 已提交
3183
| name      | string                    | 是    | 应用帐号的名称。         |
3184
| extraInfo | string                    | 是    | 额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。       |
J
jidong 已提交
3185
| callback  | AsyncCallback&lt;void&gt; | 是    | 回调函数。当设置成功时,err为null,否则为错误对象。 |
3186 3187 3188 3189

**示例:**

  ```js
L
libing23 已提交
3190 3191 3192
  appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002", (err) => { 
      console.log("setAccountExtraInfo err: " + JSON.stringify(err));
  });
3193 3194
  ```

L
libing23 已提交
3195
### setAccountExtraInfo<sup>(deprecated)</sup>
3196

L
libing23 已提交
3197 3198 3199 3200
setAccountExtraInfo(name: string, extraInfo: string): Promise&lt;void&gt;

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

A
Annie_wang 已提交
3201
> **说明:** 
L
libing23 已提交
3202
>
A
Annie_wang 已提交
3203
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setCustomData](#setcustomdata9-1)替代。
3204 3205 3206 3207 3208 3209


**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
3210 3211
| 参数名       | 类型     | 必填   | 说明        |
| --------- | ------ | ---- | --------- |
J
jidong 已提交
3212
| name      | string | 是    | 应用帐号的名称。   |
3213
| extraInfo | string | 是    | 额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。 |
3214 3215 3216

**返回值:**

L
libing23 已提交
3217 3218
| 类型                  | 说明                    |
| :------------------ | :-------------------- |
A
Annie_wang 已提交
3219
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3220 3221 3222 3223

**示例:**

  ```js
L
libing23 已提交
3224 3225 3226 3227 3228
  appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002").then(() => { 
      console.log('setAccountExtraInfo Success');
  }).catch((err) => {
      console.log("setAccountExtraInfo err: "  + JSON.stringify(err));
  });
3229 3230
  ```

L
libing23 已提交
3231
### setAppAccountSyncEnable<sup>(deprecated)</sup>
J
jidong 已提交
3232

L
libing23 已提交
3233
setAppAccountSyncEnable(name: string, isEnable: boolean, callback: AsyncCallback&lt;void&gt;): void
J
jidong 已提交
3234

J
jidong 已提交
3235
开启或禁止指定应用帐号的数据同步功能。使用callback异步回调。
J
jidong 已提交
3236

A
Annie_wang 已提交
3237
> **说明:** 
3238
>
A
Annie_wang 已提交
3239
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setDataSyncEnabled](#setdatasyncenabled9)替代。
L
libing23 已提交
3240 3241

**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
3242

Z
zengyawen 已提交
3243
**系统能力:** SystemCapability.Account.AppAccount
J
jidong 已提交
3244

Z
zengyawen 已提交
3245
**参数:**
J
jidong 已提交
3246

L
libing23 已提交
3247 3248
| 参数名      | 类型                        | 必填   | 说明                        |
| -------- | ------------------------- | ---- | ------------------------- |
J
jidong 已提交
3249 3250 3251
| name     | string                    | 是    | 应用帐号的名称。                  |
| isEnable | boolean                   | 是    | 是否开启数据同步。               |
| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。当开启或禁止成功时,err为null,否则为错误对象。 |
Z
zengyawen 已提交
3252 3253

**示例:**
J
jidong 已提交
3254

Z
zhangalong 已提交
3255
  ```js
L
libing23 已提交
3256 3257
  appAccountManager.setAppAccountSyncEnable("ZhangSan", true, (err) => { 
      console.log("setAppAccountSyncEnable err: " + JSON.stringify(err));
J
jidong 已提交
3258 3259 3260
  });
  ```

L
libing23 已提交
3261
### setAppAccountSyncEnable<sup>(deprecated)</sup>
J
jidong 已提交
3262

L
libing23 已提交
3263
setAppAccountSyncEnable(name: string, isEnable: boolean): Promise&lt;void&gt;
J
jidong 已提交
3264

J
jidong 已提交
3265
开启或禁止指定应用帐号的数据同步功能。使用Promise异步回调。
J
jidong 已提交
3266

A
Annie_wang 已提交
3267
> **说明:** 
3268
>
A
Annie_wang 已提交
3269
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setDataSyncEnabled](#setdatasyncenabled9-1)替代。
L
libing23 已提交
3270 3271

**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
3272

Z
zengyawen 已提交
3273 3274 3275
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
J
jidong 已提交
3276

L
libing23 已提交
3277 3278
| 参数名      | 类型      | 必填   | 说明          |
| -------- | ------- | ---- | ----------- |
J
jidong 已提交
3279 3280
| name     | string  | 是    | 应用帐号的名称。     |
| isEnable | boolean | 是    | 是否开启数据同步。 |
J
jidong 已提交
3281

3282
**返回值:**
J
jidong 已提交
3283

L
libing23 已提交
3284 3285
| 类型                  | 说明                    |
| :------------------ | :-------------------- |
A
Annie_wang 已提交
3286
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
J
jidong 已提交
3287

Z
zengyawen 已提交
3288
**示例:**
J
jidong 已提交
3289

Z
zhangalong 已提交
3290
  ```js
L
libing23 已提交
3291 3292
  appAccountManager .setAppAccountSyncEnable("ZhangSan", true).then(() => { 
      console.log('setAppAccountSyncEnable Success');
J
jidong 已提交
3293
  }).catch((err) => {
L
libing23 已提交
3294
      console.log("setAppAccountSyncEnable err: "  + JSON.stringify(err));
J
jidong 已提交
3295 3296 3297
  });
  ```

L
libing23 已提交
3298
### setAssociatedData<sup>(deprecated)</sup>
3299

L
libing23 已提交
3300 3301
setAssociatedData(name: string, key: string, value: string, callback: AsyncCallback&lt;void&gt;): void

J
jidong 已提交
3302
设置指定应用帐号的关联数据。使用callback异步回调。
L
libing23 已提交
3303

A
Annie_wang 已提交
3304
> **说明:** 
L
libing23 已提交
3305
>
A
Annie_wang 已提交
3306
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setCustomData](#setcustomdata9)替代。
3307 3308 3309 3310 3311 3312


**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
3313 3314
| 参数名      | 类型                        | 必填   | 说明                |
| -------- | ------------------------- | ---- | ----------------- |
J
jidong 已提交
3315 3316 3317 3318
| name     | string                    | 是    | 应用帐号的名称。           |
| key      | string                    | 是    | 关联数据的键名。 |
| value    | string                    | 是    | 关联数据的取值。         |
| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。当设置与此应用帐号关联的数据成功时,err为null,否则为错误对象。 |
3319 3320 3321 3322

**示例:**

  ```js
L
libing23 已提交
3323 3324
  appAccountManager.setAssociatedData("ZhangSan", "k001", "v001", (err) => { 
      console.log("setAssociatedData err: " + JSON.stringify(err));
3325 3326 3327
  });
  ```

L
libing23 已提交
3328
### setAssociatedData<sup>(deprecated)</sup>
3329

L
libing23 已提交
3330 3331
setAssociatedData(name: string, key: string, value: string): Promise&lt;void&gt;

J
jidong 已提交
3332
设置指定应用帐号的关联数据。使用Promise异步回调。
L
libing23 已提交
3333

A
Annie_wang 已提交
3334
> **说明:** 
L
libing23 已提交
3335
>
A
Annie_wang 已提交
3336
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setCustomData](#setcustomdata9-1)替代。
3337 3338 3339 3340 3341 3342


**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
3343 3344
| 参数名   | 类型     | 必填   | 说明                |
| ----- | ------ | ---- | ----------------- |
J
jidong 已提交
3345 3346 3347
| name  | string | 是    | 应用帐号的名称。           |
| key      | string | 是    | 关联数据的键名。 |
| value    | string | 是    | 关联数据的取值。 |
3348 3349 3350

**返回值:**

L
libing23 已提交
3351 3352
| 类型                  | 说明                    |
| :------------------ | :-------------------- |
A
Annie_wang 已提交
3353
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3354 3355 3356 3357

**示例:**

  ```js
L
libing23 已提交
3358 3359
  appAccountManager.setAssociatedData("ZhangSan", "k001", "v001").then(() => { 
      console.log('setAssociatedData Success');
3360
  }).catch((err) => {
L
libing23 已提交
3361
      console.log("setAssociatedData err: "  + JSON.stringify(err));
3362 3363 3364
  });
  ```

L
libing23 已提交
3365
### getAllAccessibleAccounts<sup>(deprecated)</sup>
J
jidong 已提交
3366

L
libing23 已提交
3367
getAllAccessibleAccounts(callback: AsyncCallback&lt;Array&lt;AppAccountInfo&gt;&gt;): void
J
jidong 已提交
3368

J
jidong 已提交
3369
获取所有可访问的应用帐号信息。使用callback异步回调。
J
jidong 已提交
3370

A
Annie_wang 已提交
3371
> **说明:** 
3372
>
A
Annie_wang 已提交
3373
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getAllAccounts](#getallaccounts9)替代。
L
libing23 已提交
3374

J
jidong 已提交
3375
**需要权限:** ohos.permission.GET_ALL_APP_ACCOUNTS。
3376

Z
zengyawen 已提交
3377
**系统能力:** SystemCapability.Account.AppAccount
J
jidong 已提交
3378

Z
zengyawen 已提交
3379
**参数:**
J
jidong 已提交
3380

L
libing23 已提交
3381 3382
| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
J
jidong 已提交
3383
| callback | AsyncCallback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 是    | 回调函数。当查询成功时,err为null,data为获取到的应用帐号信息列表;否则为错误对象。 |
Z
zengyawen 已提交
3384 3385

**示例:**
J
jidong 已提交
3386

Z
zhangalong 已提交
3387
  ```js
L
libing23 已提交
3388 3389 3390
  appAccountManager.getAllAccessibleAccounts((err, data)=>{
  	console.debug("getAllAccessibleAccounts err:" + JSON.stringify(err));
  	console.debug("getAllAccessibleAccounts data:" + JSON.stringify(data));
J
jidong 已提交
3391 3392 3393
  });
  ```

L
libing23 已提交
3394
### getAllAccessibleAccounts<sup>(deprecated)</sup>
J
jidong 已提交
3395

L
libing23 已提交
3396
getAllAccessibleAccounts(): Promise&lt;Array&lt;AppAccountInfo&gt;&gt;
J
jidong 已提交
3397

J
jidong 已提交
3398
获取所有可访问的应用帐号信息。使用Promise异步回调。
J
jidong 已提交
3399

A
Annie_wang 已提交
3400
> **说明:** 
3401
>
A
Annie_wang 已提交
3402
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getAllAccounts](#getallaccounts9-1)替代。
Z
zengyawen 已提交
3403

J
jidong 已提交
3404
**需要权限:** ohos.permission.GET_ALL_APP_ACCOUNTS。
J
jidong 已提交
3405

L
libing23 已提交
3406
**系统能力:** SystemCapability.Account.AppAccount
J
jidong 已提交
3407

3408
**返回值:**
J
jidong 已提交
3409

L
libing23 已提交
3410 3411
| 类型                                       | 说明                    |
| ---------------------------------------- | --------------------- |
J
jidong 已提交
3412
| Promise&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | Promise对象,返回全部应用已授权帐号信息对象。 |
J
jidong 已提交
3413

Z
zengyawen 已提交
3414
**示例:**
J
jidong 已提交
3415

Z
zhangalong 已提交
3416
  ```js
L
libing23 已提交
3417 3418
  appAccountManager.getAllAccessibleAccounts().then((data) => { 
       console.log('getAllAccessibleAccounts: ' + data);
3419
  }).catch((err) => {
L
libing23 已提交
3420
      console.log("getAllAccessibleAccounts err: "  + JSON.stringify(err));
3421 3422 3423
  });
  ```

L
libing23 已提交
3424
### getAllAccounts<sup>(deprecated)</sup>
3425

L
libing23 已提交
3426 3427
getAllAccounts(owner: string, callback: AsyncCallback&lt;Array&lt;AppAccountInfo&gt;&gt;): void

J
jidong 已提交
3428
根据应用帐号所有者获取调用方可访问的应用帐号列表。使用callback异步回调。
3429

A
Annie_wang 已提交
3430
> **说明:** 
L
libing23 已提交
3431
>
A
Annie_wang 已提交
3432
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getAccountsByOwner](#getaccountsbyowner9)替代。
L
libing23 已提交
3433

J
jidong 已提交
3434
**需要权限:** ohos.permission.GET_ALL_APP_ACCOUNTS。
3435 3436 3437 3438 3439

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
3440 3441
| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
J
jidong 已提交
3442
| owner    | string                                   | 是    | 应用帐号所有者的包名。    |
L
libing23 已提交
3443
| callback | AsyncCallback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 是    | 应用帐号信息列表。 |
3444 3445 3446 3447

**示例:**

  ```js
L
libing23 已提交
3448 3449 3450 3451 3452
  const selfBundle = "com.example.actsgetallaaccounts";
  appAccountManager.getAllAccounts(selfBundle, (err, data)=>{
  	console.debug("getAllAccounts err:" + JSON.stringify(err));
  	console.debug("getAllAccounts data:" + JSON.stringify(data));
  });
3453 3454
  ```

L
libing23 已提交
3455
### getAllAccounts<sup>(deprecated)</sup>
3456

L
libing23 已提交
3457 3458
getAllAccounts(owner: string): Promise&lt;Array&lt;AppAccountInfo&gt;&gt;

J
jidong 已提交
3459
根据应用帐号所有者获取调用方可访问的应用帐号列表。使用Promise异步回调。
L
libing23 已提交
3460

A
Annie_wang 已提交
3461
> **说明:** 
L
libing23 已提交
3462
>
A
Annie_wang 已提交
3463
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getAccountsByOwner](#getaccountsbyowner9-1)替代。
3464

L
libing23 已提交
3465
**需要权限:** ohos.permission.GET_ALL_APP_ACCOUNTS,仅系统应用可用。
3466 3467 3468 3469 3470

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
3471 3472 3473
| 参数名   | 类型     | 必填   | 说明     |
| ----- | ------ | ---- | ------ |
| owner | string | 是    | 应用包名称。 |
3474 3475 3476

**返回值:**

L
libing23 已提交
3477 3478
| 类型                                       | 说明                    |
| ---------------------------------------- | --------------------- |
J
jidong 已提交
3479
| Promise&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | Promise对象,返回指定应用全部帐号信息对象。 |
3480 3481 3482 3483

**示例:**

  ```js
L
libing23 已提交
3484 3485 3486 3487 3488 3489
  const selfBundle = "com.example.actsgetallaaccounts";
  appAccountManager.getAllAccounts(selfBundle).then((data) => { 
       console.log('getAllAccounts: ' + data);
  }).catch((err) => {
      console.log("getAllAccounts err: "  + JSON.stringify(err));
  });
J
jidong 已提交
3490 3491
  ```

L
libing23 已提交
3492
### getAccountCredential<sup>(deprecated)</sup>
J
jidong 已提交
3493

L
libing23 已提交
3494
getAccountCredential(name: string, credentialType: string, callback: AsyncCallback&lt;string&gt;): void
J
jidong 已提交
3495

J
jidong 已提交
3496
获取指定应用帐号的凭据。使用callback异步回调。
J
jidong 已提交
3497

A
Annie_wang 已提交
3498
> **说明:** 
3499
>
A
Annie_wang 已提交
3500
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCredential](#getcredential9)替代。
3501

Z
zengyawen 已提交
3502
**系统能力:** SystemCapability.Account.AppAccount
J
jidong 已提交
3503

Z
zengyawen 已提交
3504
**参数:**
J
jidong 已提交
3505

L
libing23 已提交
3506 3507
| 参数名            | 类型                          | 必填   | 说明             |
| -------------- | --------------------------- | ---- | -------------- |
J
jidong 已提交
3508 3509 3510
| name           | string                      | 是    | 应用帐号的名称。        |
| credentialType | string                      | 是    | 凭据类型。 |
| callback       | AsyncCallback&lt;string&gt; | 是    | 回调函数。当获取凭据成功时,err为null,data为指定应用帐号的凭据;否则为错误对象。 |
Z
zengyawen 已提交
3511 3512

**示例:**
J
jidong 已提交
3513

Z
zhangalong 已提交
3514
  ```js
L
libing23 已提交
3515 3516 3517
  appAccountManager.getAccountCredential("ZhangSan", "credentialType001", (err, result) => { 
      console.log("getAccountCredential err: " + JSON.stringify(err));
      console.log('getAccountCredential result: ' + result);
J
jidong 已提交
3518 3519 3520
  });
  ```

L
libing23 已提交
3521
### getAccountCredential<sup>(deprecated)</sup>
J
jidong 已提交
3522

L
libing23 已提交
3523
getAccountCredential(name: string, credentialType: string): Promise&lt;string&gt;
J
jidong 已提交
3524

J
jidong 已提交
3525
获取指定应用帐号的凭据。使用Promise异步回调。
J
jidong 已提交
3526

A
Annie_wang 已提交
3527
> **说明:** 
3528
>
A
Annie_wang 已提交
3529
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCredential](#getcredential9-1)替代。
3530

Z
zengyawen 已提交
3531 3532 3533
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
J
jidong 已提交
3534

L
libing23 已提交
3535 3536
| 参数名            | 类型     | 必填   | 说明         |
| -------------- | ------ | ---- | ---------- |
J
jidong 已提交
3537 3538
| name           | string | 是    | 应用帐号的名称。    |
| credentialType | string | 是    | 凭据类型。 |
J
jidong 已提交
3539

3540
**返回值:**
J
jidong 已提交
3541

L
libing23 已提交
3542 3543
| 类型                    | 说明                    |
| :-------------------- | :-------------------- |
J
jidong 已提交
3544
| Promise&lt;string&gt; | Promise对象,返回指定应用帐号的凭据。 |
J
jidong 已提交
3545

Z
zengyawen 已提交
3546
**示例:**
J
jidong 已提交
3547

Z
zhangalong 已提交
3548
  ```js
L
libing23 已提交
3549 3550
  appAccountManager.getAccountCredential("ZhangSan", "credentialType001").then((data) => { 
      console.log('getAccountCredential, result: ' + data);
J
jidong 已提交
3551
  }).catch((err) => {
L
libing23 已提交
3552
      console.log("getAccountCredential err: "  + JSON.stringify(err));
J
jidong 已提交
3553 3554 3555
  });
  ```

L
libing23 已提交
3556
### getAccountExtraInfo<sup>(deprecated)</sup>
J
jidong 已提交
3557

L
libing23 已提交
3558 3559
getAccountExtraInfo(name: string, callback: AsyncCallback&lt;string&gt;): void

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

A
Annie_wang 已提交
3562
> **说明:** 
L
libing23 已提交
3563
>
A
Annie_wang 已提交
3564
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCustomData](#getcustomdata9)替代。
J
jidong 已提交
3565 3566 3567 3568 3569

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
3570 3571
| 参数名      | 类型                          | 必填   | 说明              |
| -------- | --------------------------- | ---- | --------------- |
J
jidong 已提交
3572 3573
| name     | string                      | 是    | 应用帐号的名称。         |
| callback | AsyncCallback&lt;string&gt; | 是    | 回调函数。当获取此应用帐号的额外信息成功时,err为null,data返回此应用帐号的额外信息对象;否则为错误对象。 |
J
jidong 已提交
3574 3575 3576 3577

**示例:**

  ```js
L
libing23 已提交
3578 3579 3580 3581
  appAccountManager.getAccountExtraInfo("ZhangSan", (err, result) => { 
      console.log("getAccountExtraInfo err: " + JSON.stringify(err));
      console.log('getAccountExtraInfo result: ' + result);
  });
J
jidong 已提交
3582 3583
  ```

L
libing23 已提交
3584
### getAccountExtraInfo<sup>(deprecated)</sup>
J
jidong 已提交
3585

L
libing23 已提交
3586
getAccountExtraInfo(name: string): Promise&lt;string&gt;
J
jidong 已提交
3587

J
jidong 已提交
3588
获取指定应用帐号的额外信息(能转换成string类型的其它信息)。使用Promise异步回调。
L
libing23 已提交
3589

A
Annie_wang 已提交
3590
> **说明:** 
L
libing23 已提交
3591
>
A
Annie_wang 已提交
3592
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCustomData](#getcustomdata9-1)替代。
J
jidong 已提交
3593 3594 3595 3596 3597

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
3598 3599
| 参数名  | 类型     | 必填   | 说明      |
| ---- | ------ | ---- | ------- |
J
jidong 已提交
3600
| name | string | 是    | 应用帐号的名称。 |
J
jidong 已提交
3601

3602
**返回值:**
J
jidong 已提交
3603

L
libing23 已提交
3604 3605
| 类型                    | 说明                    |
| :-------------------- | :-------------------- |
J
jidong 已提交
3606
| Promise&lt;string&gt; | Promise对象,返回此应用程序帐号的额外信息对象。 |
J
jidong 已提交
3607 3608 3609 3610

**示例:**

  ```js
L
libing23 已提交
3611 3612 3613 3614 3615
  appAccountManager.getAccountExtraInfo("ZhangSan").then((data) => { 
      console.log('getAccountExtraInfo, result: ' + data);
  }).catch((err) => {
      console.log("getAccountExtraInfo err: "  + JSON.stringify(err));
  });
J
jidong 已提交
3616 3617
  ```

L
libing23 已提交
3618 3619 3620
### getAssociatedData<sup>(deprecated)</sup>

getAssociatedData(name: string, key: string, callback: AsyncCallback&lt;string&gt;): void
J
jidong 已提交
3621

J
jidong 已提交
3622
根据指定键名获取特定应用帐号的关联数据。使用callback异步回调。
J
jidong 已提交
3623

A
Annie_wang 已提交
3624
> **说明:** 
L
libing23 已提交
3625
>
A
Annie_wang 已提交
3626
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCustomData](#getcustomdata9)替代。
J
jidong 已提交
3627 3628 3629 3630 3631

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
3632 3633
| 参数名      | 类型                          | 必填   | 说明                |
| -------- | --------------------------- | ---- | ----------------- |
J
jidong 已提交
3634 3635 3636
| name     | string                      | 是    | 应用帐号的名称。           |
| key      | string                      | 是    | 关联数据的键名。         |
| callback | AsyncCallback&lt;string&gt; | 是    | 回调函数。当获取成功时,err为null,data为关联数据的取值;否则为错误对象。 |
J
jidong 已提交
3637 3638 3639 3640

**示例:**

  ```js
L
libing23 已提交
3641 3642 3643 3644
  appAccountManager.getAssociatedData("ZhangSan", "k001", (err, result) => { 
      console.log("getAssociatedData err: " + JSON.stringify(err));
      console.log('getAssociatedData result: ' + result);
  });
J
jidong 已提交
3645 3646
  ```

L
libing23 已提交
3647 3648 3649
### getAssociatedData<sup>(deprecated)</sup>

getAssociatedData(name: string, key: string): Promise&lt;string&gt;
J
jidong 已提交
3650

L
libing23 已提交
3651
获取与此应用程序帐号关联的数据。使用Promise异步回调。
J
jidong 已提交
3652

A
Annie_wang 已提交
3653
> **说明:** 
L
libing23 已提交
3654
>
A
Annie_wang 已提交
3655
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCustomData](#getcustomdata9-1)替代。
J
jidong 已提交
3656 3657 3658 3659 3660

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
3661 3662
| 参数名  | 类型     | 必填   | 说明        |
| ---- | ------ | ---- | --------- |
J
jidong 已提交
3663 3664
| name | string | 是    | 应用帐号的名称。   |
| key  | string | 是    | 关联数据的键名。 |
J
jidong 已提交
3665

3666
**返回值:**
J
jidong 已提交
3667

L
libing23 已提交
3668 3669
| 类型                    | 说明                    |
| :-------------------- | :-------------------- |
J
jidong 已提交
3670
| Promise&lt;string&gt; | Promise对象,返回关联数据的取值。 |
J
jidong 已提交
3671 3672 3673 3674

**示例:**

  ```js
L
libing23 已提交
3675 3676 3677 3678 3679
  appAccountManager.getAssociatedData("ZhangSan", "k001").then((data) => { 
       console.log('getAssociatedData: ' + data);
  }).catch((err) => {
      console.log("getAssociatedData err: "  + JSON.stringify(err));
  });
J
jidong 已提交
3680 3681
  ```

L
libing23 已提交
3682
### on('change')<sup>(deprecated)</sup>
J
jidong 已提交
3683

L
libing23 已提交
3684 3685
on(type: 'change', owners: Array&lt;string&gt;, callback: Callback&lt;Array&lt;AppAccountInfo&gt;&gt;): void

J
jidong 已提交
3686
订阅指定应用的帐号信息变更事件。
J
jidong 已提交
3687

A
Annie_wang 已提交
3688
> **说明:** 
L
libing23 已提交
3689
>
A
Annie_wang 已提交
3690
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[on('accountChange')](#onaccountchange9)替代。
J
jidong 已提交
3691 3692 3693 3694 3695

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
3696 3697
| 参数名      | 类型                                       | 必填   | 说明                             |
| -------- | ---------------------------------------- | ---- | ------------------------------ |
J
jidong 已提交
3698 3699 3700
| type     | 'change'                                 | 是    | 事件回调类型,支持的事件为'change',当帐号所有者更新帐号信息时,触发该事件。 |
| owners   | Array&lt;string&gt;                      | 是    | 应用帐号所有者的包名列表。                      |
| callback | Callback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 是    | 回调函数,返回信息发生变更的应用帐号列表。           |
J
jidong 已提交
3701 3702 3703 3704

**示例:**

  ```js
L
libing23 已提交
3705 3706 3707 3708 3709 3710 3711 3712
  function changeOnCallback(data){
  	console.debug("receive change data:" + JSON.stringify(data));
  }
  try{
  	appAccountManager.on('change', ["com.example.actsaccounttest"], changeOnCallback);
  }
  catch(err){
  	console.error("on accountOnOffDemo err:" + JSON.stringify(err));
3713
  }
J
jidong 已提交
3714 3715
  ```

L
libing23 已提交
3716
### off('change')<sup>(deprecated)</sup>
J
jidong 已提交
3717

J
jidong 已提交
3718
off(type: 'change', callback?: Callback&lt;Array&lt;AppAccountInfo&gt;&gt;): void
L
libing23 已提交
3719

J
jidong 已提交
3720
取消订阅帐号信息变更事件。
J
jidong 已提交
3721

A
Annie_wang 已提交
3722
> **说明:** 
L
libing23 已提交
3723
>
A
Annie_wang 已提交
3724
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[off('accountChange')](#offaccountchange9)替代。
J
jidong 已提交
3725 3726 3727 3728 3729

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
3730 3731
| 参数名      | 类型                               | 必填   | 说明           |
| -------- | -------------------------------- | ---- | ------------ |
J
jidong 已提交
3732
| type     | 'change'                         | 是    | 事件回调类型,支持的事件为'change',当帐号所有者更新帐号信息时,触发该事件。    |
J
jidong 已提交
3733
| callback | Callback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 否    | 回调函数,返回信息发生变更的应用帐号列表。 |
J
jidong 已提交
3734 3735 3736 3737

**示例:**

  ```js
L
libing23 已提交
3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748
  function changeOnCallback(data){
  	console.debug("receive change data:" + JSON.stringify(data));
  	appAccountManager.off('change', function(){
  		console.debug("off finish");
  	})
  }
  try{
  	appAccountManager.on('change', ["com.example.actsaccounttest"], changeOnCallback);
  }
  catch(err){
  	console.error("on accountOnOffDemo err:" + JSON.stringify(err));
3749
  }
J
jidong 已提交
3750 3751
  ```

L
libing23 已提交
3752
### authenticate<sup>(deprecated)</sup>
J
jidong 已提交
3753

L
libing23 已提交
3754 3755
authenticate(name: string, owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void

J
jidong 已提交
3756
对应用帐号进行鉴权以获取授权令牌。使用callback异步回调。
J
jidong 已提交
3757

A
Annie_wang 已提交
3758
> **说明:** 
L
libing23 已提交
3759
>
A
Annie_wang 已提交
3760
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[auth](#auth9)替代。
J
jidong 已提交
3761 3762 3763 3764 3765

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
3766 3767
| 参数名      | 类型                    | 必填   | 说明              |
| -------- | --------------------- | ---- | --------------- |
J
jidong 已提交
3768 3769
| name     | string                | 是    | 应用帐号的名称。     |
| owner    | string                | 是    | 应用帐号所有者的包名。  |
L
libing23 已提交
3770 3771
| authType | string                | 是    | 鉴权类型。           |
| options  | {[key: string]: any}  | 是    | 鉴权所需的可选项。       |
J
jidong 已提交
3772
| callback | [AuthenticatorCallback](#authenticatorcallbackdeprecated) | 是    | 回调对象,返回鉴权结果。 |
J
jidong 已提交
3773 3774 3775 3776

**示例:**

  ```js
L
libing23 已提交
3777 3778 3779 3780 3781 3782
  function onResultCallback(code, result) {
      console.log("resultCode: "  + code);
      console.log("result: "  + JSON.stringify(result));
  }

  function onRequestRedirectedCallback(request) {
L
liushuling 已提交
3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793
    let wantInfo = {
      deviceId: '',
      bundleName: 'com.example.accountjsdemo',
      action: 'ohos.want.action.viewData',
      entities: ['entity.system.default'],
    }
    this.context.startAbility(wantInfo).then(() => {
      console.log("startAbility successfully");
    }).catch((err) => {
      console.log("startAbility err: " + JSON.stringify(err));
    })
3794
  }
L
libing23 已提交
3795

J
jidong 已提交
3796
  appAccountManager.authenticate("LiSi", "com.example.accountjsdemo", "getSocialData", {}, {
L
libing23 已提交
3797 3798 3799
    onResult: onResultCallback,
    onRequestRedirected: onRequestRedirectedCallback
  });
J
jidong 已提交
3800 3801
  ```

L
libing23 已提交
3802
### getOAuthToken<sup>(deprecated)</sup>
J
jidong 已提交
3803

L
libing23 已提交
3804
getOAuthToken(name: string, owner: string, authType: string, callback: AsyncCallback&lt;string&gt;): void
J
jidong 已提交
3805

J
jidong 已提交
3806
获取指定应用帐号的特定鉴权类型的授权令牌。使用callback异步回调。
L
libing23 已提交
3807

A
Annie_wang 已提交
3808
> **说明:** 
L
libing23 已提交
3809
>
A
Annie_wang 已提交
3810
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthToken](#getauthtoken9)替代。
J
jidong 已提交
3811 3812 3813 3814 3815

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
3816 3817 3818
| 参数名      | 类型                          | 必填   | 说明          |
| -------- | --------------------------- | ---- | ----------- |
| name     | string                      | 是    | 应用帐号的名称。    |
J
jidong 已提交
3819
| owner    | string                      | 是    | 应用帐号所有者的包名。 |
L
libing23 已提交
3820
| authType | string                      | 是    | 鉴权类型。       |
J
jidong 已提交
3821
| callback | AsyncCallback&lt;string&gt; | 是    | 回调函数。当获取成功时,err为null,data为授权令牌值;否则为错误对象。   |
J
jidong 已提交
3822 3823 3824 3825

**示例:**

  ```js
J
jidong 已提交
3826
  appAccountManager.getOAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", (err, data) => {
L
libing23 已提交
3827 3828 3829
       console.log('getOAuthToken err: ' + JSON.stringify(err));
       console.log('getOAuthToken token: ' + data);
  });
J
jidong 已提交
3830 3831
  ```

L
libing23 已提交
3832
### getOAuthToken<sup>(deprecated)</sup>
J
jidong 已提交
3833

L
libing23 已提交
3834 3835
getOAuthToken(name: string, owner: string, authType: string): Promise&lt;string&gt;

J
jidong 已提交
3836
获取指定应用帐号的特定鉴权类型的授权令牌。使用Promise异步回调。
J
jidong 已提交
3837

A
Annie_wang 已提交
3838
> **说明:** 
L
libing23 已提交
3839
>
A
Annie_wang 已提交
3840
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthToken](#getauthtoken9-1)替代。
J
jidong 已提交
3841 3842 3843 3844 3845

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
3846 3847 3848
| 参数名      | 类型     | 必填   | 说明          |
| -------- | ------ | ---- | ----------- |
| name     | string | 是    | 应用帐号的名称。    |
J
jidong 已提交
3849
| owner    | string | 是    | 应用帐号所有者的包名。 |
L
libing23 已提交
3850 3851 3852 3853 3854 3855
| authType | string | 是    | 鉴权类型。       |

**返回值:**

| 类型                    | 说明                    |
| --------------------- | --------------------- |
J
jidong 已提交
3856
| Promise&lt;string&gt; | Promise对象,返回授权令牌。 |
L
libing23 已提交
3857 3858 3859 3860

**示例:**

  ```js
J
jidong 已提交
3861
  appAccountManager.getOAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData").then((data) => {
L
libing23 已提交
3862 3863 3864 3865 3866 3867 3868 3869 3870 3871
       console.log('getOAuthToken token: ' + data);
  }).catch((err) => {
      console.log("getOAuthToken err: "  + JSON.stringify(err));
  });
  ```

### setOAuthToken<sup>(deprecated)</sup>

setOAuthToken(name: string, authType: string, token: string, callback: AsyncCallback&lt;void&gt;): void

J
jidong 已提交
3872
为指定应用帐号设置特定鉴权类型的授权令牌。使用callback异步回调。
L
libing23 已提交
3873

A
Annie_wang 已提交
3874
> **说明:** 
L
libing23 已提交
3875
>
A
Annie_wang 已提交
3876
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[setAuthToken](#setauthtoken9)替代。
L
libing23 已提交
3877 3878 3879 3880 3881 3882 3883 3884 3885

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名      | 类型                        | 必填   | 说明       |
| -------- | ------------------------- | ---- | -------- |
| name     | string                    | 是    | 应用帐号的名称。 |
| authType | string                    | 是    | 鉴权类型。    |
J
jidong 已提交
3886 3887
| token    | string                    | 是    | 授权令牌。 |
| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。当设置成功时,err为null;否则为错误对象。 |
L
libing23 已提交
3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900

**示例:**

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

### setOAuthToken<sup>(deprecated)</sup>

setOAuthToken(name: string, authType: string, token: string): Promise&lt;void&gt;

J
jidong 已提交
3901
为指定应用帐号设置特定鉴权类型的授权令牌。使用Promise异步回调。
L
libing23 已提交
3902

A
Annie_wang 已提交
3903
> **说明:** 
L
libing23 已提交
3904
>
A
Annie_wang 已提交
3905
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[setAuthToken](#setauthtoken9-1)替代。
L
libing23 已提交
3906 3907 3908 3909 3910 3911 3912 3913 3914

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名      | 类型     | 必填   | 说明       |
| -------- | ------ | ---- | -------- |
| name     | string | 是    | 应用帐号的名称。 |
| authType | string | 是    | 鉴权类型。    |
J
jidong 已提交
3915
| token    | string | 是    | 授权令牌。 |
L
libing23 已提交
3916 3917 3918 3919 3920

**返回值:**

| 类型                  | 说明                    |
| ------------------- | --------------------- |
A
Annie_wang 已提交
3921
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936

**示例:**

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

### deleteOAuthToken<sup>(deprecated)</sup>

deleteOAuthToken(name: string, owner: string, authType: string, token: string, callback: AsyncCallback&lt;void&gt;): void

J
jidong 已提交
3937
删除指定应用帐号的特定鉴权类型的授权令牌。使用callback异步回调。
L
libing23 已提交
3938

A
Annie_wang 已提交
3939
> **说明:** 
L
libing23 已提交
3940
>
A
Annie_wang 已提交
3941
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[deleteAuthToken](#deleteauthtoken9)替代。
L
libing23 已提交
3942 3943 3944 3945 3946 3947 3948 3949

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名      | 类型                        | 必填   | 说明           |
| -------- | ------------------------- | ---- | ------------ |
| name     | string                    | 是    | 应用帐号的名称。     |
J
jidong 已提交
3950
| owner    | string                    | 是    | 应用帐号所有者的包名。  |
L
libing23 已提交
3951
| authType | string                    | 是    | 鉴权类型。        |
J
jidong 已提交
3952 3953
| token    | string                    | 是    | 授权令牌。 |
| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。当删除成功时,err为null;否则为错误对象。     |
L
libing23 已提交
3954 3955 3956 3957

**示例:**

  ```js
J
jidong 已提交
3958
  appAccountManager.deleteOAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", "xxxxx", (err) => {
L
libing23 已提交
3959 3960 3961 3962 3963 3964 3965 3966
       console.log('deleteOAuthToken err: ' + JSON.stringify(err));
  });
  ```

### deleteOAuthToken<sup>(deprecated)</sup>

deleteOAuthToken(name: string, owner: string, authType: string, token: string): Promise&lt;void&gt;

J
jidong 已提交
3967
删除指定应用帐号的特定鉴权类型的授权令牌。使用Promise异步回调。
L
libing23 已提交
3968

A
Annie_wang 已提交
3969
> **说明:** 
L
libing23 已提交
3970
>
A
Annie_wang 已提交
3971
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[deleteAuthToken](#deleteauthtoken9-1)替代。
L
libing23 已提交
3972 3973 3974 3975 3976 3977 3978 3979

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名      | 类型     | 必填   | 说明           |
| -------- | ------ | ---- | ------------ |
| name     | string | 是    | 应用帐号的名称。     |
J
jidong 已提交
3980
| owner    | string | 是    | 应用帐号所有者的包名。  |
L
libing23 已提交
3981
| authType | string | 是    | 鉴权类型。        |
J
jidong 已提交
3982
| token    | string | 是    | 授权令牌。 |
L
libing23 已提交
3983 3984 3985 3986 3987

**返回值:**

| 类型                  | 说明                    |
| ------------------- | --------------------- |
A
Annie_wang 已提交
3988
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
3989 3990 3991 3992

**示例:**

  ```js
J
jidong 已提交
3993
  appAccountManager.deleteOAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", "xxxxx").then(() => {
L
libing23 已提交
3994 3995 3996 3997 3998 3999 4000 4001 4002 4003
       console.log('deleteOAuthToken successfully');
  }).catch((err) => {
      console.log("deleteOAuthToken err: "  + JSON.stringify(err));
  });
  ```

### setOAuthTokenVisibility<sup>(deprecated)</sup>

setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean, callback: AsyncCallback&lt;void&gt;): void

J
jidong 已提交
4004
设置指定帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用callback异步回调。
L
libing23 已提交
4005

A
Annie_wang 已提交
4006
> **说明:** 
L
libing23 已提交
4007
>
A
Annie_wang 已提交
4008
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[setAuthTokenVisibility](#setauthtokenvisibility9)替代。
L
libing23 已提交
4009 4010 4011 4012 4013 4014 4015 4016 4017 4018

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名        | 类型                        | 必填   | 说明                        |
| ---------- | ------------------------- | ---- | ------------------------- |
| name       | string                    | 是    | 应用帐号的名称。                  |
| authType   | string                    | 是    | 鉴权类型。                     |
| bundleName | string                    | 是    | 被设置可见性的应用包名。              |
J
jidong 已提交
4019 4020
| isVisible  | boolean                   | 是    | 是否可见。true表示可见,false表示不可见。 |
| callback   | AsyncCallback&lt;void&gt; | 是    | 回调函数。当设置成功时,err为null;否则为错误对象。                  |
L
libing23 已提交
4021 4022 4023 4024

**示例:**

  ```js
J
jidong 已提交
4025
  appAccountManager.setOAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", true, (err) => {
L
libing23 已提交
4026 4027 4028 4029 4030 4031 4032 4033
       console.log('setOAuthTokenVisibility err: ' + JSON.stringify(err));
  });
  ```

### setOAuthTokenVisibility<sup>(deprecated)</sup>

setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean): Promise&lt;void&gt;

J
jidong 已提交
4034
设置指定帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用Promise异步回调。
L
libing23 已提交
4035

A
Annie_wang 已提交
4036
> **说明:** 
L
libing23 已提交
4037
>
A
Annie_wang 已提交
4038
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[setAuthTokenVisibility](#setauthtokenvisibility9-1)替代。
L
libing23 已提交
4039 4040 4041 4042 4043 4044 4045 4046 4047 4048

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名        | 类型      | 必填   | 说明           |
| ---------- | ------- | ---- | ------------ |
| name       | string  | 是    | 应用帐号的名称。     |
| authType   | string  | 是    | 鉴权类型。        |
| bundleName | string  | 是    | 被设置可见性的应用包名。 |
J
jidong 已提交
4049
| isVisible  | boolean | 是    | 是否可见。true表示可见,false表示不可见。        |
L
libing23 已提交
4050 4051 4052 4053 4054

**返回值:**

| 类型                  | 说明                    |
| ------------------- | --------------------- |
A
Annie_wang 已提交
4055
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
4056 4057 4058 4059

**示例:**

  ```js
J
jidong 已提交
4060
  appAccountManager.setOAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", true).then(() => {
L
libing23 已提交
4061 4062 4063 4064 4065 4066 4067 4068 4069 4070
      console.log('setOAuthTokenVisibility successfully');
  }).catch((err) => {
      console.log('setOAuthTokenVisibility err: ' + JSON.stringify(err));
  });
  ```

### checkOAuthTokenVisibility<sup>(deprecated)</sup>

checkOAuthTokenVisibility(name: string, authType: string, bundleName: string, callback: AsyncCallback&lt;boolean&gt;): void

J
jidong 已提交
4071
检查指定应用帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用callback异步回调。
L
libing23 已提交
4072

A
Annie_wang 已提交
4073
> **说明:** 
L
libing23 已提交
4074
>
A
Annie_wang 已提交
4075
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[checkAuthTokenVisibility](#checkauthtokenvisibility9)替代。
L
libing23 已提交
4076 4077 4078 4079 4080 4081 4082 4083 4084 4085

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名        | 类型                           | 必填   | 说明          |
| ---------- | ---------------------------- | ---- | ----------- |
| name       | string                       | 是    | 应用帐号的名称。    |
| authType   | string                       | 是    | 鉴权类型。       |
| bundleName | string                       | 是    | 检查可见性的应用包名。 |
J
jidong 已提交
4086
| callback   | AsyncCallback&lt;boolean&gt; | 是    | 回调函数。当检查成功时,err为null,data为true表示可见,data为false表示不可见;否则为错误对象。    |
L
libing23 已提交
4087 4088 4089 4090

**示例:**

  ```js
J
jidong 已提交
4091
  appAccountManager.checkOAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", (err, data) => {
L
libing23 已提交
4092 4093 4094 4095 4096 4097 4098 4099 4100
      console.log('checkOAuthTokenVisibility err: ' + JSON.stringify(err));
      console.log('checkOAuthTokenVisibility isVisible: ' + data);
  });
  ```

### checkOAuthTokenVisibility<sup>(deprecated)</sup>

checkOAuthTokenVisibility(name: string, authType: string, bundleName: string): Promise&lt;boolean&gt;

J
jidong 已提交
4101
检查指定应用帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用Promise异步回调。
L
libing23 已提交
4102

A
Annie_wang 已提交
4103
> **说明:** 
L
libing23 已提交
4104
>
A
Annie_wang 已提交
4105
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[checkAuthTokenVisibility](#checkauthtokenvisibility9-1)替代。
L
libing23 已提交
4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名        | 类型     | 必填   | 说明            |
| ---------- | ------ | ---- | ------------- |
| name       | string | 是    | 应用帐号的名称。      |
| authType   | string | 是    | 鉴权类型。         |
| bundleName | string | 是    | 用于检查可见性的应用包名。 |

**返回值:**

| 类型                     | 说明                    |
| ---------------------- | --------------------- |
A
Annie_wang 已提交
4121
| Promise&lt;boolean&gt; | Promise对象。返回true表示指定鉴权类型的OAuth令牌对特定应用的可见,返回false表示不可见。 |
L
libing23 已提交
4122 4123 4124 4125

**示例:**

  ```js
J
jidong 已提交
4126
  appAccountManager.checkOAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo").then((data) => {
L
libing23 已提交
4127 4128 4129 4130 4131 4132 4133 4134 4135 4136
      console.log('checkOAuthTokenVisibility isVisible: ' + data);
  }).catch((err) => {
      console.log('checkOAuthTokenVisibility err: ' + JSON.stringify(err));
  });
  ```

### getAllOAuthTokens<sup>(deprecated)</sup>

getAllOAuthTokens(name: string, owner: string, callback: AsyncCallback&lt;Array&lt;OAuthTokenInfo&gt;&gt;): void

J
jidong 已提交
4137
获取指定帐号对调用方可见的所有授权令牌。使用callback异步回调。
L
libing23 已提交
4138

A
Annie_wang 已提交
4139
> **说明:** 
L
libing23 已提交
4140
>
A
Annie_wang 已提交
4141
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAllAuthTokens](#getallauthtokens9)替代。
L
libing23 已提交
4142 4143 4144 4145 4146 4147 4148 4149

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名      | 类型                                       | 必填   | 说明          |
| -------- | ---------------------------------------- | ---- | ----------- |
| name     | string                                   | 是    | 应用帐号的名称。    |
J
jidong 已提交
4150
| owner    | string                                   | 是    | 应用帐号所有者的包名。 |
4151
| callback | AsyncCallback&lt;Array&lt;[OAuthTokenInfo](#oauthtokeninfodeprecated)&gt;&gt; | 是    | 回调函数。当获取成功时,err为null,data为授权令牌数组;否则为错误对象。    |
L
libing23 已提交
4152 4153 4154 4155

**示例:** 

  ```js
J
jidong 已提交
4156
  appAccountManager.getAllOAuthTokens("LiSi", "com.example.accountjsdemo", (err, data) => {
L
libing23 已提交
4157 4158 4159 4160 4161 4162 4163 4164 4165
      console.log("getAllOAuthTokens err: "  + JSON.stringify(err));
      console.log('getAllOAuthTokens data: ' + JSON.stringify(data));
  });
  ```

### getAllOAuthTokens<sup>(deprecated)</sup>

getAllOAuthTokens(name: string, owner: string): Promise&lt;Array&lt;OAuthTokenInfo&gt;&gt;

J
jidong 已提交
4166
获取指定帐号对调用方可见的所有授权令牌。使用Promise异步回调。
L
libing23 已提交
4167

A
Annie_wang 已提交
4168
> **说明:** 
L
libing23 已提交
4169
>
A
Annie_wang 已提交
4170
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAllAuthTokens](#getallauthtokens9-1)替代。
L
libing23 已提交
4171 4172 4173 4174 4175 4176 4177 4178

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名   | 类型     | 必填   | 说明          |
| ----- | ------ | ---- | ----------- |
| name  | string | 是    | 应用帐号的名称。    |
J
jidong 已提交
4179
| owner | string | 是    | 应用帐号所有者的包名。 |
L
libing23 已提交
4180 4181 4182 4183 4184

**返回值:**

| 类型                                       | 说明                    |
| ---------------------------------------- | --------------------- |
J
jidong 已提交
4185
| Promise&lt;Array&lt; [OAuthTokenInfo](#oauthtokeninfodeprecated)&gt;&gt; | Promise对象,返回授权令牌数组。 |
L
libing23 已提交
4186 4187

**示例:**
J
jidong 已提交
4188 4189

  ```js
J
jidong 已提交
4190
  appAccountManager.getAllOAuthTokens("LiSi", "com.example.accountjsdemo").then((data) => {
L
libing23 已提交
4191 4192 4193 4194 4195 4196 4197 4198 4199 4200
      console.log('getAllOAuthTokens data: ' + JSON.stringify(data));
  }).catch((err) => {
      console.log("getAllOAuthTokens err: "  + JSON.stringify(err));
  });
  ```

### getOAuthList<sup>(deprecated)</sup>

getOAuthList(name: string, authType: string, callback: AsyncCallback&lt;Array&lt;string&gt;&gt;): void

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

A
Annie_wang 已提交
4203
> **说明:** 
L
libing23 已提交
4204
>
A
Annie_wang 已提交
4205
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthList](#getauthlist9)替代。
L
libing23 已提交
4206 4207 4208 4209 4210 4211 4212 4213

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名      | 类型                                       | 必填   | 说明                      |
| -------- | ---------------------------------------- | ---- | ----------------------- |
| name     | string                                   | 是    | 应用帐号的名称。                |
J
jidong 已提交
4214 4215
| authType | string                                   | 是    | 鉴权类型。 |
| callback | AsyncCallback&lt;Array&lt;string&gt;&gt; | 是    | 回调函数。当获取成功时,err为null,data为被授权的包名数组;否则为错误对象。               |
L
libing23 已提交
4216 4217 4218 4219

**示例:**

  ```js
J
jidong 已提交
4220 4221 4222
  appAccountManager.getOAuthList("com.example.accountjsdemo", "getSocialData", (err, data) => {
    console.log('getOAuthList err: ' + JSON.stringify(err));
    console.log('getOAuthList data: ' + JSON.stringify(data));
L
libing23 已提交
4223 4224 4225 4226 4227 4228 4229
  });
  ```

### getOAuthList<sup>(deprecated)</sup>

getOAuthList(name: string, authType: string): Promise&lt;Array&lt;string&gt;&gt;

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

A
Annie_wang 已提交
4232
> **说明:** 
L
libing23 已提交
4233
>
A
Annie_wang 已提交
4234
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthList](#getauthlist9-1)替代。
L
libing23 已提交
4235 4236 4237 4238 4239 4240 4241 4242

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名      | 类型     | 必填   | 说明                      |
| -------- | ------ | ---- | ----------------------- |
| name     | string | 是    | 应用帐号的名称。                |
J
jidong 已提交
4243
| authType | string | 是    | 鉴权类型。 |
L
libing23 已提交
4244 4245 4246 4247 4248

**返回值:**

| 类型                                 | 说明                    |
| ---------------------------------- | --------------------- |
J
jidong 已提交
4249
| Promise&lt;Array&lt;string&gt;&gt; | Promise对象,返回被授权的包名数组。 |
L
libing23 已提交
4250 4251 4252 4253

**示例:**

  ```js
J
jidong 已提交
4254
  appAccountManager.getOAuthList("com.example.accountjsdemo", "getSocialData").then((data) => {
L
libing23 已提交
4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266
       console.log('getOAuthList data: ' + JSON.stringify(data));
  }).catch((err) => {
      console.log("getOAuthList err: "  + JSON.stringify(err));
  });
  ```

### getAuthenticatorCallback<sup>(deprecated)</sup>

getAuthenticatorCallback(sessionId: string, callback: AsyncCallback&lt;AuthenticatorCallback&gt;): void

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

A
Annie_wang 已提交
4267
> **说明:** 
L
libing23 已提交
4268
>
A
Annie_wang 已提交
4269
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthCallback](#getauthcallback9)替代。
L
libing23 已提交
4270 4271 4272 4273 4274 4275 4276 4277

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名       | 类型                                       | 必填   | 说明       |
| --------- | ---------------------------------------- | ---- | -------- |
| sessionId | string                                   | 是    | 鉴权会话的标识。 |
J
jidong 已提交
4278
| callback  | AsyncCallback&lt;[AuthenticatorCallback](#authenticatorcallbackdeprecated)&gt; | 是    | 回调函数。当获取鉴权会话的认证器回调函数成功时,err为null,data为认证器回调函数;否则为错误对象。 |
L
libing23 已提交
4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291

**示例:**

  ```js
  import featureAbility from '@ohos.ability.featureAbility';
  featureAbility.getWant((err, want) => {
    var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];
    appAccountManager.getAuthenticatorCallback(sessionId, (err, callback) => {
        if (err.code != account_appAccount.ResultCode.SUCCESS) {
            console.log("getAuthenticatorCallback err: "  + JSON.stringify(err));
            return;
        }
        var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",
J
jidong 已提交
4292
                      [account_appAccount.Constants.KEY_OWNER]: "com.example.accountjsdemo",
L
libing23 已提交
4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305
                      [account_appAccount.Constants.KEY_AUTH_TYPE]: "getSocialData",
                      [account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
        callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
    });
  });
  ```

### getAuthenticatorCallback<sup>(deprecated)</sup>

getAuthenticatorCallback(sessionId: string): Promise&lt;AuthenticatorCallback&gt;

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

A
Annie_wang 已提交
4306
> **说明:** 
L
libing23 已提交
4307
>
A
Annie_wang 已提交
4308
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthCallback](#getauthcallback9-1)替代。
L
libing23 已提交
4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名       | 类型     | 必填   | 说明       |
| --------- | ------ | ---- | -------- |
| sessionId | string | 是    | 鉴权会话的标识。 |

**返回值:**

| 类型                                   | 说明                    |
| ------------------------------------ | --------------------- |
J
jidong 已提交
4322
| Promise&lt;[AuthenticatorCallback](#authenticatorcallbackdeprecated)&gt; | Promise对象,返回鉴权会话的认证器回调对象。 |
L
libing23 已提交
4323 4324 4325 4326 4327 4328 4329 4330 4331 4332

**示例:**

  ```js
  import featureAbility from '@ohos.ability.featureAbility';

  featureAbility.getWant().then((want) => {
      var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];
      appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {
          var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",
J
jidong 已提交
4333
                        [account_appAccount.Constants.KEY_OWNER]: "com.example.accountjsdemo",
L
libing23 已提交
4334 4335 4336 4337 4338
                        [account_appAccount.Constants.KEY_AUTH_TYPE]: "getSocialData",
                        [account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
          callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
      }).catch((err) => {
          console.log("getAuthenticatorCallback err: "  + JSON.stringify(err));
4339
      });
L
libing23 已提交
4340 4341 4342
  }).catch((err) => {
      console.log("getWant err: "  + JSON.stringify(err));
  });
J
jidong 已提交
4343 4344
  ```

L
libing23 已提交
4345
### getAuthenticatorInfo<sup>(deprecated)</sup>
J
jidong 已提交
4346

L
libing23 已提交
4347 4348
getAuthenticatorInfo(owner: string, callback: AsyncCallback&lt;AuthenticatorInfo&gt;): void

J
jidong 已提交
4349
获取指定应用的认证器信息。使用callback异步回调。
J
jidong 已提交
4350

A
Annie_wang 已提交
4351
> **说明:** 
L
libing23 已提交
4352
>
A
Annie_wang 已提交
4353
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[queryAuthenticatorInfo](#queryauthenticatorinfo9)替代。
J
jidong 已提交
4354 4355 4356 4357 4358

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

L
libing23 已提交
4359 4360
| 参数名      | 类型                                     | 必填   | 说明          |
| -------- | -------------------------------------- | ---- | ----------- |
J
jidong 已提交
4361 4362
| owner    | string                                 | 是    | 应用帐号所有者的包名。 |
| callback | AsyncCallback&lt;[AuthenticatorInfo](#authenticatorinfo8)&gt; | 是    | 回调函数。当获取成功时,err为null,data为认证器信息对象;否则为错误对象。    |
J
jidong 已提交
4363 4364 4365 4366

**示例:**

  ```js
J
jidong 已提交
4367
  appAccountManager.getAuthenticatorInfo("com.example.accountjsdemo", (err, data) => {
L
libing23 已提交
4368 4369 4370 4371 4372 4373 4374 4375 4376
      console.log("getAuthenticatorInfo err: "  + JSON.stringify(err));
      console.log('getAuthenticatorInfo data: ' + JSON.stringify(data));
  });
  ```

### getAuthenticatorInfo<sup>(deprecated)</sup>

getAuthenticatorInfo(owner: string): Promise&lt;AuthenticatorInfo&gt;

J
jidong 已提交
4377
获取指定应用的认证器信息。使用Promise异步回调。
L
libing23 已提交
4378

A
Annie_wang 已提交
4379
> **说明:** 
L
libing23 已提交
4380
>
A
Annie_wang 已提交
4381
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[queryAuthenticatorInfo](#queryauthenticatorinfo9-1)替代。
L
libing23 已提交
4382 4383 4384 4385 4386 4387 4388

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名   | 类型     | 必填   | 说明          |
| ----- | ------ | ---- | ----------- |
J
jidong 已提交
4389
| owner | string | 是    | 应用帐号所有者的包名。 |
L
libing23 已提交
4390 4391 4392 4393 4394

**返回值:**

| 类型                               | 说明                    |
| -------------------------------- | --------------------- |
J
jidong 已提交
4395
| Promise&lt;[AuthenticatorInfo](#authenticatorinfo8)&gt; | Promise对象,返回指定应用的认证器信息对象。 |
L
libing23 已提交
4396 4397

**示例:**
4398

L
libing23 已提交
4399
  ```js
J
jidong 已提交
4400
  appAccountManager.getAuthenticatorInfo("com.example.accountjsdemo").then((data) => { 
L
libing23 已提交
4401 4402 4403 4404
       console.log('getAuthenticatorInfo: ' + JSON.stringify(data));
  }).catch((err) => {
      console.log("getAuthenticatorInfo err: "  + JSON.stringify(err));
  });
J
jidong 已提交
4405 4406
  ```

Z
zhaoyuan17 已提交
4407 4408
## AppAccountInfo

J
jidong 已提交
4409 4410
表示应用帐号信息。

Z
zengyawen 已提交
4411 4412
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

4413
| 名称   | 类型     | 必填   | 说明          |
H
HelloCrease 已提交
4414
| ----- | ------ | ---- | ----------- |
J
jidong 已提交
4415
| owner | string | 是    | 应用帐号所有者的包名。 |
H
HelloCrease 已提交
4416
| name  | string | 是    | 应用帐号的名称。    |
J
jidong 已提交
4417

4418 4419 4420 4421 4422 4423
## AuthTokenInfo<sup>9+</sup>

表示Auth令牌信息。

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

4424
| 名称               | 类型            | 必填  | 说明              |
4425 4426 4427 4428 4429 4430
| -------------------- | -------------- | ----- | ---------------- |
| authType<sup>9+</sup>             | string         | 是    | 令牌的鉴权类型。   |
| token<sup>9+</sup>                | string         | 是    | 令牌的取值。       |
| account<sup>9+</sup> | [AppAccountInfo](#appaccountinfo) | 否    | 令牌所属的帐号信息。|

## OAuthTokenInfo<sup>(deprecated)</sup>
J
jidong 已提交
4431 4432 4433

表示OAuth令牌信息。

A
Annie_wang 已提交
4434
> **说明:** 
4435
>
A
Annie_wang 已提交
4436
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[AuthTokenInfo](#authtokeninfo9)替代。
4437

Z
zengyawen 已提交
4438 4439
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

4440
| 名称               | 类型            | 必填  | 说明              |
J
jidong 已提交
4441 4442 4443
| -------------------- | -------------- | ----- | ---------------- |
| authType             | string         | 是    | 令牌的鉴权类型。   |
| token                | string         | 是    | 令牌的取值。       |
4444
| account<sup>9+</sup> | [AppAccountInfo](#appaccountinfo) | 否    | 令牌所属的帐号信息。|
J
jidong 已提交
4445 4446 4447 4448 4449

## AuthenticatorInfo<sup>8+</sup>

表示OAuth认证器信息。

Z
zengyawen 已提交
4450 4451
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

4452
| 名称     | 类型     | 必填   | 说明         |
H
HelloCrease 已提交
4453 4454
| ------- | ------ | ---- | ---------- |
| owner   | string | 是    | 认证器的所有者包名。 |
4455 4456
| iconId  | number | 是    | 认证器的图标标识。  |
| labelId | number | 是    | 认证器的标签标识。  |
J
jidong 已提交
4457

4458 4459 4460 4461 4462 4463
## AuthResult<sup>9+</sup>

表示认证结果信息。

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

4464
| 名称     | 类型     | 必填   | 说明         |
4465 4466 4467 4468 4469 4470
| ------- | ------ | ---- | ---------- |
| account   | [AppAccountInfo](#appaccountinfo) | 否    | 令牌所属的帐号信息。 |
| tokenInfo  | [AuthTokenInfo](#authtokeninfo9) | 否    | 令牌信息。  |

## CreateAccountOptions<sup>9+</sup>

4471
表示创建帐号的选项。
4472 4473 4474

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

4475
| 名称     | 类型     | 必填   | 说明         |
4476
| ------- | ------ | ---- | ---------- |
4477
| customData   | {[key: string]: string} | 否    | 自定义数据。 |
4478 4479 4480

## CreateAccountImplicitlyOptions<sup>9+</sup>

4481
表示隐式创建帐号的选项。
4482 4483 4484

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

4485
| 名称     | 类型     | 必填   | 说明         |
4486
| ------- | ------ | ---- | ---------- |
4487
| requiredLabels   | Array&lt;string&gt; | 否    | 必须的标签。 |
4488
| authType   | string | 否    | 鉴权类型。 |
4489
| parameters   | {[key: string]: Object} | 否    | 自定义参数对象。 |
J
jidong 已提交
4490 4491 4492 4493 4494 4495
## SelectAccountsOptions<sup>9+</sup>

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

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

4496
| 名称          | 类型                         | 必填  | 说明                |
J
jidong 已提交
4497
| --------------- | --------------------------- | ----- | ------------------- |
4498
| allowedAccounts | Array&lt;[AppAccountInfo](#appaccountinfo)&gt; | 否    | 允许的帐号数组。      |
J
jidong 已提交
4499 4500 4501 4502 4503 4504 4505 4506 4507
| allowedOwners   | Array&lt;string&gt;         | 否    | 允许的帐号所有者数组。 |
| requiredLabels  | Array&lt;string&gt;         | 否    | 认证器的标签标识。    |

## VerifyCredentialOptions<sup>9+</sup>

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

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

4508
| 名称          | 类型                   | 必填  | 说明           |
J
jidong 已提交
4509 4510 4511
| -------------- | ---------------------- | ----- | -------------- |
| credentialType | string                 | 否    | 凭据类型。      |
| credential     | string                 | 否    | 凭据取值。      |
4512
| parameters     | {[key: string]: Object} | 否    | 自定义参数对象。 |
J
jidong 已提交
4513 4514 4515 4516 4517 4518 4519 4520


## SetPropertiesOptions<sup>9+</sup>

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

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

4521
| 名称     | 类型                    | 必填  | 说明           |
J
jidong 已提交
4522
| ---------- | ---------------------- | ----- | -------------- |
4523 4524
| properties | {[key: string]: Object} | 否    | 属性对象。      |
| parameters | {[key: string]: Object} | 否    | 自定义参数对象。 |
J
jidong 已提交
4525

J
jidong 已提交
4526 4527 4528 4529
## Constants<sup>8+</sup>

表示常量的枚举。

Z
zengyawen 已提交
4530 4531
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

4532
| 名称                            | 值                    | 说明                   |
J
jidong 已提交
4533
| -------------------------------- | ---------------------- | ----------------------- |
4534 4535 4536 4537
| ACTION_ADD_ACCOUNT_IMPLICITLY<sup>(deprecated)</sup>    | "addAccountImplicitly" | 表示操作,隐式添加帐号。  |
| ACTION_AUTHENTICATE<sup>(deprecated)</sup>              | "authenticate"         | 表示操作,鉴权。         |
| ACTION_CREATE_ACCOUNT_IMPLICITLY<sup>9+</sup>    | "createAccountImplicitly" | 表示操作,隐式创建帐号。  |
| ACTION_AUTH<sup>9+</sup>              | "auth"         | 表示操作,鉴权。         |
J
jidong 已提交
4538 4539 4540
| ACTION_VERIFY_CREDENTIAL<sup>9+</sup>    | "verifyCredential" | 表示操作,验证凭据。  |
| ACTION_SET_AUTHENTICATOR_PROPERTIES<sup>9+</sup> | "setAuthenticatorProperties" | 表示操作,设置认证器属性。      |
| KEY_NAME                         | "name"                 | 表示键名,应用帐号的名称。  |
J
jidong 已提交
4541 4542 4543 4544 4545 4546 4547 4548 4549 4550
| KEY_OWNER                        | "owner"                | 表示键名,应用帐号所有者。|
| KEY_TOKEN                        | "token"                | 表示键名,令牌。         |
| KEY_ACTION                       | "action"               | 表示键名,操作。         |
| KEY_AUTH_TYPE                    | "authType"             | 表示键名,鉴权类型。     |
| KEY_SESSION_ID                   | "sessionId"            | 表示键名,会话标识。     |
| KEY_CALLER_PID                   | "callerPid"            | 表示键名,调用方PID。    |
| KEY_CALLER_UID                   | "callerUid"            | 表示键名,调用方UID。    |
| KEY_CALLER_BUNDLE_NAME           | "callerBundleName"     | 表示键名,调用方包名。    |
| KEY_REQUIRED_LABELS<sup>9+</sup> | "requiredLabels"       | 表示键名,必需的标签。    |
| KEY_BOOLEAN_RESULT<sup>9+</sup>  | "booleanResult"        | 表示键名,布尔返回值。    |
J
jidong 已提交
4551

4552
## ResultCode<sup>(deprecated)</sup>
Z
zhaoyuan17 已提交
4553

J
jidong 已提交
4554
表示返回码的枚举。
Z
zhaoyuan17 已提交
4555

4556
> **说明:**<br/>
Z
zengyawen 已提交
4557
> 从API version 8开始支持,从API version 9开始废弃。相关信息建议查看[错误码文档](../errorcodes/errorcode-account.md)替代。
4558

Z
zengyawen 已提交
4559 4560
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

4561
| 名称                                  | 值   | 说明           |
H
HelloCrease 已提交
4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581
| ----------------------------------- | ----- | ------------ |
| SUCCESS                             | 0     | 表示操作成功。      |
| ERROR_ACCOUNT_NOT_EXIST             | 10001 | 表示应用帐号不存在。   |
| ERROR_APP_ACCOUNT_SERVICE_EXCEPTION | 10002 | 表示应用帐号服务异常。  |
| ERROR_INVALID_PASSWORD              | 10003 | 表示密码无效。      |
| ERROR_INVALID_REQUEST               | 10004 | 表示请求无效。      |
| ERROR_INVALID_RESPONSE              | 10005 | 表示响应无效。      |
| ERROR_NETWORK_EXCEPTION             | 10006 | 表示网络异常。      |
| ERROR_OAUTH_AUTHENTICATOR_NOT_EXIST | 10007 | 表示认证器不存在。    |
| ERROR_OAUTH_CANCELED                | 10008 | 表示鉴权取消。      |
| ERROR_OAUTH_LIST_TOO_LARGE          | 10009 | 表示开放授权列表过大。  |
| ERROR_OAUTH_SERVICE_BUSY            | 10010 | 表示开放授权服务忙碌。  |
| ERROR_OAUTH_SERVICE_EXCEPTION       | 10011 | 表示开放授权服务异常。  |
| ERROR_OAUTH_SESSION_NOT_EXIST       | 10012 | 表示鉴权会话不存在。   |
| ERROR_OAUTH_TIMEOUT                 | 10013 | 表示鉴权超时。      |
| ERROR_OAUTH_TOKEN_NOT_EXIST         | 10014 | 表示开放授权令牌不存在。 |
| ERROR_OAUTH_TOKEN_TOO_MANY          | 10015 | 表示开放授权令牌过多。  |
| ERROR_OAUTH_UNSUPPORT_ACTION        | 10016 | 表示不支持的鉴权操作。  |
| ERROR_OAUTH_UNSUPPORT_AUTH_TYPE     | 10017 | 表示不支持的鉴权类型。  |
| ERROR_PERMISSION_DENIED             | 10018 | 表示权限不足。      |
Z
zhaoyuan17 已提交
4582

4583 4584
## AuthCallback<sup>9+</sup>

J
jidong 已提交
4585
认证器回调类。
4586 4587 4588

### onResult<sup>9+</sup>

J
jidong 已提交
4589
onResult: (code: number, result?: AuthResult) =&gt; void
4590 4591 4592 4593 4594 4595 4596 4597 4598 4599

通知请求结果。

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名    | 类型                   | 必填   | 说明     |
| ------ | -------------------- | ---- | ------ |
| code   | number               | 是    | 鉴权结果码。 |
J
jidong 已提交
4600
| result | [AuthResult](#authresult9) | 否    | 鉴权结果。  |
4601 4602 4603 4604

**示例:**

  ```js
J
jidong 已提交
4605
  let appAccountManager = account_appAccount.createAppAccountManager();
4606 4607
  var sessionId = "1234";
  appAccountManager.getAuthCallback(sessionId).then((callback) => {
L
lichenchen 已提交
4608 4609 4610 4611 4612 4613 4614 4615 4616 4617
      var result = {
          accountInfo: {
            name: "Lisi",
            owner: "com.example.accountjsdemo",
          },
          tokenInfo: {
            token: "xxxxxx",
            authType: "getSocialData"
          }
      };
4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643
      callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
  }).catch((err) => {
      console.log("getAuthCallback err: "  + JSON.stringify(err));
  });
  ```

### onRequestRedirected<sup>9+</sup>

onRequestRedirected: (request: Want) =&gt; void

通知请求被跳转。

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

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

**示例:**

  ```js
  class MyAuthenticator extends account_appAccount.Authenticator {
      createAccountImplicitly(options, callback) {
          callback.onRequestRedirected({
J
jidong 已提交
4644 4645
              bundleName: "com.example.accountjsdemo",
              abilityName: "com.example.accountjsdemo.LoginAbility",
4646 4647 4648 4649
          });
      }

      auth(name, authType, options, callback) {
L
lichenchen 已提交
4650 4651 4652 4653 4654 4655 4656 4657 4658 4659
          var result = {
            accountInfo: {
              name: "Lisi",
              owner: "com.example.accountjsdemo",
            },
            tokenInfo: {
              token: "xxxxxx",
              authType: "getSocialData"
            }
          };
4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675
          callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
      }
  }
  ```

### onRequestContinued<sup>9+</sup>

onRequestContinued?: () =&gt; void

通知请求被继续处理。

**系统能力:** SystemCapability.Account.AppAccount

**示例:**

  ```js
J
jidong 已提交
4676
  let appAccountManager = account_appAccount.createAppAccountManager();
4677 4678 4679 4680 4681 4682 4683 4684 4685
  var sessionId = "1234";
  appAccountManager.getAuthCallback(sessionId).then((callback) => {
      callback.onRequestContinued();
  }).catch((err) => {
      console.log("getAuthCallback err: "  + JSON.stringify(err));
  });
  ```

## AuthenticatorCallback<sup>(deprecated)</sup>
J
jidong 已提交
4686 4687 4688

OAuth认证器回调接口。

A
Annie_wang 已提交
4689
> **说明:** 
4690
>
A
Annie_wang 已提交
4691
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[AuthCallback](#authcallback9)替代。
4692

J
jidong 已提交
4693 4694
### onResult<sup>8+</sup>

Z
zengyawen 已提交
4695
onResult: (code: number, result: {[key: string]: any}) =&gt; void
J
jidong 已提交
4696

J
jidong 已提交
4697
通知请求结果。
J
jidong 已提交
4698

Z
zengyawen 已提交
4699
**系统能力:** SystemCapability.Account.AppAccount
J
jidong 已提交
4700

Z
zengyawen 已提交
4701
**参数:**
4702

H
HelloCrease 已提交
4703 4704 4705 4706
| 参数名    | 类型                   | 必填   | 说明     |
| ------ | -------------------- | ---- | ------ |
| code   | number               | 是    | 鉴权结果码。 |
| result | {[key: string]: any} | 是    | 鉴权结果。  |
Z
zengyawen 已提交
4707 4708

**示例:**
J
jidong 已提交
4709

Z
zhangalong 已提交
4710
  ```js
J
jidong 已提交
4711
  let appAccountManager = account_appAccount.createAppAccountManager();
J
jidong 已提交
4712 4713
  var sessionId = "1234";
  appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {
J
jidong 已提交
4714
      var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",
J
jidong 已提交
4715
                    [account_appAccount.Constants.KEY_OWNER]: "com.example.accountjsdemo",
4716
                    [account_appAccount.Constants.KEY_AUTH_TYPE]: "getSocialData",
J
jidong 已提交
4717
                    [account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
J
jidong 已提交
4718
      callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
J
jidong 已提交
4719 4720 4721 4722 4723 4724 4725
  }).catch((err) => {
      console.log("getAuthenticatorCallback err: "  + JSON.stringify(err));
  });
  ```

### onRequestRedirected<sup>8+</sup>

Z
zengyawen 已提交
4726
onRequestRedirected: (request: Want) =&gt; void
J
jidong 已提交
4727

J
jidong 已提交
4728
通知请求被跳转。
J
jidong 已提交
4729

Z
zengyawen 已提交
4730 4731 4732
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
4733

H
HelloCrease 已提交
4734 4735 4736
| 参数名     | 类型   | 必填   | 说明         |
| ------- | ---- | ---- | ---------- |
| request | Want | 是    | 用于跳转的请求信息。 |
J
jidong 已提交
4737

Z
zengyawen 已提交
4738
**示例:**
J
jidong 已提交
4739

Z
zhangalong 已提交
4740
  ```js
J
jidong 已提交
4741 4742 4743
  class MyAuthenticator extends account_appAccount.Authenticator {
      addAccountImplicitly(authType, callerBundleName, options, callback) {
          callback.onRequestRedirected({
J
jidong 已提交
4744 4745
              bundleName: "com.example.accountjsdemo",
              abilityName: "com.example.accountjsdemo.LoginAbility",
J
jidong 已提交
4746 4747 4748 4749
          });
      }

      authenticate(name, authType, callerBundleName, options, callback) {
J
jidong 已提交
4750 4751 4752 4753
          var result = {[account_appAccount.Constants.KEY_NAME]: name,
                        [account_appAccount.Constants.KEY_AUTH_TYPE]: authType,
                        [account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
          callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
J
jidong 已提交
4754 4755 4756 4757
      }
  }
  ```

J
jidong 已提交
4758 4759
### onRequestContinued<sup>9+</sup>

J
jidong 已提交
4760
onRequestContinued?: () =&gt; void
J
jidong 已提交
4761 4762 4763 4764 4765 4766 4767 4768

通知请求被继续处理。

**系统能力:** SystemCapability.Account.AppAccount

**示例:**

  ```js
J
jidong 已提交
4769
  let appAccountManager = account_appAccount.createAppAccountManager();
J
jidong 已提交
4770 4771
  var sessionId = "1234";
  appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {
J
jidong 已提交
4772
      callback.onRequestContinued();
J
jidong 已提交
4773 4774 4775 4776 4777
  }).catch((err) => {
      console.log("getAuthenticatorCallback err: "  + JSON.stringify(err));
  });
  ```

J
jidong 已提交
4778 4779
## Authenticator<sup>8+</sup>

J
jidong 已提交
4780
认证器基类。
J
jidong 已提交
4781

J
jidong 已提交
4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793
### createAccountImplicitly<sup>9+</sup>

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

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

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

| 参数名              | 类型                    | 必填   | 说明              |
| ---------------- | --------------------- | ---- | --------------- |
4794
| options          | [CreateAccountImplicitlyOptions](#createaccountimplicitlyoptions9)  | 是    | 隐式创建帐号的选项。      |
J
jidong 已提交
4795 4796
| callback         | [AuthCallback](#authcallback9) | 是    | 认证器回调对象,用于返回创建结果。 |

Z
zengyawen 已提交
4797
### addAccountImplicitly<sup>(deprecated)</sup>
J
jidong 已提交
4798

Z
zengyawen 已提交
4799
addAccountImplicitly(authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
J
jidong 已提交
4800

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

A
Annie_wang 已提交
4803
> **说明:** 
J
jidong 已提交
4804
>
A
Annie_wang 已提交
4805
> 从 API version 8开始支持, 从API version 9开始废弃。建议使用[createAccountImplicitly](#createaccountimplicitly9-2)替代。
J
jidong 已提交
4806

Z
zengyawen 已提交
4807 4808 4809
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
4810

H
HelloCrease 已提交
4811 4812 4813 4814 4815
| 参数名              | 类型                    | 必填   | 说明              |
| ---------------- | --------------------- | ---- | --------------- |
| authType         | string                | 是    | 应用帐号的鉴权类型。      |
| callerBundleName | string                | 是    | 鉴权请求方的包名。       |
| options          | {[key: string]: any}  | 是    | 鉴权所需要的可选项。      |
4816
| callback         | [AuthenticatorCallback](#authenticatorcallbackdeprecated) | 是    | 认证器回调,用于返回鉴权结果。 |
J
jidong 已提交
4817

J
jidong 已提交
4818 4819 4820 4821 4822 4823 4824 4825 4826 4827
### auth<sup>9+</sup>

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

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

**系统能力:** SystemCapability.Account.AppAccount

**参数:**

4828
| 参数名              | 类型                    | 必填   | 说明              |
J
jidong 已提交
4829 4830 4831 4832
| ---------------- | --------------------- | ---- | --------------- |
| name             | string                | 是    | 应用帐号的名称。        |
| authType         | string                | 是    | 应用帐号的鉴权类型。      |
| callerBundleName | string                | 是    | 鉴权类型。       |
4833
| options          | {[key: string]: Object}  | 是    | 鉴权所需要的可选项。      |
J
jidong 已提交
4834 4835
| callback         | [AuthCallback](#authcallback9) | 是    | 回调对象,用于返回鉴权结果。 |

Z
zengyawen 已提交
4836
### authenticate<sup>(deprecated)</sup>
J
jidong 已提交
4837

Z
zengyawen 已提交
4838
authenticate(name: string, authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
J
jidong 已提交
4839

J
jidong 已提交
4840 4841
对应用帐号进行鉴权,获取OAuth令牌,并使用callback异步回调返回结果。

A
Annie_wang 已提交
4842
> **说明:** 
J
jidong 已提交
4843
>
A
Annie_wang 已提交
4844
> 从 API version 8开始支持, 从API version 9开始废弃。建议使用[auth](#auth9-2)替代。
J
jidong 已提交
4845

Z
zengyawen 已提交
4846 4847 4848
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
4849

4850
| 参数名              | 类型                    | 必填   | 说明              |
H
HelloCrease 已提交
4851 4852 4853 4854 4855
| ---------------- | --------------------- | ---- | --------------- |
| name             | string                | 是    | 应用帐号的名称。        |
| authType         | string                | 是    | 应用帐号的鉴权类型。      |
| callerBundleName | string                | 是    | 鉴权请求方的包名。       |
| options          | {[key: string]: any}  | 是    | 鉴权所需要的可选项。      |
4856
| callback         | [AuthenticatorCallback](#authenticatorcallbackdeprecated) | 是    | 认证器回调,用于返回鉴权结果。 |
J
jidong 已提交
4857

J
jidong 已提交
4858 4859
### verifyCredential<sup>9+</sup>

J
jidong 已提交
4860
verifyCredential(name: string, options: VerifyCredentialOptions, callback: AuthCallback): void;
J
jidong 已提交
4861

J
jidong 已提交
4862
验证应用帐号的凭据,并使用callback异步回调返回结果。
J
jidong 已提交
4863 4864 4865 4866

**系统能力:** SystemCapability.Account.AppAccount

**参数:**
4867

4868
| 参数名              | 类型                    | 必填   | 说明              |
4869
| ---------------- | --------------------- | ---- | --------------- |
J
jidong 已提交
4870
| name      | string                   | 是    | 应用帐号的名称。              |
4871
| options   | [VerifyCredentialOptions](#verifycredentialoptions9)  | 是    | 验证凭据的可选项。            |
J
jidong 已提交
4872
| callback  | [AuthCallback](#authcallback9)    | 是    | 认证器回调,用于返回验证结果。 |
J
jidong 已提交
4873 4874 4875

### setProperties<sup>9+</sup>

J
jidong 已提交
4876
setProperties(options: SetPropertiesOptions, callback: AuthCallback): void;
J
jidong 已提交
4877

J
jidong 已提交
4878
设置认证器属性,并使用callback异步回调返回结果。
J
jidong 已提交
4879 4880 4881 4882

**系统能力:** SystemCapability.Account.AppAccount

**参数:**
4883

4884
| 参数名              | 类型                    | 必填   | 说明              |
4885 4886
| ---------------- | --------------------- | ---- | --------------- |
| options   | [SetPropertiesOptions](#setpropertiesoptions9)  | 是    | 设置属性的可选项。            |
J
jidong 已提交
4887
| callback  | [AuthCallback](#authcallback9) | 是    | 认证器回调,用于返回设置结果。 |
J
jidong 已提交
4888 4889 4890

### checkAccountLabels<sup>9+</sup>

J
jidong 已提交
4891
checkAccountLabels(name: string, labels: Array&lt;string&gt;, callback: AuthCallback): void;
J
jidong 已提交
4892

J
jidong 已提交
4893
检查帐号标签,并使用callback异步回调返回结果。
J
jidong 已提交
4894 4895 4896 4897

**系统能力:** SystemCapability.Account.AppAccount

**参数:**
4898

4899
| 参数名              | 类型                    | 必填   | 说明              |
4900
| ---------------- | --------------------- | ---- | --------------- |
J
jidong 已提交
4901
| name      | string                | 是    | 应用帐号的名称。              |
4902
| labels    | Array&lt;string&gt;          | 是    | 标签数组。                   |
J
jidong 已提交
4903
| callback  | [AuthCallback](#authcallback9) | 是    | 认证器回调,用于返回检查结果。 |
J
jidong 已提交
4904

C
cclicn 已提交
4905
### checkAccountRemovable<sup>9+</sup>
J
jidong 已提交
4906

C
cclicn 已提交
4907
checkAccountRemovable(name: string, callback: AuthCallback): void;
J
jidong 已提交
4908

J
jidong 已提交
4909
判断帐号是否可以删除,并使用callback异步回调返回结果。
J
jidong 已提交
4910 4911 4912 4913

**系统能力:** SystemCapability.Account.AppAccount

**参数:**
4914

4915
| 参数名              | 类型                    | 必填   | 说明              |
4916
| ---------------- | --------------------- | ---- | --------------- |
J
jidong 已提交
4917
| name      | string                | 是    | 应用帐号的名称。              |
J
jidong 已提交
4918
| callback  | [AuthCallback](#authcallback9) | 是    | 认证器回调,用于返回判断结果。 |
J
jidong 已提交
4919 4920 4921 4922 4923 4924 4925 4926 4927

### getRemoteObject<sup>9+</sup>

getRemoteObject(): rpc.RemoteObject;

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

**系统能力:** SystemCapability.Account.AppAccount

Z
zengyawen 已提交
4928
**示例:**
J
jidong 已提交
4929

Z
zhangalong 已提交
4930
  ```js
J
jidong 已提交
4931
  class MyAuthenticator extends account_appAccount.Authenticator {
J
jidong 已提交
4932 4933 4934 4935 4936 4937
    addAccountImplicitly(authType, callerBundleName, options, callback) {
      callback.onRequestRedirected({
        bundleName: "com.example.accountjsdemo",
        abilityName: "com.example.accountjsdemo.LoginAbility",
      });
    }
J
jidong 已提交
4938

J
jidong 已提交
4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954
    authenticate(name, authType, callerBundleName, options, callback) {
      var result = {[account_appAccount.Constants.KEY_NAME]: name,
                    [account_appAccount.Constants.KEY_AUTH_TYPE]: authType,
                    [account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
      callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
    }

    verifyCredential(name, options, callback) {
      callback.onRequestRedirected({
        bundleName: "com.example.accountjsdemo",
        abilityName: "com.example.accountjsdemo.VerifyAbility",
        parameters: {
          name: name
        }
      });
    }
J
jidong 已提交
4955

J
jidong 已提交
4956 4957 4958
    setProperties(options, callback) {
      callback.onResult(account_appAccount.ResultCode.SUCCESS, {});
    }
J
jidong 已提交
4959

J
jidong 已提交
4960 4961 4962 4963 4964
    checkAccountLabels(name, labels, callback) {
      var result = {[account_appAccount.Constants.KEY_BOOLEAN_RESULT]: false};
      callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
    }
  
C
cclicn 已提交
4965
    checkAccountRemovable(name, callback) {
J
jidong 已提交
4966 4967 4968
      var result = {[account_appAccount.Constants.KEY_BOOLEAN_RESULT]: true};
      callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
    }
J
jidong 已提交
4969
  }
4970
  var authenticator = null;
J
jidong 已提交
4971
  export default {
J
jidong 已提交
4972 4973 4974 4975
    onConnect(want) {
      authenticator = new MyAuthenticator();
      return authenticator.getRemoteObject();
    }
J
jidong 已提交
4976
  }
Z
zengyawen 已提交
4977
  ```