HarmonyOS API:@ohos.account.appAccount (应用帐号管理)
版本: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 | 是 | 回调对象,返回鉴权结果。 |
示例:
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+ | 否 | 令牌所属的帐号信息。 |
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 | 否 | 令牌所属的帐号信息。 | |
tokenInfo | 否 | 令牌信息。 |
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 | 否 | 鉴权结果。 |
示例:
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 | 是 | 隐式创建帐号的选项。 | |
callback | 是 | 认证器回调对象,用于返回创建结果。 |
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 | 是 | 认证器回调,用于返回鉴权结果。 |
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 | 是 | 回调对象,用于返回鉴权结果。 |
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 | 是 | 认证器回调,用于返回鉴权结果。 |
verifyCredential9+
verifyCredential(name: string, options: VerifyCredentialOptions, callback: AuthCallback): void;
验证应用帐号的凭据,并使用callback异步回调返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
options | 是 | 验证凭据的可选项。 | |
callback | 是 | 认证器回调,用于返回验证结果。 |
setProperties9+
setProperties(options: SetPropertiesOptions, callback: AuthCallback): void;
设置认证器属性,并使用callback异步回调返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
options | 是 | 设置属性的可选项。 | |
callback | 是 | 认证器回调,用于返回设置结果。 |
checkAccountLabels9+
checkAccountLabels(name: string, labels: Array<string>, callback: AuthCallback): void;
检查帐号标签,并使用callback异步回调返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
labels | Array<string> | 是 | 标签数组。 |
callback | 是 | 认证器回调,用于返回检查结果。 |
isAccountRemovable9+
isAccountRemovable(name: string, callback: AuthCallback): void;
判断帐号是否可以删除,并使用callback异步回调返回结果。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
callback | 是 | 认证器回调,用于返回判断结果。 |
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();
}
}