js-apis-appAccount.md 174.1 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 151
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or options. |
| 12300004 | Account already exists. |
| 12300007 | The number of accounts reaches the upper limit. |
| 12400003 | The number of custom data reaches the upper limit. |
152 153 154 155

**示例:**

  ```js
J
jidong 已提交
156 157 158 159 160
  let options = {
    customData: {
      "age": "10"
    }
  }
161
  try {
J
jidong 已提交
162 163 164 165 166 167 168
    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));
169 170 171 172 173 174 175
  }
  ```

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

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

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

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

**参数:**

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

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

J
jidong 已提交
189 190 191 192 193 194 195 196
| 错误码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 已提交
197

198 199 200 201
**示例:**

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

  function onRequestRedirectedCallback(request) {
L
liushuling 已提交
207 208 209 210 211 212 213 214 215
    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 已提交
216
      console.log("startAbility err: " + JSON.stringify(err));
L
liushuling 已提交
217
    })
218 219 220
  }

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

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

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

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

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

**参数:**

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

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

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

257 258 259 260
**示例:**

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

  function onRequestRedirectedCallback(request) {
L
liushuling 已提交
266 267 268 269 270 271 272 273 274
    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 已提交
275
      console.log("startAbility err: " + JSON.stringify(err));
L
liushuling 已提交
276
    })
277 278
  }

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

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

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

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

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

**参数:**

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

**错误码:**

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

**示例:**

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

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

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

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

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

**参数:**

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

**返回值:**

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

**错误码:**

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

**示例:**

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

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

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

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

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

**参数:**

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

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

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

400 401 402 403
**示例:**

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

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

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

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

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

**参数:**

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

**返回值:**

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

**错误码:**

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

**示例:**

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

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

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

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

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

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

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

**错误码:**

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

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

Z
zhangalong 已提交
488
  ```js
L
libing23 已提交
489
  try {
J
jidong 已提交
490 491 492 493 494 495 496
    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 已提交
497
  } catch (err) {
J
jidong 已提交
498
    console.log("checkAppAccess exception: " + JSON.stringify(err));
L
libing23 已提交
499 500
  }
  ```
Z
zhaoyuan17 已提交
501

L
libing23 已提交
502
### checkAppAccess<sup>9+</sup>
Z
zhaoyuan17 已提交
503

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

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

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

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

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

Z
zengyawen 已提交
517
**返回值:**
Z
zhaoyuan17 已提交
518

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

L
libing23 已提交
523
**错误码:**
Z
zhaoyuan17 已提交
524

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

**示例:**

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

J
jidong 已提交
546
### setDataSyncEnabled<sup>9+</sup>
547

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

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

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

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

**参数:**

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

**错误码:**

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

**示例:**

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

J
jidong 已提交
584
### setDataSyncEnabled<sup>9+</sup>
585

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

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

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

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

**参数:**

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

**返回值:**

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

**错误码:**

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

**示例:**

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

J
jidong 已提交
629
### checkDataSyncEnabled<sup>9+</sup>
630

J
jidong 已提交
631 632 633
checkDataSyncEnabled(name: string, callback: AsyncCallback&lt;boolean&gt;): void

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

J
jidong 已提交
635
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
636 637 638 639 640

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

**参数:**

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

**错误码:**

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

**示例:**

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

J
jidong 已提交
670
### checkDataSyncEnabled<sup>9+</sup>
671

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

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

J
jidong 已提交
676
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
677 678 679 680 681

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

**参数:**

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

**返回值:**

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

**错误码:**

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

**示例:**

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

J
jidong 已提交
714
### setCredential<sup>9+</sup>
Z
zhaoyuan17 已提交
715

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

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

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

Z
zengyawen 已提交
722
**参数:**
Z
zhaoyuan17 已提交
723

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

**错误码:**

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

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

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

J
jidong 已提交
755
### setCredential<sup>9+</sup>
Z
zhaoyuan17 已提交
756

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

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

Z
zengyawen 已提交
761 762 763
**系统能力:** SystemCapability.Account.AppAccount

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

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

Z
zengyawen 已提交
771
**返回值:**
Z
zhaoyuan17 已提交
772

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

**错误码:**

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

Z
zengyawen 已提交
785
**示例:**
Z
zhaoyuan17 已提交
786

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

J
jidong 已提交
799
### getCredential<sup>9+</sup>
Z
zhaoyuan17 已提交
800

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

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

Z
zengyawen 已提交
805 806 807
**系统能力:** SystemCapability.Account.AppAccount

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

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

**错误码:**

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

Z
zengyawen 已提交
824
**示例:**
Z
zhaoyuan17 已提交
825

Z
zhangalong 已提交
826
  ```js
L
libing23 已提交
827
  try {
J
jidong 已提交
828 829 830 831 832 833 834
      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 已提交
835
  } catch (err) {
J
jidong 已提交
836
      console.log("getCredential err: " + JSON.stringify(err));
L
libing23 已提交
837
  }
Z
zhaoyuan17 已提交
838 839
  ```

J
jidong 已提交
840
### getCredential<sup>9+</sup>
Z
zhaoyuan17 已提交
841

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

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

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

Z
zengyawen 已提交
848
**参数:**
Z
zhaoyuan17 已提交
849

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

Z
zengyawen 已提交
855
**返回值:**
Z
zhaoyuan17 已提交
856

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

**错误码:**

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

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

Z
zhangalong 已提交
872
  ```js
L
libing23 已提交
873
  try {
J
jidong 已提交
874 875 876 877 878
    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 已提交
879
  } catch (err) {
J
jidong 已提交
880
    console.log("getCredential exception: "  + JSON.stringify(err));
L
libing23 已提交
881
  }
Z
zhaoyuan17 已提交
882
  ```
883

J
jidong 已提交
884
### setCustomData<sup>9+</sup>
885

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

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

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

**参数:**

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

**错误码:**

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

**示例:**

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

J
jidong 已提交
926
### setCustomData<sup>9+</sup>
927

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

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

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

J
jidong 已提交
934 935 936 937 938 939 940 941
**参数:**

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

L
libing23 已提交
942
**返回值:**
943

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

L
libing23 已提交
948
**错误码:**
949

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

**示例:**

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

J
jidong 已提交
971
### getCustomData<sup>9+</sup>
Z
zhaoyuan17 已提交
972

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

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

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

Z
zengyawen 已提交
979
**参数:**
Z
zhaoyuan17 已提交
980

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

**错误码:**

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

Z
zengyawen 已提交
996
**示例:**
Z
zhaoyuan17 已提交
997

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

J
jidong 已提交
1012
### getCustomData<sup>9+</sup>
Z
zhaoyuan17 已提交
1013

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

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

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

Z
zengyawen 已提交
1020
**参数:**
Z
zhaoyuan17 已提交
1021

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

Z
zengyawen 已提交
1027
**返回值:**
Z
zhaoyuan17 已提交
1028

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

**错误码:**

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

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

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

J
jidong 已提交
1056
### getCustomDataSync<sup>9+</sup>
Z
zhaoyuan17 已提交
1057

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

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

Z
zengyawen 已提交
1062 1063 1064
**系统能力:** SystemCapability.Account.AppAccount

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

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

**返回值:**

| 类型                    | 说明                    |
| --------------------- | --------------------- |
| string | 自定义数据的取值。 |
L
libing23 已提交
1076 1077 1078

**错误码:**

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

Z
zengyawen 已提交
1086
**示例:**
Z
zhaoyuan17 已提交
1087

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

J
jidong 已提交
1097
### getAllAccounts<sup>9+</sup>
Z
zhaoyuan17 已提交
1098

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

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

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

Z
zengyawen 已提交
1105
**参数:**
Z
zhaoyuan17 已提交
1106

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

**错误码:**

J
jidong 已提交
1113 1114 1115
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
Z
zengyawen 已提交
1116 1117

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

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

J
jidong 已提交
1133
### getAllAccounts<sup>9+</sup>
Z
zhaoyuan17 已提交
1134

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

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

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

J
jidong 已提交
1141
**返回值:**
1142

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

**错误码:**

J
jidong 已提交
1149 1150 1151
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
1152 1153

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

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

J
jidong 已提交
1167
### getAccountsByOwner<sup>9+</sup>
1168

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

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

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

Z
zengyawen 已提交
1175
**参数:**
Z
zhaoyuan17 已提交
1176

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

L
libing23 已提交
1182
**错误码:**
Z
zhaoyuan17 已提交
1183

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

Z
zengyawen 已提交
1190
**示例:**
Z
zhaoyuan17 已提交
1191

Z
zhangalong 已提交
1192
  ```js
1193
  try {
J
jidong 已提交
1194 1195 1196 1197 1198 1199 1200
    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));
      }
    });
1201
  } catch (err) {
J
jidong 已提交
1202
    console.debug("getAccountsByOwner exception:" + JSON.stringify(err));
1203
  }
Z
zhaoyuan17 已提交
1204 1205
  ```

J
jidong 已提交
1206 1207 1208
### getAccountsByOwner<sup>9+</sup>

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

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

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

L
libing23 已提交
1214 1215
**参数:**

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

Z
zengyawen 已提交
1220
**返回值:**
Z
zhaoyuan17 已提交
1221

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

**错误码:**

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

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

Z
zhangalong 已提交
1236
  ```js
1237
  try {
J
jidong 已提交
1238 1239 1240 1241 1242
    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));
    });
1243
  } catch (err) {
J
jidong 已提交
1244
    console.debug("getAccountsByOwner exception:" + JSON.stringify(err));
1245
  }
Z
zhaoyuan17 已提交
1246 1247
  ```

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

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

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

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

Z
zengyawen 已提交
1256
**参数:**
Z
zhaoyuan17 已提交
1257

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

**错误码:**

J
jidong 已提交
1266 1267 1268 1269 1270 1271
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid type or owners. |
| 12300011 | Callback has been registered. |
| 12400001 | Application not found. |
Z
zengyawen 已提交
1272 1273

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

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

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

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

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

L
libing23 已提交
1292
**系统能力:** SystemCapability.Account.AppAccount
1293

L
libing23 已提交
1294
**参数:**
1295

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

L
libing23 已提交
1301
**错误码:**
1302

J
jidong 已提交
1303 1304 1305 1306 1307
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid type. |
| 12300012 | Callback has not been registered. |
1308 1309 1310 1311

**示例:**

  ```js
J
jidong 已提交
1312
  function changeOnCallback(data) {
J
jidong 已提交
1313 1314 1315 1316 1317 1318
  	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 已提交
1319 1320
  }
  try{
J
jidong 已提交
1321
  	appAccountManager.off('accountChange', changeOnCallback);
L
libing23 已提交
1322 1323
  }
  catch(err){
J
jidong 已提交
1324
  	console.error("off accountChange failed, error:" + JSON.stringify(err));
L
libing23 已提交
1325
  }
1326 1327
  ```

L
libing23 已提交
1328
### auth<sup>9+</sup>
Z
zhaoyuan17 已提交
1329

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

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

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

Z
zengyawen 已提交
1336
**参数:**
Z
zhaoyuan17 已提交
1337

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

**错误码:**

J
jidong 已提交
1347 1348 1349 1350 1351 1352 1353 1354
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or owner or authType. |
| 12300003 | Account not found. |
| 12300010 | Account service busy. |
| 12300113 | Authenticator service not found. |
| 12300114 | Authenticator service exception. |
Z
zhaoyuan17 已提交
1355

Z
zengyawen 已提交
1356
**示例:**
Z
zhaoyuan17 已提交
1357

Z
zhangalong 已提交
1358
  ```js
L
liushuling 已提交
1359

L
libing23 已提交
1360

J
jidong 已提交
1361 1362 1363
  function onResultCallback(code, authResult) {
    console.log("resultCode: "  + code);
    console.log("authResult: "  + JSON.stringify(authResult));
L
libing23 已提交
1364 1365 1366
  }

  function onRequestRedirectedCallback(request) {
L
liushuling 已提交
1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377
    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 已提交
1378 1379
  }

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

L
libing23 已提交
1390
### auth<sup>9+</sup>
Z
zhaoyuan17 已提交
1391

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

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

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

Z
zengyawen 已提交
1398
**参数:**
Z
zhaoyuan17 已提交
1399

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

L
libing23 已提交
1408
**错误码:**
1409

J
jidong 已提交
1410 1411 1412 1413 1414 1415 1416 1417
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or owner or authType. |
| 12300003 | Account not exist. |
| 12300010 | Account service busy. |
| 12300113 | Authenticator service not found. |
| 12300114 | Authenticator service exception. |
Z
zengyawen 已提交
1418 1419

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

Z
zhangalong 已提交
1421
  ```js
L
liushuling 已提交
1422

L
libing23 已提交
1423

J
jidong 已提交
1424 1425 1426
  function onResultCallback(code, authResult) {
    console.log("resultCode: "  + code);
    console.log("authResult: "  + JSON.stringify(authResult));
L
libing23 已提交
1427 1428 1429
  }

  function onRequestRedirectedCallback(request) {
L
liushuling 已提交
1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440
    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 已提交
1441 1442
  }

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

L
libing23 已提交
1456
### getAuthToken<sup>9+</sup>
Z
zhaoyuan17 已提交
1457

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

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

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

Z
zengyawen 已提交
1464
**参数:**
Z
zhaoyuan17 已提交
1465

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

**错误码:**

J
jidong 已提交
1475 1476 1477 1478 1479 1480
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name, owner or authType. |
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
Z
zhaoyuan17 已提交
1481

Z
zengyawen 已提交
1482
**示例:**
Z
zhaoyuan17 已提交
1483

Z
zhangalong 已提交
1484
  ```js
L
libing23 已提交
1485
  try {
J
jidong 已提交
1486 1487 1488 1489 1490 1491 1492
    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 已提交
1493
  } catch (err) {
J
jidong 已提交
1494
      console.log("getAuthToken exception: " + JSON.stringify(err));
L
libing23 已提交
1495
  }
Z
zhaoyuan17 已提交
1496 1497
  ```

L
libing23 已提交
1498
### getAuthToken<sup>9+</sup>
Z
zhaoyuan17 已提交
1499

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

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

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

Z
zengyawen 已提交
1506
**参数:**
Z
zhaoyuan17 已提交
1507

L
libing23 已提交
1508 1509 1510
| 参数名      | 类型     | 必填   | 说明          |
| -------- | ------ | ---- | ----------- |
| name     | string | 是    | 应用帐号的名称。    |
J
jidong 已提交
1511
| owner    | string | 是    | 应用帐号所有者的包名。 |
L
libing23 已提交
1512
| authType | string | 是    | 鉴权类型。       |
Z
zhaoyuan17 已提交
1513

1514
**返回值:**
Z
zhaoyuan17 已提交
1515

