HarmonyOS API:@ohos.account.appAccount (应用帐号管理)

joytrian
发布于 2023-4-10 18:22
浏览
0收藏

版本:v3.1 Beta

@ohos.account.appAccount (应用帐号管理)

setAssociatedData(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

key

string

关联数据的键名。

value

string

关联数据的取值。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

getAllAccessibleAccounts(deprecated)

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

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

说明

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

需要权限: ohos.permission.GET_ALL_APP_ACCOUNTS。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

callback

AsyncCallback<Array<​​AppAccountInfo​​>>

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

示例:

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

getAllAccessibleAccounts(deprecated)

getAllAccessibleAccounts(): Promise<Array<AppAccountInfo>>

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

说明

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

需要权限: ohos.permission.GET_ALL_APP_ACCOUNTS。

系统能力: SystemCapability.Account.AppAccount

返回值:

类型

说明

Promise<Array<​​AppAccountInfo​​>>

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

示例:

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

getAllAccounts(deprecated)

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

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

说明

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

需要权限: ohos.permission.GET_ALL_APP_ACCOUNTS。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

owner

string

应用帐号所有者的包名。

callback

AsyncCallback<Array<​​AppAccountInfo​​>>

应用帐号信息列表。

示例:

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

getAllAccounts(deprecated)

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

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

说明

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

需要权限: ohos.permission.GET_ALL_APP_ACCOUNTS,仅系统应用可用。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

owner

string

应用包名称。

返回值:

类型

说明

Promise<Array<​​AppAccountInfo​​>>

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

示例:

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

getAccountCredential(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

credentialType

string

凭据类型。

callback

AsyncCallback<string>

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

示例:

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

getAccountCredential(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

credentialType

string

凭据类型。

返回值:

类型

说明

Promise<string>

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

示例:

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

getAccountExtraInfo(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

callback

AsyncCallback<string>

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

示例:

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

getAccountExtraInfo(deprecated)

getAccountExtraInfo(name: string): Promise<string>

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

返回值:

类型

说明

Promise<string>

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

示例:

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

getAssociatedData(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

key

string

关联数据的键名。

callback

AsyncCallback<string>

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

示例:

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

getAssociatedData(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

key

string

关联数据的键名。

返回值:

类型

说明

Promise<string>

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

示例:

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

on('change')(deprecated)

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

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

说明

从 API version 7开始支持,从API version 9开始废弃。建议使用​​on('accountChange')​​替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

type

'change'

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

owners

Array<string>

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

callback

Callback<Array<​​AppAccountInfo​​>>

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

示例:

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));
}

off('change')(deprecated)

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

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

说明

从 API version 7开始支持,从API version 9开始废弃。建议使用​​off('accountChange')​​替代。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

type

'change'

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

callback

Callback<Array<​​AppAccountInfo​​>>

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

示例:

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));
}

authenticate(deprecated)

authenticate(name: string, owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

authType

string

鉴权类型。

options

{[key: string]: any}

鉴权所需的可选项。

callback

​AuthenticatorCallback​

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

示例:

function onResultCallback(code, result) {
    console.log("resultCode: "  + code);
    console.log("result: "  + JSON.stringify(result));
}

function onRequestRedirectedCallback(request) {
  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));
  })
}

appAccountManager.authenticate("LiSi", "com.example.accountjsdemo", "getSocialData", {}, {
  onResult: onResultCallback,
  onRequestRedirected: onRequestRedirectedCallback
});