J
jidong 已提交
1516
| 类型                    | 说明                 |
L
libing23 已提交
1517
| --------------------- | --------------------- |
J
jidong 已提交
1518
| Promise&lt;string&gt; | Promise对象,返回授权令牌。 |
L
libing23 已提交
1519 1520 1521

**错误码:**

J
jidong 已提交
1522 1523 1524 1525 1526 1527
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name or owner or authType. |
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
Z
zhaoyuan17 已提交
1528

Z
zengyawen 已提交
1529
**示例:**
Z
zhaoyuan17 已提交
1530

Z
zhangalong 已提交
1531
  ```js
L
libing23 已提交
1532
  try {
J
jidong 已提交
1533 1534 1535 1536 1537
    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 已提交
1538
  } catch (err) {
J
jidong 已提交
1539
      console.log("getAuthToken exception: " + JSON.stringify(err));
L
libing23 已提交
1540
  }
Z
zhaoyuan17 已提交
1541 1542
  ```

L
libing23 已提交
1543
### setAuthToken<sup>9+</sup>
Z
zhaoyuan17 已提交
1544

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

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

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

Z
zengyawen 已提交
1551
**参数:**
Z
zhaoyuan17 已提交
1552

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

**错误码:**

J
jidong 已提交
1562 1563 1564 1565 1566 1567
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or authType or token. |
| 12300003 | Account not found. |
| 12400004 | The number of token reaches the upper limit. |
Z
zengyawen 已提交
1568 1569

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

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

L
libing23 已提交
1585
### setAuthToken<sup>9+</sup>
Z
zhaoyuan17 已提交
1586

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

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

Z
zengyawen 已提交
1591 1592 1593
**系统能力:** SystemCapability.Account.AppAccount

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

L
libing23 已提交
1595 1596 1597 1598
| 参数名      | 类型     | 必填   | 说明       |
| -------- | ------ | ---- | -------- |
| name     | string | 是    | 应用帐号的名称。 |
| authType | string | 是    | 鉴权类型。    |
J
jidong 已提交
1599
| token    | string | 是    | 授权令牌。 |
1600 1601 1602

**返回值:**

L
libing23 已提交
1603 1604
| 类型                  | 说明                    |
| ------------------- | --------------------- |
A
Annie_wang 已提交
1605
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
1606 1607 1608

**错误码:**

J
jidong 已提交
1609 1610 1611 1612 1613 1614
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or authType or token. |
| 12300003 | Account not found. |
| 12400004 | The number of token reaches the upper limit. |
Z
zhaoyuan17 已提交
1615

Z
zengyawen 已提交
1616
**示例:**
Z
zhaoyuan17 已提交
1617

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

L
libing23 已提交
1630
### deleteAuthToken<sup>9+</sup>
J
jidong 已提交
1631

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

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

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

Z
zengyawen 已提交
1638
**参数:**
J
jidong 已提交
1639

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

**错误码:**

J
jidong 已提交
1650 1651 1652 1653 1654 1655
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name or owner or authType or token. |
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
1656 1657 1658 1659

**示例:**

  ```js
L
libing23 已提交
1660
  try {
J
jidong 已提交
1661 1662 1663 1664 1665 1666
      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 已提交
1667 1668
      });
  } catch (err) {
J
jidong 已提交
1669
      console.log('deleteAuthToken exception: ' + JSON.stringify(err));
L
libing23 已提交
1670
  }
1671 1672
  ```

L
libing23 已提交
1673
### deleteAuthToken<sup>9+</sup>
1674

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

J
jidong 已提交
1677
删除指定应用帐号的特定鉴权类型的授权令牌。使用Promise异步回调。
1678 1679 1680 1681 1682

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

**参数:**

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

**返回值:**

L
libing23 已提交
1692 1693
| 类型                  | 说明                    |
| ------------------- | --------------------- |
A
Annie_wang 已提交
1694
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
1695 1696 1697

**错误码:**

J
jidong 已提交
1698 1699 1700 1701 1702 1703
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name or owner or authType or token. |
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
1704 1705 1706 1707

**示例:**

  ```js
L
libing23 已提交
1708
  try {
J
jidong 已提交
1709 1710 1711 1712 1713
    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 已提交
1714
  } catch (err) {
J
jidong 已提交
1715
    console.log('deleteAuthToken exception: ' + JSON.stringify(err));
L
libing23 已提交
1716
  }
1717 1718
  ```

L
libing23 已提交
1719
### setAuthTokenVisibility<sup>9+</sup>
1720

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

J
jidong 已提交
1723
设置指定帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用callback异步回调。
1724 1725 1726 1727 1728

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

**参数:**

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

**错误码:**

J
jidong 已提交
1739 1740 1741 1742 1743 1744 1745 1746
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or authType or bundleName. |
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
| 12400001 | Application not found. |
| 12400005 | The size of authorization list reaches the upper limit. |
1747 1748 1749 1750

**示例:**

  ```js
L
libing23 已提交
1751
  try {
J
jidong 已提交
1752 1753 1754 1755 1756 1757
      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 已提交
1758 1759
      });
  } catch (err) {
J
jidong 已提交
1760
      console.log("setAuthTokenVisibility exception: " + JSON.stringify(err));
L
libing23 已提交
1761
  }
1762 1763
  ```

L
libing23 已提交
1764
### setAuthTokenVisibility<sup>9+</sup>
1765

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

J
jidong 已提交
1768
设置指定帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用Promise异步回调。
1769 1770 1771 1772 1773

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

**参数:**

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

**返回值:**

L
libing23 已提交
1783 1784
| 类型                  | 说明                    |
| ------------------- | --------------------- |
A
Annie_wang 已提交
1785
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
1786 1787 1788

**错误码:**

J
jidong 已提交
1789 1790 1791 1792 1793 1794 1795 1796
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or authType or bundleName. |
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
| 12400001 | Application not found. |
| 12400005 | The size of authorization list reaches the upper limit. |
1797 1798 1799 1800

**示例:**

  ```js
L
libing23 已提交
1801
  try {
J
jidong 已提交
1802 1803 1804 1805 1806
    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 已提交
1807
  } catch (err) {
J
jidong 已提交
1808
    console.log("setAuthTokenVisibility exception: " + JSON.stringify(err));
L
libing23 已提交
1809
  }
1810 1811
  ```

L
libing23 已提交
1812
### checkAuthTokenVisibility<sup>9+</sup>
1813

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

J
jidong 已提交
1816
检查指定应用帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用callback异步回调。
1817 1818 1819 1820 1821

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

**参数:**

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

**错误码:**

J
jidong 已提交
1831 1832 1833 1834 1835 1836 1837
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or authType or bundleName. |
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
| 12400001 | Application not found. |
L
libing23 已提交
1838

1839 1840 1841 1842
**示例:**

  ```js
  try {
J
jidong 已提交
1843 1844 1845 1846 1847 1848 1849
    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);
      }
    });
1850
  } catch (err) {
J
jidong 已提交
1851
    console.log("checkAuthTokenVisibility exception: " + JSON.stringify(err));
1852 1853 1854
  }
  ```

L
libing23 已提交
1855
### checkAuthTokenVisibility<sup>9+</sup>
1856

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

J
jidong 已提交
1859
检查指定应用帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用Promise异步回调。
1860 1861 1862 1863 1864

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

**参数:**

L
libing23 已提交
1865 1866 1867 1868 1869
| 参数名        | 类型     | 必填   | 说明            |
| ---------- | ------ | ---- | ------------- |
| name       | string | 是    | 应用帐号的名称。      |
| authType   | string | 是    | 鉴权类型。         |
| bundleName | string | 是    | 用于检查可见性的应用包名。 |
1870 1871 1872

**返回值:**

L
libing23 已提交
1873 1874
| 类型                     | 说明                    |
| ---------------------- | --------------------- |
A
Annie_wang 已提交
1875
| Promise&lt;boolean&gt; | Promise对象。返回true表示授权令牌对指定应用的可见,返回false表示不可见。 |
L
libing23 已提交
1876 1877 1878

**错误码:**

J
jidong 已提交
1879 1880 1881 1882 1883 1884 1885
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or authType or bundleName. |
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
| 12400001 | Application not found. |
1886 1887 1888 1889 1890

**示例:**

  ```js
  try {
J
jidong 已提交
1891 1892 1893 1894 1895
    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));
    });
1896
  } catch (err) {
J
jidong 已提交
1897
    console.log("checkAuthTokenVisibility exception: " + JSON.stringify(err));
1898 1899 1900
  }
  ```

L
libing23 已提交
1901
### getAllAuthTokens<sup>9+</sup>
1902

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

J
jidong 已提交
1905
获取指定帐号对调用方可见的所有授权令牌。使用callback异步回调。
1906 1907 1908 1909 1910

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

**参数:**

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

L
libing23 已提交
1917 1918
**错误码:**

J
jidong 已提交
1919 1920 1921 1922 1923
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or owner. |
| 12300003 | Account not found. |
L
libing23 已提交
1924 1925

**示例:** 
1926 1927

  ```js
L
libing23 已提交
1928
  try {
J
jidong 已提交
1929 1930 1931 1932 1933 1934 1935
    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 已提交
1936
  } catch (err) {
J
jidong 已提交
1937
    console.log("getAllAuthTokens exception: "  + JSON.stringify(err));
L
libing23 已提交
1938
  }
1939 1940
  ```

L
libing23 已提交
1941
### getAllAuthTokens<sup>9+</sup>
1942

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

J
jidong 已提交
1945
获取指定帐号对调用方可见的所有授权令牌。使用Promise异步回调。
1946 1947 1948 1949 1950

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

**参数:**

L
libing23 已提交
1951 1952 1953
| 参数名   | 类型     | 必填   | 说明          |
| ----- | ------ | ---- | ----------- |
| name  | string | 是    | 应用帐号的名称。    |
J
jidong 已提交
1954
| owner | string | 是    | 应用帐号所有者的包名。 |
1955 1956 1957

**返回值:**

L
libing23 已提交
1958 1959
| 类型                                       | 说明                    |
| ---------------------------------------- | --------------------- |
J
jidong 已提交
1960
| Promise&lt;Array&lt;[AuthTokenInfo](#authtokeninfo9)&gt;&gt; | Promise对象,返回授权令牌数组。 |
L
libing23 已提交
1961 1962 1963

**错误码:**

J
jidong 已提交
1964 1965 1966 1967 1968
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or owner. |
| 12300003 | Account not found. |
1969 1970 1971 1972

**示例:**

  ```js
L
libing23 已提交
1973
  try {
J
jidong 已提交
1974 1975 1976 1977 1978
    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 已提交
1979
  } catch (err) {
J
jidong 已提交
1980
    console.log("getAllAuthTokens exception: "  + JSON.stringify(err));
L
libing23 已提交
1981
  }
1982 1983
  ```

L
libing23 已提交
1984
### getAuthList<sup>9+</sup>
1985

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

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

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

**参数:**

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

L
libing23 已提交
2000
**错误码:**
2001

J
jidong 已提交
2002 2003 2004 2005 2006 2007
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or authType. |
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
2008 2009 2010 2011 2012

**示例:**

  ```js
  try {
J
jidong 已提交
2013 2014 2015 2016 2017 2018 2019
    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);
      }
    });
2020
  } catch (err) {
J
jidong 已提交
2021
    console.log('getAuthList exception: ' + JSON.stringify(err));
2022 2023 2024
  }
  ```

L
libing23 已提交
2025
### getAuthList<sup>9+</sup>
2026

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

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

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

**参数:**

L
libing23 已提交
2035
| 参数名      | 类型     | 必填   | 说明                      |
J
jidong 已提交
2036
| -------- | ------ | ---- | ------------------------------ |
L
libing23 已提交
2037
| name     | string | 是    | 应用帐号的名称。                |
J
jidong 已提交
2038
| authType | string | 是    | 鉴权类型。 |
2039

L
libing23 已提交
2040
**返回值:**
2041

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

L
libing23 已提交
2046
**错误码:**
2047

J
jidong 已提交
2048 2049 2050 2051 2052 2053
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or authType. |
| 12300003 | Account not found. |
| 12300107 | AuthType not found. |
2054 2055 2056 2057

**示例:**

  ```js
L
libing23 已提交
2058
  try {
J
jidong 已提交
2059 2060 2061 2062 2063
    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 已提交
2064
  } catch (err) {
J
jidong 已提交
2065
    console.log("getAuthList exception: "  + JSON.stringify(err));
2066 2067 2068
  }
  ```

L
libing23 已提交
2069
### getAuthCallback<sup>9+</sup>
2070

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

J
jidong 已提交
2073
获取鉴权会话的认证器回调对象。使用callback异步回调。
2074 2075 2076 2077 2078

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

**参数:**

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

**错误码:**

J
jidong 已提交
2086 2087 2088 2089 2090
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid sessionId. |
| 12300108 | Session not found. |
2091 2092 2093 2094

**示例:**

  ```js
L
libing23 已提交
2095 2096
  import featureAbility from '@ohos.ability.featureAbility';
  featureAbility.getWant((err, want) => {
J
jidong 已提交
2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118
    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 已提交
2119
  });
2120 2121
  ```

L
libing23 已提交
2122
### getAuthCallback<sup>9+</sup>
2123

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

J
jidong 已提交
2126
获取鉴权会话的认证器回调对象。使用Promise异步回调。
2127 2128 2129 2130 2131

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

**参数:**

L
libing23 已提交
2132 2133 2134 2135 2136 2137 2138 2139
| 参数名       | 类型     | 必填   | 说明       |
| --------- | ------ | ---- | -------- |
| sessionId | string | 是    | 鉴权会话的标识。 |

**返回值:**

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

**错误码:**

J
jidong 已提交
2144 2145 2146 2147 2148
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid sessionId. |
| 12300108 | Session not found. |
2149 2150 2151 2152

**示例:**

  ```js
L
libing23 已提交
2153 2154 2155 2156 2157
  import featureAbility from '@ohos.ability.featureAbility';

  featureAbility.getWant().then((want) => {
      var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];
      try {
J
jidong 已提交
2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174
        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 已提交
2175 2176 2177 2178
      }
  }).catch((err) => {
      console.log("getWant err: "  + JSON.stringify(err));
  });
2179 2180
  ```

L
libing23 已提交
2181
### queryAuthenticatorInfo<sup>9+</sup>
2182

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

J
jidong 已提交
2185
获取指定应用的认证器信息。使用callback异步回调。
2186 2187 2188 2189 2190

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

**参数:**

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

L
libing23 已提交
2196
**错误码:**
2197

J
jidong 已提交
2198 2199 2200 2201 2202
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid owner. |
| 12300113 | Authenticator service not found. |
2203

L
libing23 已提交
2204
**示例:**
2205

L
libing23 已提交
2206
  ```js
2207
  try {
J
jidong 已提交
2208 2209 2210 2211 2212 2213 2214
    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));
      }
    });
2215
  } catch (err) {
J
jidong 已提交
2216
    console.log("queryAuthenticatorInfo exception: "  + JSON.stringify(err));
2217 2218 2219
  }
  ```

L
libing23 已提交
2220
### queryAuthenticatorInfo<sup>9+</sup>
2221

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

J
jidong 已提交
2224
获取指定应用的认证器信息。使用Promise异步回调。
2225 2226 2227 2228 2229

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

**参数:**

L
libing23 已提交
2230 2231
| 参数名   | 类型     | 必填   | 说明          |
| ----- | ------ | ---- | ----------- |
J
jidong 已提交
2232
| owner | string | 是    | 应用包名。 |
2233

L
libing23 已提交
2234
**返回值:**
2235

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

L
libing23 已提交
2240
**错误码:**
2241

J
jidong 已提交
2242 2243 2244 2245 2246
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid owner. |
| 12300113 | Authenticator service not found. |
L
libing23 已提交
2247 2248

**示例:**
2249

L
libing23 已提交
2250
  ```js
2251
  try {
J
jidong 已提交
2252 2253 2254 2255 2256
    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));
    });
2257
  } catch (err) {
J
jidong 已提交
2258
    console.log("queryAuthenticatorInfo exception: "  + JSON.stringify(err));
2259 2260 2261
  }
  ```

L
libing23 已提交
2262
### checkAccountLabels<sup>9+</sup>
2263

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

J
jidong 已提交
2266
检查指定应用帐号是否满足特定的标签集合。使用callback异步回调。该方法依赖目标应用的认证器提供标签检查的能力。
2267 2268 2269 2270 2271

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

**参数:**

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

L
libing23 已提交
2279
**错误码:**
J
jidong 已提交
2280

J
jidong 已提交
2281 2282 2283 2284 2285 2286 2287 2288
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name or owner or labels. |
| 12300003 | Account not found. |
| 12300010 | Account service busy. |
| 12300113 | Authenticator service not found. |
| 12300114 | Authenticator service exception. |
J
jidong 已提交
2289

L
libing23 已提交
2290
**示例:**
J
jidong 已提交
2291

L
libing23 已提交
2292
  ```js
J
jidong 已提交
2293
  let labels = ["student"];
L
libing23 已提交
2294
  try {
J
jidong 已提交
2295 2296 2297 2298 2299 2300 2301
    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 已提交
2302
  } catch (err) {
J
jidong 已提交
2303
    console.log("checkAccountLabels exception: "  + JSON.stringify(err));
2304 2305 2306
  }
  ```

L
libing23 已提交
2307
### checkAccountLabels<sup>9+</sup>
2308

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

J
jidong 已提交
2311
检查指定应用帐号是否满足特定的标签集合。使用Promise异步回调。该方法依赖目标应用的认证器提供标签检查的能力。
2312 2313 2314 2315 2316

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

**参数:**

L
libing23 已提交
2317 2318
| 参数名         | 类型                       | 必填  | 说明             |
| -------------- | ------------------------- | ----- | --------------- |
J
jidong 已提交
2319 2320
| name           | string                    | 是    | 应用帐号的名称。  |
| owner          | string                    | 是    | 应用帐号的所有者。|
L
libing23 已提交
2321 2322 2323 2324 2325 2326
| labels         | Array&lt;string&gt;       | 是    | 标签数组。       |

**返回值:**

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

**错误码:**

J
jidong 已提交
2331 2332 2333 2334 2335 2336 2337 2338
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name or owner or labels. |
| 12300003 | Account not found. |
| 12300010 | Account service busy. |
| 12300113 | Authenticator service not found. |
| 12300114 | Authenticator service exception. |
2339 2340 2341 2342

**示例:**

  ```js
J
jidong 已提交
2343
  let labels = ["student"];
2344
  try {
J
jidong 已提交
2345 2346 2347 2348 2349
    appAccountManager.checkAccountLabels("zhangsan", "com.example.accountjsdemo", labels).then((hasAllLabels) => {
      console.log('checkAccountLabels successfully: ' + hasAllLabels);
    }).catch((err) => {
      console.log("checkAccountLabels failed, error: "  + JSON.stringify(err));
    });
2350
  } catch (err) {
J
jidong 已提交
2351
    console.log("checkAccountLabels exception: "  + JSON.stringify(err));
J
jidong 已提交
2352
  }
2353 2354
  ```

L
libing23 已提交
2355
### deleteCredential<sup>9+</sup>
2356

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

J
jidong 已提交
2359
删除指定应用帐号的特定类型的凭据信息。使用callback异步回调。
2360 2361 2362 2363 2364

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

**参数:**

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

L
libing23 已提交
2371
**错误码:**
2372

J
jidong 已提交
2373 2374 2375 2376 2377 2378
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name or credentialType. |
| 12300003 | Account not found. |
| 12300102 | Credential not found. |
2379 2380

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

2382 2383
  ```js
  try {
J
jidong 已提交
2384 2385 2386 2387 2388 2389 2390
    appAccountManager.deleteCredential("zhangsan", "PIN_SIX", (err) => {
      if (err) {
        console.log("deleteCredential failed, error: "  + JSON.stringify(err));
      } else {
        console.log("deleteCredential successfully");
      }
    });
2391
  } catch (err) {
J
jidong 已提交
2392
    console.log("deleteCredential exception: "  + JSON.stringify(err));
2393
  }
J
jidong 已提交
2394 2395
  ```

L
libing23 已提交
2396
### deleteCredential<sup>9+</sup>
J
jidong 已提交
2397

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

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

Z
zengyawen 已提交
2402 2403 2404
**系统能力:** SystemCapability.Account.AppAccount

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

L
libing23 已提交
2406 2407
| 参数名         | 类型   | 必填   | 说明            |
| -------------- | ------ | ----- | --------------- |
J
jidong 已提交
2408
| name           | string | 是    | 应用帐号的名称。 |
L
libing23 已提交
2409 2410 2411 2412 2413 2414
| credentialType | string | 是    | 凭据类型。       |

**返回值:**

| 类型                | 说明                              |
| ------------------- | -------------------------------- |
A
Annie_wang 已提交
2415
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
2416 2417 2418

**错误码:**

J
jidong 已提交
2419 2420 2421 2422 2423 2424
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid name or credentialType. |
| 12300003 | Account not found. |
| 12300102 | Credential not found. |
J
jidong 已提交
2425

Z
zengyawen 已提交
2426
**示例:**
J
jidong 已提交
2427

Z
zhangalong 已提交
2428
  ```js
L
libing23 已提交
2429
  try {
J
jidong 已提交
2430 2431 2432 2433 2434
    appAccountManager.deleteCredential("zhangsan", "PIN_SIX").then(() => {
      console.log("deleteCredential successfully");
    }).catch((err) => {
      console.log("deleteCredential failed, error: " + JSON.stringify(err));
    });
L
libing23 已提交
2435
  } catch (err) {
J
jidong 已提交
2436
    console.log("deleteCredential exception: "  + JSON.stringify(err));
L
libing23 已提交
2437
  }
J
jidong 已提交
2438 2439
  ```

L
libing23 已提交
2440
### selectAccountsByOptions<sup>9+</sup>
J
jidong 已提交
2441

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

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

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

Z
zengyawen 已提交
2448
**参数:**
J
jidong 已提交
2449

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

L
libing23 已提交
2455
**错误码:**
J
jidong 已提交
2456

J
jidong 已提交
2457 2458 2459 2460 2461 2462
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid options. |
| 12300010 | Account service busy. |
| 12300114 | Authenticator service exception. |
2463 2464 2465 2466

**示例:**

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

L
libing23 已提交
2484
### selectAccountsByOptions<sup>9+</sup>
2485

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

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

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

**参数:**

L
libing23 已提交
2494 2495
| 参数名         | 类型                       | 必填  | 说明             |
| -------------- | ------------------------- | ----- | --------------- |
J
jidong 已提交
2496
| options        | [SelectAccountsOptions](#selectaccountsoptions9)     | 是    | 选择帐号的选项。  |
2497 2498 2499

**返回值:**

L
libing23 已提交
2500 2501
| 类型                | 说明                              |
| ------------------- | -------------------------------- |
J
jidong 已提交
2502
| Promise&lt;[AppAccountInfo](#appaccountinfo)&gt; | Promise对象,返回调用方可访问的帐号列表。 |
L
libing23 已提交
2503 2504 2505

**错误码:**

J
jidong 已提交
2506 2507 2508 2509 2510 2511
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid options. |
| 12300010 | Account service busy. |
| 12300114 | Authenticator service exception. |
2512 2513 2514 2515

**示例:**

  ```js
J
jidong 已提交
2516 2517
  let options = {
    allowedOwners: ["com.example.accountjsdemo"]
L
libing23 已提交
2518
  };
2519
  try {
J
jidong 已提交
2520 2521 2522 2523 2524
    appAccountManager.selectAccountsByOptions(options).then((accountArr) => {
      console.log("selectAccountsByOptions successfully, accountArr: " + JSON.stringify(accountArr));
    }).catch((err) => {
      console.log("selectAccountsByOptions failed, error: "  + JSON.stringify(err));
    });
2525
  } catch (err) {
J
jidong 已提交
2526
    console.log("selectAccountsByOptions exception: "  + JSON.stringify(err));
2527 2528 2529
  }
  ```

L
libing23 已提交
2530
### verifyCredential<sup>9+</sup>
J
jidong 已提交
2531

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

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

Z
zengyawen 已提交
2536 2537 2538
**系统能力:** SystemCapability.Account.AppAccount

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

L
libing23 已提交
2540 2541
| 参数名    | 类型                  | 必填  | 说明                     |
| -------- | --------------------- | ----- | ----------------------- |
J
jidong 已提交
2542 2543 2544
| name     | string                | 是    | 应用帐号的名称。          |
| owner    | string                | 是    | 应用帐号所有者的包名。        |
| callback | [AuthCallback](#authcallback9) | 是    | 回调函数,返回验证结果。 |
L
libing23 已提交
2545 2546 2547

**错误码:**

J
jidong 已提交
2548 2549 2550 2551 2552 2553 2554 2555
| 错误码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 已提交
2556

Z
zengyawen 已提交
2557
**示例:**
J
jidong 已提交
2558

Z
zhangalong 已提交
2559
  ```js
L
libing23 已提交
2560
  try {
J
jidong 已提交
2561
      appAccountManager.verifyCredential("zhangsan", "com.example.accountjsdemo", {
L
libing23 已提交
2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572
          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 已提交
2573 2574
  ```

L
libing23 已提交
2575
### verifyCredential<sup>9+</sup>
J
jidong 已提交
2576

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

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

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

Z
zengyawen 已提交
2583
**参数:**
J
jidong 已提交
2584

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

L
libing23 已提交
2592
**错误码:**
J
jidong 已提交
2593

J
jidong 已提交
2594 2595 2596 2597 2598 2599 2600 2601
| 错误码ID | 错误信息|
| ------- | -------|
| 12300001 | System service exception. |
| 12300002 | Invalid name or owner or options. |
| 12300003 | Account not found. |
| 12300010 | Account service busy. |
| 12300113 | Authenticator service not found. |
| 12300114 | Authenticator service exception. |
Z
zengyawen 已提交
2602 2603

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

Z
zhangalong 已提交
2605
  ```js
J
jidong 已提交
2606
  let options = {
L
libing23 已提交
2607 2608 2609 2610
    credentialType: "pin",
    credential: "123456"
  };
  try {
J
jidong 已提交
2611 2612 2613 2614 2615 2616 2617 2618 2619
    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 已提交
2620 2621 2622
  } catch (err) {
    console.log("verifyCredential err: "  + JSON.stringify(err));
  }
J
jidong 已提交
2623 2624
  ```

L
libing23 已提交
2625
### setAuthenticatorProperties<sup>9+</sup>
2626

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

J
jidong 已提交
2629
设置指定应用的认证器属性。使用callback异步回调。
2630 2631 2632 2633 2634

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

**参数:**

L
libing23 已提交
2635 2636 2637
| 参数名    | 类型                  | 必填  | 说明                     |
| -------- | --------------------- | ----- | ----------------------- |
| owner    | string                | 是    | 认证器的所有者。          |
J
jidong 已提交
2638
| callback | [AuthCallback](#authcallback9) | 是    | 回调函数,返回设置属性的结果。 |
L
libing23 已提交
2639 2640 2641

**错误码:**

J
jidong 已提交
2642 2643 2644 2645 2646 2647 2648
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid owner. |
| 12300010 | Account service busy. |
| 12300113 | Authenticator service not found. |
| 12300114 | Authenticator service exception. |
2649 2650 2651 2652 2653

**示例:**

  ```js
  try {
J
jidong 已提交
2654 2655 2656 2657 2658 2659 2660 2661 2662
    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));
      }
    });
2663
  } catch (err) {
J
jidong 已提交
2664
    console.log("setAuthenticatorProperties err: "  + JSON.stringify(err));
2665 2666 2667
  }
  ```

L
libing23 已提交
2668
### setAuthenticatorProperties<sup>9+</sup>
2669

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

L
libing23 已提交
2672
设置认证器属性。使用callback异步回调。
2673 2674 2675 2676 2677

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

**参数:**

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

L
libing23 已提交
2684
**错误码:**
2685

J
jidong 已提交
2686 2687 2688 2689 2690 2691 2692
| 错误码ID | 错误信息 |
| ------- | ------- |
| 12300001 | System service exception. |
| 12300002 | Invalid owner or options. |
| 12300010 | Account service busy. |
| 12300113 | Authenticator service not found. |
| 12300114 | Authenticator service exception. |
2693 2694 2695 2696

**示例:**

  ```js
J
jidong 已提交
2697
  let options = {
L
libing23 已提交
2698 2699
    properties: {"prop1": "value1"}
  };
2700
  try {
J
jidong 已提交
2701 2702 2703 2704 2705 2706 2707 2708 2709
    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));
      }
    });
2710
  } catch (err) {
J
jidong 已提交
2711
    console.log("setAuthenticatorProperties err: "  + JSON.stringify(err));
L
libing23 已提交
2712 2713
  } 

2714 2715
  ```

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

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

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

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

2726

Z
zengyawen 已提交
2727 2728 2729
**系统能力:** SystemCapability.Account.AppAccount

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

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

Z
zengyawen 已提交
2736
**示例:**
J
jidong 已提交
2737

Z
zhangalong 已提交
2738
  ```js
L
libing23 已提交
2739 2740
  appAccountManager.addAccount("WangWu", (err) => { 
      console.log("addAccount err: " + JSON.stringify(err));
J
jidong 已提交
2741 2742 2743
  });
  ```

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

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

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

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

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

Z
zengyawen 已提交
2755
**参数:**
J
jidong 已提交
2756

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

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

Z
zhangalong 已提交
2765
  ```js
L
libing23 已提交
2766
  appAccountManager.addAccount("LiSi", "token101", (err) => { 
J
jidong 已提交
2767
    console.log("addAccount err: " + JSON.stringify(err));
J
jidong 已提交
2768 2769 2770
  });
  ```

L
libing23 已提交
2771
### addAccount<sup>(deprecated)</sup>
2772

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

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

A
Annie_wang 已提交
2777 2778
> **说明:**  
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[createAccount](#createaccount9-2)替代。
2779 2780 2781 2782 2783

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

**参数:**

L
libing23 已提交
2784 2785
| 参数名       | 类型     | 必填   | 说明                                       |
| --------- | ------ | ---- | ---------------------------------------- |
J
jidong 已提交
2786
| name      | string | 是    | 应用帐号的名称。                            |
2787
| extraInfo | string | 否    | 额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。 |
L
libing23 已提交
2788 2789 2790 2791 2792

**返回值:**

| 类型                  | 说明                    |
| ------------------- | --------------------- |
A
Annie_wang 已提交
2793
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
2794 2795 2796 2797

**示例:**

  ```js
L
libing23 已提交
2798
  appAccountManager.addAccount("LiSi", "token101").then(()=> { 
J
jidong 已提交
2799
    console.log('addAccount Success');
L
libing23 已提交
2800
  }).catch((err) => {
J
jidong 已提交
2801
    console.log("addAccount err: "  + JSON.stringify(err));
L
libing23 已提交
2802
  });
2803 2804
  ```

L
libing23 已提交
2805
### addAccountImplicitly<sup>(deprecated)</sup>
2806

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

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

A
Annie_wang 已提交
2811
> **说明:**  
L
libing23 已提交
2812
>
A
Annie_wang 已提交
2813
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[createAccountImplicitly](#createaccountimplicitly9)替代。
2814 2815 2816 2817 2818

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

**参数:**

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

**示例:**

  ```js
L
liushuling 已提交
2829

L
libing23 已提交
2830 2831

  function onResultCallback(code, result) {
J
jidong 已提交
2832 2833
    console.log("resultCode: "  + code);
    console.log("result: "  + JSON.stringify(result));
L
libing23 已提交
2834 2835 2836
  }

  function onRequestRedirectedCallback(request) {
L
liushuling 已提交
2837 2838 2839 2840 2841 2842 2843 2844 2845
    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 已提交
2846
      console.log("startAbility err: " + JSON.stringify(err));
L
liushuling 已提交
2847
    })
2848
  }
L
libing23 已提交
2849

J
jidong 已提交
2850 2851 2852
  appAccountManager.addAccountImplicitly("com.example.accountjsdemo", "getSocialData", {}, {
    onResult: onResultCallback,
    onRequestRedirected: onRequestRedirectedCallback
L
libing23 已提交
2853
  });
2854 2855
  ```

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

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

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

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

Z
zengyawen 已提交
2866 2867 2868
**系统能力:** SystemCapability.Account.AppAccount

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

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

Z
zengyawen 已提交
2875
**示例:**
J
jidong 已提交
2876

Z
zhangalong 已提交
2877
  ```js
L
libing23 已提交
2878 2879 2880
  appAccountManager.deleteAccount("ZhaoLiu", (err) => { 
      console.log("deleteAccount err: " + JSON.stringify(err));
   });
2881 2882
  ```

L
libing23 已提交
2883
### deleteAccount<sup>(deprecated)</sup>
2884

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

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

A
Annie_wang 已提交
2889
> **说明:** 
2890
>
A
Annie_wang 已提交
2891
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[removeAccount](#removeaccount9)替代。
2892 2893 2894 2895 2896

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

**参数:**

L
libing23 已提交
2897 2898
| 参数名  | 类型     | 必填   | 说明          |
| ---- | ------ | ---- | ----------- |
J
jidong 已提交
2899
| name | string | 是    | 应用帐号的名称。 |
2900 2901 2902 2903

**返回值:**

| 类型                  | 说明                    |
L
libing23 已提交
2904
| :------------------ | :-------------------- |
A
Annie_wang 已提交
2905
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
2906 2907 2908 2909

**示例:**

  ```js
L
libing23 已提交
2910 2911 2912 2913
  appAccountManager.deleteAccount("ZhaoLiu").then(() => { 
        console.log('deleteAccount Success');
   }).catch((err) => {
      console.log("deleteAccount err: "  + JSON.stringify(err));
2914 2915
  });
  ```
L
libing23 已提交
2916
### disableAppAccess<sup>(deprecated)</sup>
2917

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

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

A
Annie_wang 已提交
2922
> **说明:** 
L
libing23 已提交
2923
>
A
Annie_wang 已提交
2924
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setAppAccess](#setappaccess9)替代。
2925 2926 2927 2928 2929

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

**参数:**

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

**示例:**

  ```js
J
jidong 已提交
2939
  appAccountManager.disableAppAccess("ZhangSan", "com.example.accountjsdemo", (err) => { 
L
libing23 已提交
2940 2941
      console.log("disableAppAccess err: " + JSON.stringify(err));
  });
J
jidong 已提交
2942 2943
  ```

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

L
libing23 已提交
2946 2947 2948
disableAppAccess(name: string, bundleName: string): Promise&lt;void&gt;

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

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

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

Z
zengyawen 已提交
2956
**参数:**
J
jidong 已提交
2957

L
libing23 已提交
2958 2959
| 参数名        | 类型     | 必填   | 说明               |
| ---------- | ------ | ---- | ---------------- |
J
jidong 已提交
2960
| name       | string | 是    | 要禁用访问的第三方应用帐号的名称。 |
L
libing23 已提交
2961
| bundleName | string | 是    | 第三方应用的包名。        |
J
jidong 已提交
2962

2963
**返回值:**
J
jidong 已提交
2964

L
libing23 已提交
2965 2966
| 类型                  | 说明                    |
| :------------------ | :-------------------- |
A
Annie_wang 已提交
2967
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zengyawen 已提交
2968 2969

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

Z
zhangalong 已提交
2971
  ```js
J
jidong 已提交
2972
  appAccountManager.disableAppAccess("ZhangSan", "com.example.accountjsdemo").then(() => { 
L
libing23 已提交
2973 2974 2975 2976
      console.log('disableAppAccess Success');
  }).catch((err) => {
      console.log("disableAppAccess err: "  + JSON.stringify(err));
  });
J
jidong 已提交
2977 2978
  ```

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

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

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

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

Z
zengyawen 已提交
2989 2990 2991
**系统能力:** SystemCapability.Account.AppAccount

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

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

Z
zengyawen 已提交
2999
**示例:**
J
jidong 已提交
3000

Z
zhangalong 已提交
3001
  ```js
J
jidong 已提交
3002
  appAccountManager.enableAppAccess("ZhangSan", "com.example.accountjsdemo", (err) => { 
L
libing23 已提交
3003 3004
      console.log("enableAppAccess: " + JSON.stringify(err));
   });
J
jidong 已提交
3005 3006
  ```

L
libing23 已提交
3007
### enableAppAccess<sup>(deprecated)</sup>
3008

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

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

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

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

Z
zengyawen 已提交
3019
**参数:**
J
jidong 已提交
3020

L
libing23 已提交
3021 3022
| 参数名        | 类型     | 必填   | 说明        |
| ---------- | ------ | ---- | --------- |
J
jidong 已提交
3023
| name       | string | 是    | 应用帐号的名称。   |
L
libing23 已提交
3024
| bundleName | string | 是    | 第三方应用的包名。 |
J
jidong 已提交
3025

3026
**返回值:**
J
jidong 已提交
3027

L
libing23 已提交
3028 3029
| 类型                  | 说明                    |
| :------------------ | :-------------------- |
A
Annie_wang 已提交
3030
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zengyawen 已提交
3031 3032

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

Z
zhangalong 已提交
3034
  ```js
J
jidong 已提交
3035
  appAccountManager.enableAppAccess("ZhangSan", "com.example.accountjsdemo").then(() => { 
L
libing23 已提交
3036
       console.log('enableAppAccess Success');
J
jidong 已提交
3037
  }).catch((err) => {
L
libing23 已提交
3038
      console.log("enableAppAccess err: "  + JSON.stringify(err));
J
jidong 已提交
3039 3040 3041
  });
  ```

L
libing23 已提交
3042
### checkAppAccountSyncEnable<sup>(deprecated)</sup>
3043

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

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

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

L
libing23 已提交
3052
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
3053 3054 3055 3056 3057

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

**参数:**

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

L
libing23 已提交
3063
**示例:**
3064 3065

  ```js
L
libing23 已提交
3066 3067 3068 3069
  appAccountManager.checkAppAccountSyncEnable("ZhangSan", (err, result) => { 
      console.log("checkAppAccountSyncEnable err: " + JSON.stringify(err));
      console.log('checkAppAccountSyncEnable result: ' + result);
  });
3070 3071
  ```

L
libing23 已提交
3072
### checkAppAccountSyncEnable<sup>(deprecated)</sup>
3073

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

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

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

L
libing23 已提交
3082
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
3083 3084 3085 3086 3087

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

**参数:**

L
libing23 已提交
3088 3089
| 参数名  | 类型     | 必填   | 说明      |
| ---- | ------ | ---- | ------- |
J
jidong 已提交
3090
| name | string | 是    | 应用帐号的名称。 |
3091 3092 3093

**返回值:**

L
libing23 已提交
3094
| 类型                     | 说明                    |
J
jidong 已提交
3095
| ---------------------- | --------------------- |
A
Annie_wang 已提交
3096
| Promise&lt;boolean&gt; | Promise对象。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。 |
3097 3098 3099 3100

**示例:**

  ```js
L
libing23 已提交
3101 3102 3103 3104 3105
  appAccountManager.checkAppAccountSyncEnable("ZhangSan").then((data) => { 
      console.log('checkAppAccountSyncEnable, result: ' + data);
  }).catch((err) => {
      console.log("checkAppAccountSyncEnable err: "  + JSON.stringify(err));
  });
3106 3107
  ```

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

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

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

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

Z
zengyawen 已提交
3118 3119 3120
**系统能力:** SystemCapability.Account.AppAccount

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

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

L
libing23 已提交
3129
**示例:**
J
jidong 已提交
3130

Z
zhangalong 已提交
3131
  ```js
L
libing23 已提交
3132 3133
  appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001", (err) => { 
      console.log("setAccountCredential err: " + JSON.stringify(err));
J
jidong 已提交
3134 3135 3136
  });
  ```

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

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

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

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

Z
zengyawen 已提交
3147 3148 3149
**系统能力:** SystemCapability.Account.AppAccount

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

L
libing23 已提交
3151 3152 3153
| 参数名            | 类型     | 必填   | 说明         |
| -------------- | ------ | ---- | ---------- |
| name           | string | 是    | 应用帐号的名称。   |
J
jidong 已提交
3154 3155
| credentialType | string | 是    | 凭据类型。 |
| credential     | string | 是    | 凭据取值。 |
J
jidong 已提交
3156

3157
**返回值:**
J
jidong 已提交
3158

L
libing23 已提交
3159 3160
| 类型                  | 说明                    |
| :------------------ | :-------------------- |
A
Annie_wang 已提交
3161
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
J
jidong 已提交
3162

Z
zengyawen 已提交
3163
**示例:**
J
jidong 已提交
3164

Z
zhangalong 已提交
3165
  ```js
L
libing23 已提交
3166 3167
  appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001").then(() => { 
      console.log('setAccountCredential Success');
J
jidong 已提交
3168
  }).catch((err) => {
L
libing23 已提交
3169
      console.log("setAccountCredential err: "  + JSON.stringify(err));
J
jidong 已提交
3170 3171 3172
  });
  ```

L
libing23 已提交
3173
### setAccountExtraInfo<sup>(deprecated)</sup>
3174

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

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

A
Annie_wang 已提交
3179
> **说明:** 
L
libing23 已提交
3180
>
A
Annie_wang 已提交
3181
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setCustomData](#setcustomdata9)替代。
3182 3183 3184 3185 3186 3187


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

**参数:**

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

**示例:**

  ```js
L
libing23 已提交
3197 3198 3199
  appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002", (err) => { 
      console.log("setAccountExtraInfo err: " + JSON.stringify(err));
  });
3200 3201
  ```

L
libing23 已提交
3202
### setAccountExtraInfo<sup>(deprecated)</sup>
3203

L
libing23 已提交
3204 3205 3206 3207
setAccountExtraInfo(name: string, extraInfo: string): Promise&lt;void&gt;

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

A
Annie_wang 已提交
3208
> **说明:** 
L
libing23 已提交
3209
>
A
Annie_wang 已提交
3210
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setCustomData](#setcustomdata9-1)替代。
3211 3212 3213 3214 3215 3216


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

**参数:**

L
libing23 已提交
3217 3218
| 参数名       | 类型     | 必填   | 说明        |
| --------- | ------ | ---- | --------- |
J
jidong 已提交
3219
| name      | string | 是    | 应用帐号的名称。   |
3220
| extraInfo | string | 是    | 额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。 |
3221 3222 3223

**返回值:**

L
libing23 已提交
3224 3225
| 类型                  | 说明                    |
| :------------------ | :-------------------- |
A
Annie_wang 已提交
3226
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3227 3228 3229 3230

**示例:**

  ```js
L
libing23 已提交
3231 3232 3233 3234 3235
  appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002").then(() => { 
      console.log('setAccountExtraInfo Success');
  }).catch((err) => {
      console.log("setAccountExtraInfo err: "  + JSON.stringify(err));
  });
3236 3237
  ```

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

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

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

A
Annie_wang 已提交
3244
> **说明:** 
3245
>
A
Annie_wang 已提交
3246
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setDataSyncEnabled](#setdatasyncenabled9)替代。
L
libing23 已提交
3247 3248

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

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

Z
zengyawen 已提交
3252
**参数:**
J
jidong 已提交
3253

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

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

Z
zhangalong 已提交
3262
  ```js
L
libing23 已提交
3263 3264
  appAccountManager.setAppAccountSyncEnable("ZhangSan", true, (err) => { 
      console.log("setAppAccountSyncEnable err: " + JSON.stringify(err));
J
jidong 已提交
3265 3266 3267
  });
  ```

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

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

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

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

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

Z
zengyawen 已提交
3280 3281 3282
**系统能力:** SystemCapability.Account.AppAccount

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

L
libing23 已提交
3284 3285
| 参数名      | 类型      | 必填   | 说明          |
| -------- | ------- | ---- | ----------- |
J
jidong 已提交
3286 3287
| name     | string  | 是    | 应用帐号的名称。     |
| isEnable | boolean | 是    | 是否开启数据同步。 |
J
jidong 已提交
3288

3289
**返回值:**
J
jidong 已提交
3290

L
libing23 已提交
3291 3292
| 类型                  | 说明                    |
| :------------------ | :-------------------- |
A
Annie_wang 已提交
3293
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
J
jidong 已提交
3294

Z
zengyawen 已提交
3295
**示例:**
J
jidong 已提交
3296

Z
zhangalong 已提交
3297
  ```js
L
libing23 已提交
3298 3299
  appAccountManager .setAppAccountSyncEnable("ZhangSan", true).then(() => { 
      console.log('setAppAccountSyncEnable Success');
J
jidong 已提交
3300
  }).catch((err) => {
L
libing23 已提交
3301
      console.log("setAppAccountSyncEnable err: "  + JSON.stringify(err));
J
jidong 已提交
3302 3303 3304
  });
  ```

L
libing23 已提交
3305
### setAssociatedData<sup>(deprecated)</sup>
3306

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

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

A
Annie_wang 已提交
3311
> **说明:** 
L
libing23 已提交
3312
>
A
Annie_wang 已提交
3313
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setCustomData](#setcustomdata9)替代。
3314 3315 3316 3317 3318 3319


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

**参数:**

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

**示例:**

  ```js
L
libing23 已提交
3330 3331
  appAccountManager.setAssociatedData("ZhangSan", "k001", "v001", (err) => { 
      console.log("setAssociatedData err: " + JSON.stringify(err));
3332 3333 3334
  });
  ```

L
libing23 已提交
3335
### setAssociatedData<sup>(deprecated)</sup>
3336

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

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

A
Annie_wang 已提交
3341
> **说明:** 
L
libing23 已提交
3342
>
A
Annie_wang 已提交
3343
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[setCustomData](#setcustomdata9-1)替代。
3344 3345 3346 3347 3348 3349


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

**参数:**

L
libing23 已提交
3350 3351
| 参数名   | 类型     | 必填   | 说明                |
| ----- | ------ | ---- | ----------------- |
J
jidong 已提交
3352 3353 3354
| name  | string | 是    | 应用帐号的名称。           |
| key      | string | 是    | 关联数据的键名。 |
| value    | string | 是    | 关联数据的取值。 |
3355 3356 3357

**返回值:**

L
libing23 已提交
3358 3359
| 类型                  | 说明                    |
| :------------------ | :-------------------- |
A
Annie_wang 已提交
3360
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3361 3362 3363 3364

**示例:**

  ```js
L
libing23 已提交
3365 3366
  appAccountManager.setAssociatedData("ZhangSan", "k001", "v001").then(() => { 
      console.log('setAssociatedData Success');
3367
  }).catch((err) => {
L
libing23 已提交
3368
      console.log("setAssociatedData err: "  + JSON.stringify(err));
3369 3370 3371
  });
  ```

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

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

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

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

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

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

Z
zengyawen 已提交
3386
**参数:**
J
jidong 已提交
3387

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

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

Z
zhangalong 已提交
3394
  ```js
L
libing23 已提交
3395 3396 3397
  appAccountManager.getAllAccessibleAccounts((err, data)=>{
  	console.debug("getAllAccessibleAccounts err:" + JSON.stringify(err));
  	console.debug("getAllAccessibleAccounts data:" + JSON.stringify(data));
J
jidong 已提交
3398 3399 3400
  });
  ```

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

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

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

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

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

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

3415
**返回值:**
J
jidong 已提交
3416

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

Z
zengyawen 已提交
3421
**示例:**
J
jidong 已提交
3422

Z
zhangalong 已提交
3423
  ```js
L
libing23 已提交
3424 3425
  appAccountManager.getAllAccessibleAccounts().then((data) => { 
       console.log('getAllAccessibleAccounts: ' + data);
3426
  }).catch((err) => {
L
libing23 已提交
3427
      console.log("getAllAccessibleAccounts err: "  + JSON.stringify(err));
3428 3429 3430
  });
  ```

L
libing23 已提交
3431
### getAllAccounts<sup>(deprecated)</sup>
3432

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

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

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

J
jidong 已提交
3441
**需要权限:** ohos.permission.GET_ALL_APP_ACCOUNTS。
3442 3443 3444 3445 3446

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

**参数:**

L
libing23 已提交
3447 3448
| 参数名      | 类型                                       | 必填   | 说明        |
| -------- | ---------------------------------------- | ---- | --------- |
J
jidong 已提交
3449
| owner    | string                                   | 是    | 应用帐号所有者的包名。    |
L
libing23 已提交
3450
| callback | AsyncCallback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 是    | 应用帐号信息列表。 |
3451 3452 3453 3454

**示例:**

  ```js
L
libing23 已提交
3455 3456 3457 3458 3459
  const selfBundle = "com.example.actsgetallaaccounts";
  appAccountManager.getAllAccounts(selfBundle, (err, data)=>{
  	console.debug("getAllAccounts err:" + JSON.stringify(err));
  	console.debug("getAllAccounts data:" + JSON.stringify(data));
  });
3460 3461
  ```

L
libing23 已提交
3462
### getAllAccounts<sup>(deprecated)</sup>
3463

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

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

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

L
libing23 已提交
3472
**需要权限:** ohos.permission.GET_ALL_APP_ACCOUNTS,仅系统应用可用。
3473 3474 3475 3476 3477

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

**参数:**

L
libing23 已提交
3478 3479 3480
| 参数名   | 类型     | 必填   | 说明     |
| ----- | ------ | ---- | ------ |
| owner | string | 是    | 应用包名称。 |
3481 3482 3483

**返回值:**

L
libing23 已提交
3484 3485
| 类型                                       | 说明                    |
| ---------------------------------------- | --------------------- |
J
jidong 已提交
3486
| Promise&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | Promise对象,返回指定应用全部帐号信息对象。 |
3487 3488 3489 3490

**示例:**

  ```js
L
libing23 已提交
3491 3492 3493 3494 3495 3496
  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 已提交
3497 3498
  ```

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

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

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

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

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

Z
zengyawen 已提交
3511
**参数:**
J
jidong 已提交
3512

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

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

Z
zhangalong 已提交
3521
  ```js
L
libing23 已提交
3522 3523 3524
  appAccountManager.getAccountCredential("ZhangSan", "credentialType001", (err, result) => { 
      console.log("getAccountCredential err: " + JSON.stringify(err));
      console.log('getAccountCredential result: ' + result);
J
jidong 已提交
3525 3526 3527
  });
  ```

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

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

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

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

Z
zengyawen 已提交
3538 3539 3540
**系统能力:** SystemCapability.Account.AppAccount

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

L
libing23 已提交
3542 3543
| 参数名            | 类型     | 必填   | 说明         |
| -------------- | ------ | ---- | ---------- |
J
jidong 已提交
3544 3545
| name           | string | 是    | 应用帐号的名称。    |
| credentialType | string | 是    | 凭据类型。 |
J
jidong 已提交
3546

3547
**返回值:**
J
jidong 已提交
3548

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

Z
zengyawen 已提交
3553
**示例:**
J
jidong 已提交
3554

Z
zhangalong 已提交
3555
  ```js
L
libing23 已提交
3556 3557
  appAccountManager.getAccountCredential("ZhangSan", "credentialType001").then((data) => { 
      console.log('getAccountCredential, result: ' + data);
J
jidong 已提交
3558
  }).catch((err) => {
L
libing23 已提交
3559
      console.log("getAccountCredential err: "  + JSON.stringify(err));
J
jidong 已提交
3560 3561 3562
  });
  ```

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

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

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

A
Annie_wang 已提交
3569
> **说明:** 
L
libing23 已提交
3570
>
A
Annie_wang 已提交
3571
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCustomData](#getcustomdata9)替代。
J
jidong 已提交
3572 3573 3574 3575 3576

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

**参数:**

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

**示例:**

  ```js
L
libing23 已提交
3585 3586 3587 3588
  appAccountManager.getAccountExtraInfo("ZhangSan", (err, result) => { 
      console.log("getAccountExtraInfo err: " + JSON.stringify(err));
      console.log('getAccountExtraInfo result: ' + result);
  });
J
jidong 已提交
3589 3590
  ```

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

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

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

A
Annie_wang 已提交
3597
> **说明:** 
L
libing23 已提交
3598
>
A
Annie_wang 已提交
3599
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCustomData](#getcustomdata9-1)替代。
J
jidong 已提交
3600 3601 3602 3603 3604

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

**参数:**

L
libing23 已提交
3605 3606
| 参数名  | 类型     | 必填   | 说明      |
| ---- | ------ | ---- | ------- |
J
jidong 已提交
3607
| name | string | 是    | 应用帐号的名称。 |
J
jidong 已提交
3608

3609
**返回值:**
J
jidong 已提交
3610

L
libing23 已提交
3611 3612
| 类型                    | 说明                    |
| :-------------------- | :-------------------- |
J
jidong 已提交
3613
| Promise&lt;string&gt; | Promise对象,返回此应用程序帐号的额外信息对象。 |
J
jidong 已提交
3614 3615 3616 3617

**示例:**

  ```js
L
libing23 已提交
3618 3619 3620 3621 3622
  appAccountManager.getAccountExtraInfo("ZhangSan").then((data) => { 
      console.log('getAccountExtraInfo, result: ' + data);
  }).catch((err) => {
      console.log("getAccountExtraInfo err: "  + JSON.stringify(err));
  });
J
jidong 已提交
3623 3624
  ```

L
libing23 已提交
3625 3626 3627
### getAssociatedData<sup>(deprecated)</sup>

getAssociatedData(name: string, key: string, callback: AsyncCallback&lt;string&gt;): void
J
jidong 已提交
3628

J
jidong 已提交
3629
根据指定键名获取特定应用帐号的关联数据。使用callback异步回调。
J
jidong 已提交
3630

A
Annie_wang 已提交
3631
> **说明:** 
L
libing23 已提交
3632
>
A
Annie_wang 已提交
3633
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCustomData](#getcustomdata9)替代。
J
jidong 已提交
3634 3635 3636 3637 3638

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

**参数:**

L
libing23 已提交
3639 3640
| 参数名      | 类型                          | 必填   | 说明                |
| -------- | --------------------------- | ---- | ----------------- |
J
jidong 已提交
3641 3642 3643
| name     | string                      | 是    | 应用帐号的名称。           |
| key      | string                      | 是    | 关联数据的键名。         |
| callback | AsyncCallback&lt;string&gt; | 是    | 回调函数。当获取成功时,err为null,data为关联数据的取值;否则为错误对象。 |
J
jidong 已提交
3644 3645 3646 3647

**示例:**

  ```js
L
libing23 已提交
3648 3649 3650 3651
  appAccountManager.getAssociatedData("ZhangSan", "k001", (err, result) => { 
      console.log("getAssociatedData err: " + JSON.stringify(err));
      console.log('getAssociatedData result: ' + result);
  });
J
jidong 已提交
3652 3653
  ```

L
libing23 已提交
3654 3655 3656
### getAssociatedData<sup>(deprecated)</sup>

getAssociatedData(name: string, key: string): Promise&lt;string&gt;
J
jidong 已提交
3657

L
libing23 已提交
3658
获取与此应用程序帐号关联的数据。使用Promise异步回调。
J
jidong 已提交
3659

A
Annie_wang 已提交
3660
> **说明:** 
L
libing23 已提交
3661
>
A
Annie_wang 已提交
3662
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCustomData](#getcustomdata9-1)替代。
J
jidong 已提交
3663 3664 3665 3666 3667

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

**参数:**

L
libing23 已提交
3668 3669
| 参数名  | 类型     | 必填   | 说明        |
| ---- | ------ | ---- | --------- |
J
jidong 已提交
3670 3671
| name | string | 是    | 应用帐号的名称。   |
| key  | string | 是    | 关联数据的键名。 |
J
jidong 已提交
3672

3673
**返回值:**
J
jidong 已提交
3674

L
libing23 已提交
3675 3676
| 类型                    | 说明                    |
| :-------------------- | :-------------------- |
J
jidong 已提交
3677
| Promise&lt;string&gt; | Promise对象,返回关联数据的取值。 |
J
jidong 已提交
3678 3679 3680 3681

**示例:**

  ```js
L
libing23 已提交
3682 3683 3684 3685 3686
  appAccountManager.getAssociatedData("ZhangSan", "k001").then((data) => { 
       console.log('getAssociatedData: ' + data);
  }).catch((err) => {
      console.log("getAssociatedData err: "  + JSON.stringify(err));
  });
J
jidong 已提交
3687 3688
  ```

L
libing23 已提交
3689
### on('change')<sup>(deprecated)</sup>
J
jidong 已提交
3690

L
libing23 已提交
3691 3692
on(type: 'change', owners: Array&lt;string&gt;, callback: Callback&lt;Array&lt;AppAccountInfo&gt;&gt;): void

J
jidong 已提交
3693
订阅指定应用的帐号信息变更事件。
J
jidong 已提交
3694

A
Annie_wang 已提交
3695
> **说明:** 
L
libing23 已提交
3696
>
A
Annie_wang 已提交
3697
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[on('accountChange')](#onaccountchange9)替代。
J
jidong 已提交
3698 3699 3700 3701 3702

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

**参数:**

L
libing23 已提交
3703 3704
| 参数名      | 类型                                       | 必填   | 说明                             |
| -------- | ---------------------------------------- | ---- | ------------------------------ |
J
jidong 已提交
3705 3706 3707
| type     | 'change'                                 | 是    | 事件回调类型,支持的事件为'change',当帐号所有者更新帐号信息时,触发该事件。 |
| owners   | Array&lt;string&gt;                      | 是    | 应用帐号所有者的包名列表。                      |
| callback | Callback&lt;Array&lt;[AppAccountInfo](#appaccountinfo)&gt;&gt; | 是    | 回调函数,返回信息发生变更的应用帐号列表。           |
J
jidong 已提交
3708 3709 3710 3711

**示例:**

  ```js
L
libing23 已提交
3712 3713 3714 3715 3716 3717 3718 3719
  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));
3720
  }
J
jidong 已提交
3721 3722
  ```

L
libing23 已提交
3723
### off('change')<sup>(deprecated)</sup>
J
jidong 已提交
3724

J
jidong 已提交
3725
off(type: 'change', callback?: Callback&lt;Array&lt;AppAccountInfo&gt;&gt;): void
L
libing23 已提交
3726

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

A
Annie_wang 已提交
3729
> **说明:** 
L
libing23 已提交
3730
>
A
Annie_wang 已提交
3731
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[off('accountChange')](#offaccountchange9)替代。
J
jidong 已提交
3732 3733 3734 3735 3736

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

**参数:**

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

**示例:**

  ```js
L
libing23 已提交
3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755
  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));
3756
  }
J
jidong 已提交
3757 3758
  ```

L
libing23 已提交
3759
### authenticate<sup>(deprecated)</sup>
J
jidong 已提交
3760

L
libing23 已提交
3761 3762
authenticate(name: string, owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void

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

A
Annie_wang 已提交
3765
> **说明:** 
L
libing23 已提交
3766
>
A
Annie_wang 已提交
3767
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[auth](#auth9)替代。
J
jidong 已提交
3768 3769 3770 3771 3772

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

**参数:**

L
libing23 已提交
3773 3774
| 参数名      | 类型                    | 必填   | 说明              |
| -------- | --------------------- | ---- | --------------- |
J
jidong 已提交
3775 3776
| name     | string                | 是    | 应用帐号的名称。     |
| owner    | string                | 是    | 应用帐号所有者的包名。  |
L
libing23 已提交
3777 3778
| authType | string                | 是    | 鉴权类型。           |
| options  | {[key: string]: any}  | 是    | 鉴权所需的可选项。       |
J
jidong 已提交
3779
| callback | [AuthenticatorCallback](#authenticatorcallbackdeprecated) | 是    | 回调对象,返回鉴权结果。 |
J
jidong 已提交
3780 3781 3782 3783

**示例:**

  ```js
L
libing23 已提交
3784 3785 3786 3787 3788 3789
  function onResultCallback(code, result) {
      console.log("resultCode: "  + code);
      console.log("result: "  + JSON.stringify(result));
  }

  function onRequestRedirectedCallback(request) {
L
liushuling 已提交
3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800
    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));
    })
3801
  }
L
libing23 已提交
3802

J
jidong 已提交
3803
  appAccountManager.authenticate("LiSi", "com.example.accountjsdemo", "getSocialData", {}, {
L
libing23 已提交
3804 3805 3806
    onResult: onResultCallback,
    onRequestRedirected: onRequestRedirectedCallback
  });
J
jidong 已提交
3807 3808
  ```

L
libing23 已提交
3809
### getOAuthToken<sup>(deprecated)</sup>
J
jidong 已提交
3810

L
libing23 已提交
3811
getOAuthToken(name: string, owner: string, authType: string, callback: AsyncCallback&lt;string&gt;): void
J
jidong 已提交
3812

J
jidong 已提交
3813
获取指定应用帐号的特定鉴权类型的授权令牌。使用callback异步回调。
L
libing23 已提交
3814

A
Annie_wang 已提交
3815
> **说明:** 
L
libing23 已提交
3816
>
A
Annie_wang 已提交
3817
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthToken](#getauthtoken9)替代。
J
jidong 已提交
3818 3819 3820 3821 3822

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

**参数:**

L
libing23 已提交
3823 3824 3825
| 参数名      | 类型                          | 必填   | 说明          |
| -------- | --------------------------- | ---- | ----------- |
| name     | string                      | 是    | 应用帐号的名称。    |
J
jidong 已提交
3826
| owner    | string                      | 是    | 应用帐号所有者的包名。 |
L
libing23 已提交
3827
| authType | string                      | 是    | 鉴权类型。       |
J
jidong 已提交
3828
| callback | AsyncCallback&lt;string&gt; | 是    | 回调函数。当获取成功时,err为null,data为授权令牌值;否则为错误对象。   |
J
jidong 已提交
3829 3830 3831 3832

**示例:**

  ```js
J
jidong 已提交
3833
  appAccountManager.getOAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", (err, data) => {
L
libing23 已提交
3834 3835 3836
       console.log('getOAuthToken err: ' + JSON.stringify(err));
       console.log('getOAuthToken token: ' + data);
  });
J
jidong 已提交
3837 3838
  ```

L
libing23 已提交
3839
### getOAuthToken<sup>(deprecated)</sup>
J
jidong 已提交
3840

L
libing23 已提交
3841 3842
getOAuthToken(name: string, owner: string, authType: string): Promise&lt;string&gt;

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

A
Annie_wang 已提交
3845
> **说明:** 
L
libing23 已提交
3846
>
A
Annie_wang 已提交
3847
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthToken](#getauthtoken9-1)替代。
J
jidong 已提交
3848 3849 3850 3851 3852

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

**参数:**

L
libing23 已提交
3853 3854 3855
| 参数名      | 类型     | 必填   | 说明          |
| -------- | ------ | ---- | ----------- |
| name     | string | 是    | 应用帐号的名称。    |
J
jidong 已提交
3856
| owner    | string | 是    | 应用帐号所有者的包名。 |
L
libing23 已提交
3857 3858 3859 3860 3861 3862
| authType | string | 是    | 鉴权类型。       |

**返回值:**

| 类型                    | 说明                    |
| --------------------- | --------------------- |
J
jidong 已提交
3863
| Promise&lt;string&gt; | Promise对象,返回授权令牌。 |
L
libing23 已提交
3864 3865 3866 3867

**示例:**

  ```js
J
jidong 已提交
3868
  appAccountManager.getOAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData").then((data) => {
L
libing23 已提交
3869 3870 3871 3872 3873 3874 3875 3876 3877 3878
       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 已提交
3879
为指定应用帐号设置特定鉴权类型的授权令牌。使用callback异步回调。
L
libing23 已提交
3880

A
Annie_wang 已提交
3881
> **说明:** 
L
libing23 已提交
3882
>
A
Annie_wang 已提交
3883
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[setAuthToken](#setauthtoken9)替代。
L
libing23 已提交
3884 3885 3886 3887 3888 3889 3890 3891 3892

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

**参数:**

| 参数名      | 类型                        | 必填   | 说明       |
| -------- | ------------------------- | ---- | -------- |
| name     | string                    | 是    | 应用帐号的名称。 |
| authType | string                    | 是    | 鉴权类型。    |
J
jidong 已提交
3893 3894
| token    | string                    | 是    | 授权令牌。 |
| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。当设置成功时,err为null;否则为错误对象。 |
L
libing23 已提交
3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907

**示例:**

  ```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 已提交
3908
为指定应用帐号设置特定鉴权类型的授权令牌。使用Promise异步回调。
L
libing23 已提交
3909

A
Annie_wang 已提交
3910
> **说明:** 
L
libing23 已提交
3911
>
A
Annie_wang 已提交
3912
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[setAuthToken](#setauthtoken9-1)替代。
L
libing23 已提交
3913 3914 3915 3916 3917 3918 3919 3920 3921

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

**参数:**

| 参数名      | 类型     | 必填   | 说明       |
| -------- | ------ | ---- | -------- |
| name     | string | 是    | 应用帐号的名称。 |
| authType | string | 是    | 鉴权类型。    |
J
jidong 已提交
3922
| token    | string | 是    | 授权令牌。 |
L
libing23 已提交
3923 3924 3925 3926 3927

**返回值:**

| 类型                  | 说明                    |
| ------------------- | --------------------- |
A
Annie_wang 已提交
3928
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943

**示例:**

  ```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 已提交
3944
删除指定应用帐号的特定鉴权类型的授权令牌。使用callback异步回调。
L
libing23 已提交
3945

A
Annie_wang 已提交
3946
> **说明:** 
L
libing23 已提交
3947
>
A
Annie_wang 已提交
3948
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[deleteAuthToken](#deleteauthtoken9)替代。
L
libing23 已提交
3949 3950 3951 3952 3953 3954 3955 3956

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

**参数:**

| 参数名      | 类型                        | 必填   | 说明           |
| -------- | ------------------------- | ---- | ------------ |
| name     | string                    | 是    | 应用帐号的名称。     |
J
jidong 已提交
3957
| owner    | string                    | 是    | 应用帐号所有者的包名。  |
L
libing23 已提交
3958
| authType | string                    | 是    | 鉴权类型。        |
J
jidong 已提交
3959 3960
| token    | string                    | 是    | 授权令牌。 |
| callback | AsyncCallback&lt;void&gt; | 是    | 回调函数。当删除成功时,err为null;否则为错误对象。     |
L
libing23 已提交
3961 3962 3963 3964

**示例:**

  ```js
J
jidong 已提交
3965
  appAccountManager.deleteOAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", "xxxxx", (err) => {
L
libing23 已提交
3966 3967 3968 3969 3970 3971 3972 3973
       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 已提交
3974
删除指定应用帐号的特定鉴权类型的授权令牌。使用Promise异步回调。
L
libing23 已提交
3975

A
Annie_wang 已提交
3976
> **说明:** 
L
libing23 已提交
3977
>
A
Annie_wang 已提交
3978
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[deleteAuthToken](#deleteauthtoken9-1)替代。
L
libing23 已提交
3979 3980 3981 3982 3983 3984 3985 3986

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

**参数:**

| 参数名      | 类型     | 必填   | 说明           |
| -------- | ------ | ---- | ------------ |
| name     | string | 是    | 应用帐号的名称。     |
J
jidong 已提交
3987
| owner    | string | 是    | 应用帐号所有者的包名。  |
L
libing23 已提交
3988
| authType | string | 是    | 鉴权类型。        |
J
jidong 已提交
3989
| token    | string | 是    | 授权令牌。 |
L
libing23 已提交
3990 3991 3992 3993 3994

**返回值:**

| 类型                  | 说明                    |
| ------------------- | --------------------- |
A
Annie_wang 已提交
3995
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
3996 3997 3998 3999

**示例:**

  ```js
J
jidong 已提交
4000
  appAccountManager.deleteOAuthToken("LiSi", "com.example.accountjsdemo", "getSocialData", "xxxxx").then(() => {
L
libing23 已提交
4001 4002 4003 4004 4005 4006 4007 4008 4009 4010
       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 已提交
4011
设置指定帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用callback异步回调。
L
libing23 已提交
4012

A
Annie_wang 已提交
4013
> **说明:** 
L
libing23 已提交
4014
>
A
Annie_wang 已提交
4015
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[setAuthTokenVisibility](#setauthtokenvisibility9)替代。
L
libing23 已提交
4016 4017 4018 4019 4020 4021 4022 4023 4024 4025

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

**参数:**

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

**示例:**

  ```js
J
jidong 已提交
4032
  appAccountManager.setOAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", true, (err) => {
L
libing23 已提交
4033 4034 4035 4036 4037 4038 4039 4040
       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 已提交
4041
设置指定帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用Promise异步回调。
L
libing23 已提交
4042

A
Annie_wang 已提交
4043
> **说明:** 
L
libing23 已提交
4044
>
A
Annie_wang 已提交
4045
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[setAuthTokenVisibility](#setauthtokenvisibility9-1)替代。
L
libing23 已提交
4046 4047 4048 4049 4050 4051 4052 4053 4054 4055

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

**参数:**

| 参数名        | 类型      | 必填   | 说明           |
| ---------- | ------- | ---- | ------------ |
| name       | string  | 是    | 应用帐号的名称。     |
| authType   | string  | 是    | 鉴权类型。        |
| bundleName | string  | 是    | 被设置可见性的应用包名。 |
J
jidong 已提交
4056
| isVisible  | boolean | 是    | 是否可见。true表示可见,false表示不可见。        |
L
libing23 已提交
4057 4058 4059 4060 4061

**返回值:**

| 类型                  | 说明                    |
| ------------------- | --------------------- |
A
Annie_wang 已提交
4062
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
L
libing23 已提交
4063 4064 4065 4066

**示例:**

  ```js
J
jidong 已提交
4067
  appAccountManager.setOAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", true).then(() => {
L
libing23 已提交
4068 4069 4070 4071 4072 4073 4074 4075 4076 4077
      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 已提交
4078
检查指定应用帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用callback异步回调。
L
libing23 已提交
4079

A
Annie_wang 已提交
4080
> **说明:** 
L
libing23 已提交
4081
>
A
Annie_wang 已提交
4082
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[checkAuthTokenVisibility](#checkauthtokenvisibility9)替代。
L
libing23 已提交
4083 4084 4085 4086 4087 4088 4089 4090 4091 4092

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

**参数:**

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

**示例:**

  ```js
J
jidong 已提交
4098
  appAccountManager.checkOAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo", (err, data) => {
L
libing23 已提交
4099 4100 4101 4102 4103 4104 4105 4106 4107
      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 已提交
4108
检查指定应用帐号的特定鉴权类型的授权令牌对指定应用的可见性。使用Promise异步回调。
L
libing23 已提交
4109

A
Annie_wang 已提交
4110
> **说明:** 
L
libing23 已提交
4111
>
A
Annie_wang 已提交
4112
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[checkAuthTokenVisibility](#checkauthtokenvisibility9-1)替代。
L
libing23 已提交
4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127

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

**参数:**

| 参数名        | 类型     | 必填   | 说明            |
| ---------- | ------ | ---- | ------------- |
| name       | string | 是    | 应用帐号的名称。      |
| authType   | string | 是    | 鉴权类型。         |
| bundleName | string | 是    | 用于检查可见性的应用包名。 |

**返回值:**

| 类型                     | 说明                    |
| ---------------------- | --------------------- |
A
Annie_wang 已提交
4128
| Promise&lt;boolean&gt; | Promise对象。返回true表示指定鉴权类型的OAuth令牌对特定应用的可见,返回false表示不可见。 |
L
libing23 已提交
4129 4130 4131 4132

**示例:**

  ```js
J
jidong 已提交
4133
  appAccountManager.checkOAuthTokenVisibility("LiSi", "getSocialData", "com.example.accountjsdemo").then((data) => {
L
libing23 已提交
4134 4135 4136 4137 4138 4139 4140 4141 4142 4143
      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 已提交
4144
获取指定帐号对调用方可见的所有授权令牌。使用callback异步回调。
L
libing23 已提交
4145

A
Annie_wang 已提交
4146
> **说明:** 
L
libing23 已提交
4147
>
A
Annie_wang 已提交
4148
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAllAuthTokens](#getallauthtokens9)替代。
L
libing23 已提交
4149 4150 4151 4152 4153 4154 4155 4156

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

**参数:**

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

**示例:** 

  ```js
J
jidong 已提交
4163
  appAccountManager.getAllOAuthTokens("LiSi", "com.example.accountjsdemo", (err, data) => {
L
libing23 已提交
4164 4165 4166 4167 4168 4169 4170 4171 4172
      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 已提交
4173
获取指定帐号对调用方可见的所有授权令牌。使用Promise异步回调。
L
libing23 已提交
4174

A
Annie_wang 已提交
4175
> **说明:** 
L
libing23 已提交
4176
>
A
Annie_wang 已提交
4177
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAllAuthTokens](#getallauthtokens9-1)替代。
L
libing23 已提交
4178 4179 4180 4181 4182 4183 4184 4185

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

**参数:**

| 参数名   | 类型     | 必填   | 说明          |
| ----- | ------ | ---- | ----------- |
| name  | string | 是    | 应用帐号的名称。    |
J
jidong 已提交
4186
| owner | string | 是    | 应用帐号所有者的包名。 |
L
libing23 已提交
4187 4188 4189 4190 4191

**返回值:**

| 类型                                       | 说明                    |
| ---------------------------------------- | --------------------- |
J
jidong 已提交
4192
| Promise&lt;Array&lt; [OAuthTokenInfo](#oauthtokeninfodeprecated)&gt;&gt; | Promise对象,返回授权令牌数组。 |
L
libing23 已提交
4193 4194

**示例:**
J
jidong 已提交
4195 4196

  ```js
J
jidong 已提交
4197
  appAccountManager.getAllOAuthTokens("LiSi", "com.example.accountjsdemo").then((data) => {
L
libing23 已提交
4198 4199 4200 4201 4202 4203 4204 4205 4206 4207
      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 已提交
4208
获取指定应用帐号的特定鉴权类型的授权列表,即被授权的包名数组(令牌的授权列表通过setOAuthTokenVisibility(#setoauthtokenvisibilitydeprecated)来设置)。使用callback异步回调。
L
libing23 已提交
4209

A
Annie_wang 已提交
4210
> **说明:** 
L
libing23 已提交
4211
>
A
Annie_wang 已提交
4212
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthList](#getauthlist9)替代。
L
libing23 已提交
4213 4214 4215 4216 4217 4218 4219 4220

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

**参数:**

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

**示例:**

  ```js
J
jidong 已提交
4227 4228 4229
  appAccountManager.getOAuthList("com.example.accountjsdemo", "getSocialData", (err, data) => {
    console.log('getOAuthList err: ' + JSON.stringify(err));
    console.log('getOAuthList data: ' + JSON.stringify(data));
L
libing23 已提交
4230 4231 4232 4233 4234 4235 4236
  });
  ```

### getOAuthList<sup>(deprecated)</sup>

getOAuthList(name: string, authType: string): Promise&lt;Array&lt;string&gt;&gt;

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

A
Annie_wang 已提交
4239
> **说明:** 
L
libing23 已提交
4240
>
A
Annie_wang 已提交
4241
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthList](#getauthlist9-1)替代。
L
libing23 已提交
4242 4243 4244 4245 4246 4247 4248 4249

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

**参数:**

| 参数名      | 类型     | 必填   | 说明                      |
| -------- | ------ | ---- | ----------------------- |
| name     | string | 是    | 应用帐号的名称。                |
J
jidong 已提交
4250
| authType | string | 是    | 鉴权类型。 |
L
libing23 已提交
4251 4252 4253 4254 4255

**返回值:**

| 类型                                 | 说明                    |
| ---------------------------------- | --------------------- |
J
jidong 已提交
4256
| Promise&lt;Array&lt;string&gt;&gt; | Promise对象,返回被授权的包名数组。 |
L
libing23 已提交
4257 4258 4259 4260

**示例:**

  ```js
J
jidong 已提交
4261
  appAccountManager.getOAuthList("com.example.accountjsdemo", "getSocialData").then((data) => {
L
libing23 已提交
4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273
       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 已提交
4274
> **说明:** 
L
libing23 已提交
4275
>
A
Annie_wang 已提交
4276
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthCallback](#getauthcallback9)替代。
L
libing23 已提交
4277 4278 4279 4280 4281 4282 4283 4284

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

**参数:**

| 参数名       | 类型                                       | 必填   | 说明       |
| --------- | ---------------------------------------- | ---- | -------- |
| sessionId | string                                   | 是    | 鉴权会话的标识。 |
J
jidong 已提交
4285
| callback  | AsyncCallback&lt;[AuthenticatorCallback](#authenticatorcallbackdeprecated)&gt; | 是    | 回调函数。当获取鉴权会话的认证器回调函数成功时,err为null,data为认证器回调函数;否则为错误对象。 |
L
libing23 已提交
4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298

**示例:**

  ```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 已提交
4299
                      [account_appAccount.Constants.KEY_OWNER]: "com.example.accountjsdemo",
L
libing23 已提交
4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312
                      [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 已提交
4313
> **说明:** 
L
libing23 已提交
4314
>
A
Annie_wang 已提交
4315
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getAuthCallback](#getauthcallback9-1)替代。
L
libing23 已提交
4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328

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

**参数:**

| 参数名       | 类型     | 必填   | 说明       |
| --------- | ------ | ---- | -------- |
| sessionId | string | 是    | 鉴权会话的标识。 |

**返回值:**

| 类型                                   | 说明                    |
| ------------------------------------ | --------------------- |
J
jidong 已提交
4329
| Promise&lt;[AuthenticatorCallback](#authenticatorcallbackdeprecated)&gt; | Promise对象,返回鉴权会话的认证器回调对象。 |
L
libing23 已提交
4330 4331 4332 4333 4334 4335 4336 4337 4338 4339

**示例:**

  ```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 已提交
4340
                        [account_appAccount.Constants.KEY_OWNER]: "com.example.accountjsdemo",
L
libing23 已提交
4341 4342 4343 4344 4345
                        [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));
4346
      });
L
libing23 已提交
4347 4348 4349
  }).catch((err) => {
      console.log("getWant err: "  + JSON.stringify(err));
  });
J
jidong 已提交
4350 4351
  ```

L
libing23 已提交
4352
### getAuthenticatorInfo<sup>(deprecated)</sup>
J
jidong 已提交
4353

L
libing23 已提交
4354 4355
getAuthenticatorInfo(owner: string, callback: AsyncCallback&lt;AuthenticatorInfo&gt;): void

J
jidong 已提交
4356
获取指定应用的认证器信息。使用callback异步回调。
J
jidong 已提交
4357

A
Annie_wang 已提交
4358
> **说明:** 
L
libing23 已提交
4359
>
A
Annie_wang 已提交
4360
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[queryAuthenticatorInfo](#queryauthenticatorinfo9)替代。
J
jidong 已提交
4361 4362 4363 4364 4365

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

**参数:**

L
libing23 已提交
4366 4367
| 参数名      | 类型                                     | 必填   | 说明          |
| -------- | -------------------------------------- | ---- | ----------- |
J
jidong 已提交
4368 4369
| owner    | string                                 | 是    | 应用帐号所有者的包名。 |
| callback | AsyncCallback&lt;[AuthenticatorInfo](#authenticatorinfo8)&gt; | 是    | 回调函数。当获取成功时,err为null,data为认证器信息对象;否则为错误对象。    |
J
jidong 已提交
4370 4371 4372 4373

**示例:**

  ```js
J
jidong 已提交
4374
  appAccountManager.getAuthenticatorInfo("com.example.accountjsdemo", (err, data) => {
L
libing23 已提交
4375 4376 4377 4378 4379 4380 4381 4382 4383
      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 已提交
4384
获取指定应用的认证器信息。使用Promise异步回调。
L
libing23 已提交
4385

A
Annie_wang 已提交
4386
> **说明:** 
L
libing23 已提交
4387
>
A
Annie_wang 已提交
4388
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[queryAuthenticatorInfo](#queryauthenticatorinfo9-1)替代。
L
libing23 已提交
4389 4390 4391 4392 4393 4394 4395

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

**参数:**

| 参数名   | 类型     | 必填   | 说明          |
| ----- | ------ | ---- | ----------- |
J
jidong 已提交
4396
| owner | string | 是    | 应用帐号所有者的包名。 |
L
libing23 已提交
4397 4398 4399 4400 4401

**返回值:**

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

**示例:**
4405

L
libing23 已提交
4406
  ```js
J
jidong 已提交
4407
  appAccountManager.getAuthenticatorInfo("com.example.accountjsdemo").then((data) => { 
L
libing23 已提交
4408 4409 4410 4411
       console.log('getAuthenticatorInfo: ' + JSON.stringify(data));
  }).catch((err) => {
      console.log("getAuthenticatorInfo err: "  + JSON.stringify(err));
  });
J
jidong 已提交
4412 4413
  ```

Z
zhaoyuan17 已提交
4414 4415
## AppAccountInfo

J
jidong 已提交
4416 4417
表示应用帐号信息。

Z
zengyawen 已提交
4418 4419
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

4420
| 名称   | 类型     | 必填   | 说明          |
H
HelloCrease 已提交
4421
| ----- | ------ | ---- | ----------- |
J
jidong 已提交
4422
| owner | string | 是    | 应用帐号所有者的包名。 |
H
HelloCrease 已提交
4423
| name  | string | 是    | 应用帐号的名称。    |
J
jidong 已提交
4424

4425 4426 4427 4428 4429 4430
## AuthTokenInfo<sup>9+</sup>

表示Auth令牌信息。

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

4431
| 名称               | 类型            | 必填  | 说明              |
4432 4433 4434 4435 4436 4437
| -------------------- | -------------- | ----- | ---------------- |
| authType<sup>9+</sup>             | string         | 是    | 令牌的鉴权类型。   |
| token<sup>9+</sup>                | string         | 是    | 令牌的取值。       |
| account<sup>9+</sup> | [AppAccountInfo](#appaccountinfo) | 否    | 令牌所属的帐号信息。|

## OAuthTokenInfo<sup>(deprecated)</sup>
J
jidong 已提交
4438 4439 4440

表示OAuth令牌信息。

A
Annie_wang 已提交
4441
> **说明:** 
4442
>
A
Annie_wang 已提交
4443
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[AuthTokenInfo](#authtokeninfo9)替代。
4444

Z
zengyawen 已提交
4445 4446
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

4447
| 名称               | 类型            | 必填  | 说明              |
J
jidong 已提交
4448 4449 4450
| -------------------- | -------------- | ----- | ---------------- |
| authType             | string         | 是    | 令牌的鉴权类型。   |
| token                | string         | 是    | 令牌的取值。       |
4451
| account<sup>9+</sup> | [AppAccountInfo](#appaccountinfo) | 否    | 令牌所属的帐号信息。|
J
jidong 已提交
4452 4453 4454 4455 4456

## AuthenticatorInfo<sup>8+</sup>

表示OAuth认证器信息。

Z
zengyawen 已提交
4457 4458
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

4459
| 名称     | 类型     | 必填   | 说明         |
H
HelloCrease 已提交
4460 4461
| ------- | ------ | ---- | ---------- |
| owner   | string | 是    | 认证器的所有者包名。 |
4462 4463
| iconId  | number | 是    | 认证器的图标标识。  |
| labelId | number | 是    | 认证器的标签标识。  |
J
jidong 已提交
4464

4465 4466 4467 4468 4469 4470
## AuthResult<sup>9+</sup>

表示认证结果信息。

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

4471
| 名称     | 类型     | 必填   | 说明         |
4472 4473 4474 4475 4476 4477
| ------- | ------ | ---- | ---------- |
| account   | [AppAccountInfo](#appaccountinfo) | 否    | 令牌所属的帐号信息。 |
| tokenInfo  | [AuthTokenInfo](#authtokeninfo9) | 否    | 令牌信息。  |

## CreateAccountOptions<sup>9+</sup>

4478
表示创建帐号的选项。
4479 4480 4481

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

4482
| 名称     | 类型     | 必填   | 说明         |
4483
| ------- | ------ | ---- | ---------- |
4484
| customData   | {[key: string]: string} | 否    | 自定义数据。 |
4485 4486 4487

## CreateAccountImplicitlyOptions<sup>9+</sup>

4488
表示隐式创建帐号的选项。
4489 4490 4491

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

4492
| 名称     | 类型     | 必填   | 说明         |
4493
| ------- | ------ | ---- | ---------- |
4494
| requiredLabels   | Array&lt;string&gt; | 否    | 必须的标签。 |
4495
| authType   | string | 否    | 鉴权类型。 |
4496
| parameters   | {[key: string]: Object} | 否    | 自定义参数对象。 |
J
jidong 已提交
4497 4498 4499 4500 4501 4502
## SelectAccountsOptions<sup>9+</sup>

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

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

4503
| 名称          | 类型                         | 必填  | 说明                |
J
jidong 已提交
4504
| --------------- | --------------------------- | ----- | ------------------- |
4505
| allowedAccounts | Array&lt;[AppAccountInfo](#appaccountinfo)&gt; | 否    | 允许的帐号数组。      |
J
jidong 已提交
4506 4507 4508 4509 4510 4511 4512 4513 4514
| allowedOwners   | Array&lt;string&gt;         | 否    | 允许的帐号所有者数组。 |
| requiredLabels  | Array&lt;string&gt;         | 否    | 认证器的标签标识。    |

## VerifyCredentialOptions<sup>9+</sup>

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

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

4515
| 名称          | 类型                   | 必填  | 说明           |
J
jidong 已提交
4516 4517 4518
| -------------- | ---------------------- | ----- | -------------- |
| credentialType | string                 | 否    | 凭据类型。      |
| credential     | string                 | 否    | 凭据取值。      |
4519
| parameters     | {[key: string]: Object} | 否    | 自定义参数对象。 |
J
jidong 已提交
4520 4521 4522 4523 4524 4525 4526 4527


## SetPropertiesOptions<sup>9+</sup>

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

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

4528
| 名称     | 类型                    | 必填  | 说明           |
J
jidong 已提交
4529
| ---------- | ---------------------- | ----- | -------------- |
4530 4531
| properties | {[key: string]: Object} | 否    | 属性对象。      |
| parameters | {[key: string]: Object} | 否    | 自定义参数对象。 |
J
jidong 已提交
4532

J
jidong 已提交
4533 4534 4535 4536
## Constants<sup>8+</sup>

表示常量的枚举。

Z
zengyawen 已提交
4537 4538
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

4539
| 名称                            | 值                    | 说明                   |
J
jidong 已提交
4540
| -------------------------------- | ---------------------- | ----------------------- |
4541 4542 4543 4544
| 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 已提交
4545 4546 4547
| ACTION_VERIFY_CREDENTIAL<sup>9+</sup>    | "verifyCredential" | 表示操作,验证凭据。  |
| ACTION_SET_AUTHENTICATOR_PROPERTIES<sup>9+</sup> | "setAuthenticatorProperties" | 表示操作,设置认证器属性。      |
| KEY_NAME                         | "name"                 | 表示键名,应用帐号的名称。  |
J
jidong 已提交
4548 4549 4550 4551 4552 4553 4554 4555 4556 4557
| 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 已提交
4558

4559
## ResultCode<sup>(deprecated)</sup>
Z
zhaoyuan17 已提交
4560

J
jidong 已提交
4561
表示返回码的枚举。
Z
zhaoyuan17 已提交
4562

4563
> **说明:**<br/>
Z
zengyawen 已提交
4564
> 从API version 8开始支持,从API version 9开始废弃。相关信息建议查看[错误码文档](../errorcodes/errorcode-account.md)替代。
4565

Z
zengyawen 已提交
4566 4567
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.AppAccount。

4568
| 名称                                  | 值   | 说明           |
H
HelloCrease 已提交
4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588
| ----------------------------------- | ----- | ------------ |
| 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 已提交
4589

4590 4591
## AuthCallback<sup>9+</sup>

J
jidong 已提交
4592
认证器回调类。
4593 4594 4595

### onResult<sup>9+</sup>

J
jidong 已提交
4596
onResult: (code: number, result?: AuthResult) =&gt; void
4597 4598 4599 4600 4601 4602 4603 4604 4605 4606

通知请求结果。

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

**参数:**

| 参数名    | 类型                   | 必填   | 说明     |
| ------ | -------------------- | ---- | ------ |
| code   | number               | 是    | 鉴权结果码。 |
J
jidong 已提交
4607
| result | [AuthResult](#authresult9) | 否    | 鉴权结果。  |
4608 4609 4610 4611

**示例:**

  ```js
J
jidong 已提交
4612
  let appAccountManager = account_appAccount.createAppAccountManager();
4613 4614
  var sessionId = "1234";
  appAccountManager.getAuthCallback(sessionId).then((callback) => {
L
lichenchen 已提交
4615 4616 4617 4618 4619 4620 4621 4622 4623 4624
      var result = {
          accountInfo: {
            name: "Lisi",
            owner: "com.example.accountjsdemo",
          },
          tokenInfo: {
            token: "xxxxxx",
            authType: "getSocialData"
          }
      };
4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650
      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 已提交
4651 4652
              bundleName: "com.example.accountjsdemo",
              abilityName: "com.example.accountjsdemo.LoginAbility",
4653 4654 4655 4656
          });
      }

      auth(name, authType, options, callback) {
L
lichenchen 已提交
4657 4658 4659 4660 4661 4662 4663 4664 4665 4666
          var result = {
            accountInfo: {
              name: "Lisi",
              owner: "com.example.accountjsdemo",
            },
            tokenInfo: {
              token: "xxxxxx",
              authType: "getSocialData"
            }
          };
4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682
          callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
      }
  }
  ```

### onRequestContinued<sup>9+</sup>

onRequestContinued?: () =&gt; void

通知请求被继续处理。

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

**示例:**

  ```js
J
jidong 已提交
4683
  let appAccountManager = account_appAccount.createAppAccountManager();
4684 4685 4686 4687 4688 4689 4690 4691 4692
  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 已提交
4693 4694 4695

OAuth认证器回调接口。

A
Annie_wang 已提交
4696
> **说明:** 
4697
>
A
Annie_wang 已提交
4698
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[AuthCallback](#authcallback9)替代。
4699

J
jidong 已提交
4700 4701
### onResult<sup>8+</sup>

Z
zengyawen 已提交
4702
onResult: (code: number, result: {[key: string]: any}) =&gt; void
J
jidong 已提交
4703

J
jidong 已提交
4704
通知请求结果。
J
jidong 已提交
4705

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

Z
zengyawen 已提交
4708
**参数:**
4709

H
HelloCrease 已提交
4710 4711 4712 4713
| 参数名    | 类型                   | 必填   | 说明     |
| ------ | -------------------- | ---- | ------ |
| code   | number               | 是    | 鉴权结果码。 |
| result | {[key: string]: any} | 是    | 鉴权结果。  |
Z
zengyawen 已提交
4714 4715

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

Z
zhangalong 已提交
4717
  ```js
J
jidong 已提交
4718
  let appAccountManager = account_appAccount.createAppAccountManager();
J
jidong 已提交
4719 4720
  var sessionId = "1234";
  appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {
J
jidong 已提交
4721
      var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",
J
jidong 已提交
4722
                    [account_appAccount.Constants.KEY_OWNER]: "com.example.accountjsdemo",
4723
                    [account_appAccount.Constants.KEY_AUTH_TYPE]: "getSocialData",
J
jidong 已提交
4724
                    [account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
J
jidong 已提交
4725
      callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
J
jidong 已提交
4726 4727 4728 4729 4730 4731 4732
  }).catch((err) => {
      console.log("getAuthenticatorCallback err: "  + JSON.stringify(err));
  });
  ```

### onRequestRedirected<sup>8+</sup>

Z
zengyawen 已提交
4733
onRequestRedirected: (request: Want) =&gt; void
J
jidong 已提交
4734

J
jidong 已提交
4735
通知请求被跳转。
J
jidong 已提交
4736

Z
zengyawen 已提交
4737 4738 4739
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
4740

H
HelloCrease 已提交
4741 4742 4743
| 参数名     | 类型   | 必填   | 说明         |
| ------- | ---- | ---- | ---------- |
| request | Want | 是    | 用于跳转的请求信息。 |
J
jidong 已提交
4744

Z
zengyawen 已提交
4745
**示例:**
J
jidong 已提交
4746

Z
zhangalong 已提交
4747
  ```js
J
jidong 已提交
4748 4749 4750
  class MyAuthenticator extends account_appAccount.Authenticator {
      addAccountImplicitly(authType, callerBundleName, options, callback) {
          callback.onRequestRedirected({
J
jidong 已提交
4751 4752
              bundleName: "com.example.accountjsdemo",
              abilityName: "com.example.accountjsdemo.LoginAbility",
J
jidong 已提交
4753 4754 4755 4756
          });
      }

      authenticate(name, authType, callerBundleName, options, callback) {
J
jidong 已提交
4757 4758 4759 4760
          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 已提交
4761 4762 4763 4764
      }
  }
  ```

J
jidong 已提交
4765 4766
### onRequestContinued<sup>9+</sup>

J
jidong 已提交
4767
onRequestContinued?: () =&gt; void
J
jidong 已提交
4768 4769 4770 4771 4772 4773 4774 4775

通知请求被继续处理。

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

**示例:**

  ```js
J
jidong 已提交
4776
  let appAccountManager = account_appAccount.createAppAccountManager();
J
jidong 已提交
4777 4778
  var sessionId = "1234";
  appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {
J
jidong 已提交
4779
      callback.onRequestContinued();
J
jidong 已提交
4780 4781 4782 4783 4784
  }).catch((err) => {
      console.log("getAuthenticatorCallback err: "  + JSON.stringify(err));
  });
  ```

J
jidong 已提交
4785 4786
## Authenticator<sup>8+</sup>

J
jidong 已提交
4787
认证器基类。
J
jidong 已提交
4788

J
jidong 已提交
4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800
### createAccountImplicitly<sup>9+</sup>

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

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

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

**参数:**

| 参数名              | 类型                    | 必填   | 说明              |
| ---------------- | --------------------- | ---- | --------------- |
4801
| options          | [CreateAccountImplicitlyOptions](#createaccountimplicitlyoptions9)  | 是    | 隐式创建帐号的选项。      |
J
jidong 已提交
4802 4803
| callback         | [AuthCallback](#authcallback9) | 是    | 认证器回调对象,用于返回创建结果。 |

Z
zengyawen 已提交
4804
### addAccountImplicitly<sup>(deprecated)</sup>
J
jidong 已提交
4805

Z
zengyawen 已提交
4806
addAccountImplicitly(authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
J
jidong 已提交
4807

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

A
Annie_wang 已提交
4810
> **说明:** 
J
jidong 已提交
4811
>
A
Annie_wang 已提交
4812
> 从 API version 8开始支持, 从API version 9开始废弃。建议使用[createAccountImplicitly](#createaccountimplicitly9-2)替代。
J
jidong 已提交
4813

Z
zengyawen 已提交
4814 4815 4816
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
4817

H
HelloCrease 已提交
4818 4819 4820 4821 4822
| 参数名              | 类型                    | 必填   | 说明              |
| ---------------- | --------------------- | ---- | --------------- |
| authType         | string                | 是    | 应用帐号的鉴权类型。      |
| callerBundleName | string                | 是    | 鉴权请求方的包名。       |
| options          | {[key: string]: any}  | 是    | 鉴权所需要的可选项。      |
4823
| callback         | [AuthenticatorCallback](#authenticatorcallbackdeprecated) | 是    | 认证器回调,用于返回鉴权结果。 |
J
jidong 已提交
4824

J
jidong 已提交
4825 4826 4827 4828 4829 4830 4831 4832 4833 4834
### auth<sup>9+</sup>

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

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

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

**参数:**

4835
| 参数名              | 类型                    | 必填   | 说明              |
J
jidong 已提交
4836 4837 4838 4839
| ---------------- | --------------------- | ---- | --------------- |
| name             | string                | 是    | 应用帐号的名称。        |
| authType         | string                | 是    | 应用帐号的鉴权类型。      |
| callerBundleName | string                | 是    | 鉴权类型。       |
4840
| options          | {[key: string]: Object}  | 是    | 鉴权所需要的可选项。      |
J
jidong 已提交
4841 4842
| callback         | [AuthCallback](#authcallback9) | 是    | 回调对象,用于返回鉴权结果。 |

Z
zengyawen 已提交
4843
### authenticate<sup>(deprecated)</sup>
J
jidong 已提交
4844

Z
zengyawen 已提交
4845
authenticate(name: string, authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
J
jidong 已提交
4846

J
jidong 已提交
4847 4848
对应用帐号进行鉴权,获取OAuth令牌,并使用callback异步回调返回结果。

A
Annie_wang 已提交
4849
> **说明:** 
J
jidong 已提交
4850
>
A
Annie_wang 已提交
4851
> 从 API version 8开始支持, 从API version 9开始废弃。建议使用[auth](#auth9-2)替代。
J
jidong 已提交
4852

Z
zengyawen 已提交
4853 4854 4855
**系统能力:** SystemCapability.Account.AppAccount

**参数:**
4856

4857
| 参数名              | 类型                    | 必填   | 说明              |
H
HelloCrease 已提交
4858 4859 4860 4861 4862
| ---------------- | --------------------- | ---- | --------------- |
| name             | string                | 是    | 应用帐号的名称。        |
| authType         | string                | 是    | 应用帐号的鉴权类型。      |
| callerBundleName | string                | 是    | 鉴权请求方的包名。       |
| options          | {[key: string]: any}  | 是    | 鉴权所需要的可选项。      |
4863
| callback         | [AuthenticatorCallback](#authenticatorcallbackdeprecated) | 是    | 认证器回调,用于返回鉴权结果。 |
J
jidong 已提交
4864

J
jidong 已提交
4865 4866
### verifyCredential<sup>9+</sup>

J
jidong 已提交
4867
verifyCredential(name: string, options: VerifyCredentialOptions, callback: AuthCallback): void;
J
jidong 已提交
4868

J
jidong 已提交
4869
验证应用帐号的凭据,并使用callback异步回调返回结果。
J
jidong 已提交
4870 4871 4872 4873

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

**参数:**
4874

4875
| 参数名              | 类型                    | 必填   | 说明              |
4876
| ---------------- | --------------------- | ---- | --------------- |
J
jidong 已提交
4877
| name      | string                   | 是    | 应用帐号的名称。              |
4878
| options   | [VerifyCredentialOptions](#verifycredentialoptions9)  | 是    | 验证凭据的可选项。            |
J
jidong 已提交
4879
| callback  | [AuthCallback](#authcallback9)    | 是    | 认证器回调,用于返回验证结果。 |
J
jidong 已提交
4880 4881 4882

### setProperties<sup>9+</sup>

J
jidong 已提交
4883
setProperties(options: SetPropertiesOptions, callback: AuthCallback): void;
J
jidong 已提交
4884

J
jidong 已提交
4885
设置认证器属性,并使用callback异步回调返回结果。
J
jidong 已提交
4886 4887 4888 4889

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

**参数:**
4890

4891
| 参数名              | 类型                    | 必填   | 说明              |
4892 4893
| ---------------- | --------------------- | ---- | --------------- |
| options   | [SetPropertiesOptions](#setpropertiesoptions9)  | 是    | 设置属性的可选项。            |
J
jidong 已提交
4894
| callback  | [AuthCallback](#authcallback9) | 是    | 认证器回调,用于返回设置结果。 |
J
jidong 已提交
4895 4896 4897

### checkAccountLabels<sup>9+</sup>

J
jidong 已提交
4898
checkAccountLabels(name: string, labels: Array&lt;string&gt;, callback: AuthCallback): void;
J
jidong 已提交
4899

J
jidong 已提交
4900
检查帐号标签,并使用callback异步回调返回结果。
J
jidong 已提交
4901 4902 4903 4904

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

**参数:**
4905

4906
| 参数名              | 类型                    | 必填   | 说明              |
4907
| ---------------- | --------------------- | ---- | --------------- |
J
jidong 已提交
4908
| name      | string                | 是    | 应用帐号的名称。              |
4909
| labels    | Array&lt;string&gt;          | 是    | 标签数组。                   |
J
jidong 已提交
4910
| callback  | [AuthCallback](#authcallback9) | 是    | 认证器回调,用于返回检查结果。 |
J
jidong 已提交
4911

C
cclicn 已提交
4912
### checkAccountRemovable<sup>9+</sup>
J
jidong 已提交
4913

C
cclicn 已提交
4914
checkAccountRemovable(name: string, callback: AuthCallback): void;
J
jidong 已提交
4915

J
jidong 已提交
4916
判断帐号是否可以删除,并使用callback异步回调返回结果。
J
jidong 已提交
4917 4918 4919 4920

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

**参数:**
4921

4922
| 参数名              | 类型                    | 必填   | 说明              |
4923
| ---------------- | --------------------- | ---- | --------------- |
J
jidong 已提交
4924
| name      | string                | 是    | 应用帐号的名称。              |
J
jidong 已提交
4925
| callback  | [AuthCallback](#authcallback9) | 是    | 认证器回调,用于返回判断结果。 |
J
jidong 已提交
4926 4927 4928 4929 4930 4931 4932 4933 4934

### getRemoteObject<sup>9+</sup>

getRemoteObject(): rpc.RemoteObject;

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

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

Z
zengyawen 已提交
4935
**示例:**
J
jidong 已提交
4936

Z
zhangalong 已提交
4937
  ```js
J
jidong 已提交
4938
  class MyAuthenticator extends account_appAccount.Authenticator {
J
jidong 已提交
4939 4940 4941 4942 4943 4944
    addAccountImplicitly(authType, callerBundleName, options, callback) {
      callback.onRequestRedirected({
        bundleName: "com.example.accountjsdemo",
        abilityName: "com.example.accountjsdemo.LoginAbility",
      });
    }
J
jidong 已提交
4945

J
jidong 已提交
4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961
    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 已提交
4962

J
jidong 已提交
4963 4964 4965
    setProperties(options, callback) {
      callback.onResult(account_appAccount.ResultCode.SUCCESS, {});
    }
J
jidong 已提交
4966

J
jidong 已提交
4967 4968 4969 4970 4971
    checkAccountLabels(name, labels, callback) {
      var result = {[account_appAccount.Constants.KEY_BOOLEAN_RESULT]: false};
      callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
    }
  
C
cclicn 已提交
4972
    checkAccountRemovable(name, callback) {
J
jidong 已提交
4973 4974 4975
      var result = {[account_appAccount.Constants.KEY_BOOLEAN_RESULT]: true};
      callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
    }
J
jidong 已提交
4976
  }
4977
  var authenticator = null;
J
jidong 已提交
4978
  export default {
J
jidong 已提交
4979 4980 4981 4982
    onConnect(want) {
      authenticator = new MyAuthenticator();
      return authenticator.getRemoteObject();
    }
J
jidong 已提交
4983
  }
Z
zengyawen 已提交
4984
  ```