getOAuthToken(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

authType

string

鉴权类型。

callback

AsyncCallback<string>

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

示例:

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

getOAuthToken(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

authType

string

鉴权类型。

返回值:

类型

说明

Promise<string>

Promise对象,返回授权令牌。

示例:

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

setOAuthToken(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

token

string

授权令牌。

callback

AsyncCallback<void>

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

示例:

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

setOAuthToken(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

token

string

授权令牌。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

deleteOAuthToken(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

authType

string

鉴权类型。

token

string

授权令牌。

callback

AsyncCallback<void>

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

示例:

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

deleteOAuthToken(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

authType

string

鉴权类型。

token

string

授权令牌。

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

setOAuthTokenVisibility(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

bundleName

string

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

isVisible

boolean

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

callback

AsyncCallback<void>

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

示例:

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

setOAuthTokenVisibility(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

bundleName

string

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

isVisible

boolean

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

返回值:

类型

说明

Promise<void>

无返回结果的Promise对象。

示例:

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

checkOAuthTokenVisibility(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

bundleName

string

检查可见性的应用包名。

callback

AsyncCallback<boolean>

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

示例:

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

checkOAuthTokenVisibility(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

bundleName

string

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

返回值:

类型

说明

Promise<boolean>

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

示例:

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

getAllOAuthTokens(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

callback

AsyncCallback<Array<​​OAuthTokenInfo​​>>

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

示例:

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

getAllOAuthTokens(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

owner

string

应用帐号所有者的包名。

返回值:

类型

说明

Promise<Array< ​​OAuthTokenInfo​​>>

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

示例:

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

getOAuthList(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

callback

AsyncCallback<Array<string>>

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

示例:

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

getOAuthList(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

鉴权类型。

返回值:

类型

说明

Promise<Array<string>>

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

示例:

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

getAuthenticatorCallback(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

sessionId

string

鉴权会话的标识。

callback

AsyncCallback<​​AuthenticatorCallback​​>

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

示例:

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",
                    [account_appAccount.Constants.KEY_OWNER]: "com.example.accountjsdemo",
                    [account_appAccount.Constants.KEY_AUTH_TYPE]: "getSocialData",
                    [account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
      callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
  });
});

getAuthenticatorCallback(deprecated)

getAuthenticatorCallback(sessionId: string): Promise<AuthenticatorCallback>

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

sessionId

string

鉴权会话的标识。

返回值:

类型

说明

Promise<​​AuthenticatorCallback​​>

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

示例:

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",
                      [account_appAccount.Constants.KEY_OWNER]: "com.example.accountjsdemo",
                      [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));
    });
}).catch((err) => {
    console.log("getWant err: "  + JSON.stringify(err));
});

getAuthenticatorInfo(deprecated)

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

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

owner

string

应用帐号所有者的包名。

callback

AsyncCallback<​​AuthenticatorInfo​​>

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

示例:

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

getAuthenticatorInfo(deprecated)

getAuthenticatorInfo(owner: string): Promise<AuthenticatorInfo>

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

owner

string

应用帐号所有者的包名。

返回值:

类型

说明

Promise<​​AuthenticatorInfo​​>

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

示例:

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

AppAccountInfo

表示应用帐号信息。

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

名称

类型

必填

说明

owner

string

应用帐号所有者的包名。

name

string

应用帐号的名称。

AuthTokenInfo9+

表示Auth令牌信息。

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

名称

类型

必填

说明

authType9+

string

令牌的鉴权类型。

token9+

string

令牌的取值。

account9+

​AppAccountInfo​

令牌所属的帐号信息。

OAuthTokenInfo(deprecated)

表示OAuth令牌信息。

说明

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

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

名称

类型

必填

说明

authType

string

令牌的鉴权类型。

token

string

令牌的取值。

AuthenticatorInfo8+

表示OAuth认证器信息。

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

名称

类型

必填

说明

owner

string

认证器的所有者包名。

iconId

number

认证器的图标标识。

labelId

number

认证器的标签标识。

AuthResult9+

表示认证结果信息。

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

名称

类型

必填

说明

account

​AppAccountInfo​

令牌所属的帐号信息。

tokenInfo

​AuthTokenInfo​

令牌信息。

CreateAccountOptions9+

表示创建帐号的选项。

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

名称

类型

必填

说明

customData

{[key: string]: string}

自定义数据。

CreateAccountImplicitlyOptions9+

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

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

名称

类型

必填

说明

requiredLabels

Array<string>

必须的标签。

authType

string

鉴权类型。

parameters

{[key: string]: Object}

自定义参数对象。

SelectAccountsOptions9+

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

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

名称

类型

必填

说明

allowedAccounts

Array<​​AppAccountInfo​​>

允许的帐号数组。

allowedOwners

Array<string>

允许的帐号所有者数组。

requiredLabels

Array<string>

认证器的标签标识。

VerifyCredentialOptions9+

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

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

名称

类型

必填

说明

credentialType

string

凭据类型。

credential

string

凭据取值。

parameters

{[key: string]: Object}

自定义参数对象。

SetPropertiesOptions9+

表示用于设置属性的选项。

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

名称

类型

必填

说明

properties

{[key: string]: Object}

属性对象。

parameters

{[key: string]: Object}

自定义参数对象。

Constants8+

表示常量的枚举。

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

名称

说明

ACTION_ADD_ACCOUNT_IMPLICITLY(deprecated)

"addAccountImplicitly"

表示操作,隐式添加帐号。

ACTION_AUTHENTICATE(deprecated)

"authenticate"

表示操作,鉴权。

ACTION_CREATE_ACCOUNT_IMPLICITLY9+

"createAccountImplicitly"

表示操作,隐式创建帐号。

ACTION_AUTH9+

"auth"

表示操作,鉴权。

ACTION_VERIFY_CREDENTIAL9+

"verifyCredential"

表示操作,验证凭据。

ACTION_SET_AUTHENTICATOR_PROPERTIES9+

"setAuthenticatorProperties"

表示操作,设置认证器属性。

KEY_NAME

"name"

表示键名,应用帐号的名称。

KEY_OWNER

"owner"

表示键名,应用帐号所有者。

KEY_TOKEN

"token"

表示键名,令牌。

KEY_ACTION

"action"

表示键名,操作。

KEY_AUTH_TYPE

"authType"

表示键名,鉴权类型。

KEY_SESSION_ID

"sessionId"

表示键名,会话标识。

KEY_CALLER_PID

"callerPid"

表示键名,调用方PID。

KEY_CALLER_UID

"callerUid"

表示键名,调用方UID。

KEY_CALLER_BUNDLE_NAME

"callerBundleName"

表示键名,调用方包名。

KEY_REQUIRED_LABELS9+

"requiredLabels"

表示键名,必需的标签。

KEY_BOOLEAN_RESULT9+

"booleanResult"

表示键名,布尔返回值。

ResultCode(deprecated)

表示返回码的枚举。

说明

从 API version 8开始支持,从API version 9开始废弃。相关信息建议查看​​错误码文档​​替代。

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

名称

说明

SUCCESS

0

表示操作成功。

ERROR_ACCOUNT_NOT_EXIST

10001

表示应用帐号不存在。

ERROR_APP_ACCOUNT_SERVICE_EXCEPTION

10002

表示应用帐号服务异常。

ERROR_INVALID_PASSWORD

10003

表示密码无效。

ERROR_INVALID_REQUEST

10004

表示请求无效。

ERROR_INVALID_RESPONSE

10005

表示响应无效。

ERROR_NETWORK_EXCEPTION

10006

表示网络异常。

ERROR_OAUTH_AUTHENTICATOR_NOT_EXIST

10007

表示认证器不存在。

ERROR_OAUTH_CANCELED

10008

表示鉴权取消。

ERROR_OAUTH_LIST_TOO_LARGE

10009

表示开放授权列表过大。

ERROR_OAUTH_SERVICE_BUSY

10010

表示开放授权服务忙碌。

ERROR_OAUTH_SERVICE_EXCEPTION

10011

表示开放授权服务异常。

ERROR_OAUTH_SESSION_NOT_EXIST

10012

表示鉴权会话不存在。

ERROR_OAUTH_TIMEOUT

10013

表示鉴权超时。

ERROR_OAUTH_TOKEN_NOT_EXIST

10014

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

ERROR_OAUTH_TOKEN_TOO_MANY

10015

表示开放授权令牌过多。

ERROR_OAUTH_UNSUPPORT_ACTION

10016

表示不支持的鉴权操作。

ERROR_OAUTH_UNSUPPORT_AUTH_TYPE

10017

表示不支持的鉴权类型。

ERROR_PERMISSION_DENIED

10018

表示权限不足。

AuthCallback9+

认证器回调类。

onResult9+

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

通知请求结果。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

code

number

鉴权结果码。

result

​AuthResult​

鉴权结果。

示例:

let appAccountManager = account_appAccount.createAppAccountManager();
var sessionId = "1234";
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));
});

onRequestRedirected9+

onRequestRedirected: (request: Want) => void

通知请求被跳转。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

request

Want

用于跳转的请求信息。

示例:

class MyAuthenticator extends account_appAccount.Authenticator {
    createAccountImplicitly(options, callback) {
        callback.onRequestRedirected({
            bundleName: "com.example.accountjsdemo",
            abilityName: "com.example.accountjsdemo.LoginAbility",
        });
    }

    auth(name, authType, options, callback) {
        var result = {
          accountInfo: {
            name: "Lisi",
            owner: "com.example.accountjsdemo",
          },
          tokenInfo: {
            token: "xxxxxx",
            authType: "getSocialData"
          }
        };
        callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
    }
}

onRequestContinued9+

onRequestContinued?: () => void

通知请求被继续处理。

系统能力: SystemCapability.Account.AppAccount

示例:

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

AuthenticatorCallback(deprecated)

OAuth认证器回调接口。

说明

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

onResult8+

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

通知请求结果。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

code

number

鉴权结果码。

result

{[key: string]: any}

鉴权结果。

示例:

let appAccountManager = account_appAccount.createAppAccountManager();
var sessionId = "1234";
appAccountManager.getAuthenticatorCallback(sessionId).then((callback) => {
    var result = {[account_appAccount.Constants.KEY_NAME]: "LiSi",
                  [account_appAccount.Constants.KEY_OWNER]: "com.example.accountjsdemo",
                  [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));
});

onRequestRedirected8+

onRequestRedirected: (request: Want) => void

通知请求被跳转。

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

request

Want

用于跳转的请求信息。

示例:

class MyAuthenticator extends account_appAccount.Authenticator {
    addAccountImplicitly(authType, callerBundleName, options, callback) {
        callback.onRequestRedirected({
            bundleName: "com.example.accountjsdemo",
            abilityName: "com.example.accountjsdemo.LoginAbility",
        });
    }

    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);
    }
}

Authenticator8+

认证器基类。

createAccountImplicitly9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

options

​CreateAccountImplicitlyOptions​

隐式创建帐号的选项。

callback

​AuthCallback​

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

addAccountImplicitly(deprecated)

addAccountImplicitly(authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void

根据指定的鉴权类型和可选项,隐式地添加应用帐号,并使用callback异步回调返回结果。

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

authType

string

应用帐号的鉴权类型。

callerBundleName

string

鉴权请求方的包名。

options

{[key: string]: any}

鉴权所需要的可选项。

callback

​AuthenticatorCallback​

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

auth9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

应用帐号的鉴权类型。

callerBundleName

string

鉴权类型。

options

{[key: string]: Object}

鉴权所需要的可选项。

callback

​AuthCallback​

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

authenticate(deprecated)

authenticate(name: string, authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void

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

说明

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

authType

string

应用帐号的鉴权类型。

callerBundleName

string

鉴权请求方的包名。

options

{[key: string]: any}

鉴权所需要的可选项。

callback

​AuthenticatorCallback​

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

verifyCredential9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

options

​VerifyCredentialOptions​

验证凭据的可选项。

callback

​AuthCallback​

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

setProperties9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

options

​SetPropertiesOptions​

设置属性的可选项。

callback

​AuthCallback​

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

checkAccountLabels9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

labels

Array<string>

标签数组。

callback

​AuthCallback​

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

isAccountRemovable9+

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

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

系统能力: SystemCapability.Account.AppAccount

参数:

参数名

类型

必填

说明

name

string

应用帐号的名称。

callback

​AuthCallback​

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

getRemoteObject9+

getRemoteObject(): rpc.RemoteObject;

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

系统能力: SystemCapability.Account.AppAccount

示例:

class MyAuthenticator extends account_appAccount.Authenticator {
  addAccountImplicitly(authType, callerBundleName, options, callback) {
    callback.onRequestRedirected({
      bundleName: "com.example.accountjsdemo",
      abilityName: "com.example.accountjsdemo.LoginAbility",
    });
  }

  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
      }
    });
  }

  setProperties(options, callback) {
    callback.onResult(account_appAccount.ResultCode.SUCCESS, {});
  }

  checkAccountLabels(name, labels, callback) {
    var result = {[account_appAccount.Constants.KEY_BOOLEAN_RESULT]: false};
    callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
  }

  isAccountRemovable(name, callback) {
    var result = {[account_appAccount.Constants.KEY_BOOLEAN_RESULT]: true};
    callback.onResult(account_appAccount.ResultCode.SUCCESS, result);
  }
}
var authenticator = null;
export default {
  onConnect(want) {
    authenticator = new MyAuthenticator();
    return authenticator.getRemoteObject();
  }
}


文章转载自:​​https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/js-apis-appaccount-0000001427745108-V3?catalogVersion=V3#ZH-CN_TOPIC_0000001427745108__getremoteobject9​

已于2023-4-10 18:22:47修改
收藏
回复
举报
回复
    相关推荐