HarmonyOS API:@ohos.account.appAccount (应用帐号管理)
版本:v3.1 Beta
@ohos.account.appAccount (应用帐号管理)
getAllAuthTokens9+
getAllAuthTokens(name: string, owner: string, callback: AsyncCallback<Array<AuthTokenInfo>>): void
获取指定帐号对调用方可见的所有授权令牌。使用callback异步回调。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
owner | string | 是 | 应用帐号所有者的包名。 |
callback | AsyncCallback<Array<AuthTokenInfo>> | 是 | 回调函数。当获取成功时,err为null,data为授权令牌数组;否则为错误对象。 |
错误码:
错误码ID | 错误信息 |
12300001 | System service exception. |
12300002 | Invalid name or owner. |
12300003 | Account not found. |
示例:
try {
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);
}
});
} catch (err) {
console.log("getAllAuthTokens exception: " + JSON.stringify(err));
}
getAllAuthTokens9+
getAllAuthTokens(name: string, owner: string): Promise<Array<AuthTokenInfo>>
获取指定帐号对调用方可见的所有授权令牌。使用Promise异步回调。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
owner | string | 是 | 应用帐号所有者的包名。 |
返回值:
类型 | 说明 |
Promise<Array<AuthTokenInfo>> | Promise对象,返回授权令牌数组。 |
错误码:
错误码ID | 错误信息 |
12300001 | System service exception. |
12300002 | Invalid name or owner. |
12300003 | Account not found. |
示例:
try {
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));
});
} catch (err) {
console.log("getAllAuthTokens exception: " + JSON.stringify(err));
}
getAuthList9+
getAuthList(name: string, authType: string, callback: AsyncCallback<Array<string>>): void
获取指定应用帐号的特定鉴权类型的授权列表,即被授权的包名数组(令牌的授权列表通过setAuthTokenVisibility来设置)。使用callback异步回调。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
authType | string | 是 | 鉴权类型。 |
callback | AsyncCallback<Array<string>> | 是 | 回调函数。当获取成功时,err为null,data为被授权的包名数组;否则为错误对象。 |
错误码:
错误码ID | 错误信息 |
12300001 | System service exception. |
12300002 | Invalid name or authType. |
12300003 | Account not found. |
12300107 | AuthType not found. |
示例:
try {
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);
}
});
} catch (err) {
console.log('getAuthList exception: ' + JSON.stringify(err));
}
getAuthList9+
getAuthList(name: string, authType: string): Promise<Array<string>>
获取指定应用帐号的特定鉴权类型的授权列表,即被授权的包名数组(令牌的授权列表通过setAuthTokenVisibility来设置)。使用Promise异步回调。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
authType | string | 是 | 鉴权类型。 |
返回值:
类型 | 说明 |
Promise<Array<string>> | Promise对象,返回被授权的包名数组。 |
错误码:
错误码ID | 错误信息 |
12300001 | System service exception. |
12300002 | Invalid name or authType. |
12300003 | Account not found. |
12300107 | AuthType not found. |
示例:
try {
appAccountManager.getAuthList("com.example.accountjsdemo", "getSocialData").then((authList) => {
console.log("getAuthList successfully, authList: " + authList);
}).catch((err) => {
console.log("getAuthList failed, error: " + JSON.stringify(err));
});
} catch (err) {
console.log("getAuthList exception: " + JSON.stringify(err));
}
getAuthCallback9+
getAuthCallback(sessionId: string, callback: AsyncCallback<AuthCallback>): void
获取鉴权会话的认证器回调对象。使用callback异步回调。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
sessionId | string | 是 | 鉴权会话的标识。 |
callback | AsyncCallback<AuthCallback> | 是 | 回调函数。当获取成功时,err为null,data为鉴权会话的认证器回调对象;否则为错误对象。 |
错误码:
错误码ID | 错误信息 |
12300001 | System service exception. |
12300002 | Invalid sessionId. |
12300108 | Session not found. |
示例:
import featureAbility from '@ohos.ability.featureAbility';
featureAbility.getWant((err, want) => {
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));
}
});
getAuthCallback9+
getAuthCallback(sessionId: string): Promise<AuthCallback>
获取鉴权会话的认证器回调对象。使用Promise异步回调。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
sessionId | string | 是 | 鉴权会话的标识。 |
返回值:
类型 | 说明 |
Promise<AuthCallback> | Promise对象,返回鉴权会话的认证器回调对象。 |
错误码:
错误码ID | 错误信息 |
12300001 | System service exception. |
12300002 | Invalid sessionId. |
12300108 | Session not found. |
示例:
import featureAbility from '@ohos.ability.featureAbility';
featureAbility.getWant().then((want) => {
var sessionId = want.parameters[account_appAccount.Constants.KEY_SESSION_ID];
try {
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));
}
}).catch((err) => {
console.log("getWant err: " + JSON.stringify(err));
});
queryAuthenticatorInfo9+
queryAuthenticatorInfo(owner: string, callback: AsyncCallback<AuthenticatorInfo>): void
获取指定应用的认证器信息。使用callback异步回调。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
owner | string | 是 | 应用包名。 |
callback | AsyncCallback<AuthenticatorInfo> | 是 | 回调函数。当获取成功时,err为null,data为认证器信息对象;否则为错误对象。 |
错误码:
错误码ID | 错误信息 |
12300001 | System service exception. |
12300002 | Invalid owner. |
12300113 | Authenticator service not found. |
示例:
try {
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));
}
});
} catch (err) {
console.log("queryAuthenticatorInfo exception: " + JSON.stringify(err));
}
queryAuthenticatorInfo9+
queryAuthenticatorInfo(owner: string): Promise<AuthenticatorInfo>
获取指定应用的认证器信息。使用Promise异步回调。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
owner | string | 是 | 应用包名。 |
返回值:
类型 | 说明 |
Promise<AuthenticatorInfo> | Promise对象,返回指定应用的认证器信息对象。 |
错误码:
错误码ID | 错误信息 |
12300001 | System service exception. |
12300002 | Invalid owner. |
12300113 | Authenticator service not found. |
示例:
try {
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));
});
} catch (err) {
console.log("queryAuthenticatorInfo exception: " + JSON.stringify(err));
}
checkAccountLabels9+
checkAccountLabels(name: string, owner: string, labels: Array<string>, callback: AsyncCallback<boolean>): void;
检查指定应用帐号是否满足特定的标签集合。使用callback异步回调。该方法依赖目标应用的认证器提供标签检查的能力。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
owner | string | 是 | 应用帐号的所有者。 |
labels | Array<string> | 是 | 标签数组。 |
callback | AsyncCallback<boolean> | 是 | 回调函数。当检查成功时,err为null,data为true表示满足特定的标签集合,data为false表示不满足;否则为错误对象。 |
错误码:
错误码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. |
示例:
let labels = ["student"];
try {
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);
}
});
} catch (err) {
console.log("checkAccountLabels exception: " + JSON.stringify(err));
}
checkAccountLabels9+
checkAccountLabels(name: string, owner: string, labels: Array<string>): Promise<boolean>
检查指定应用帐号是否满足特定的标签集合。使用Promise异步回调。该方法依赖目标应用的认证器提供标签检查的能力。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
owner | string | 是 | 应用帐号的所有者。 |
labels | Array<string> | 是 | 标签数组。 |
返回值:
类型 | 说明 |
Promise<boolean> | Promise对象。返回true表示指定帐号满足特定的标签集合,返回false表示不满足。 |
错误码:
错误码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. |
示例:
let labels = ["student"];
try {
appAccountManager.checkAccountLabels("zhangsan", "com.example.accountjsdemo", labels).then((hasAllLabels) => {
console.log('checkAccountLabels successfully: ' + hasAllLabels);
}).catch((err) => {
console.log("checkAccountLabels failed, error: " + JSON.stringify(err));
});
} catch (err) {
console.log("checkAccountLabels exception: " + JSON.stringify(err));
}
deleteCredential9+
deleteCredential(name: string, credentialType: string, callback: AsyncCallback<void>): void
删除指定应用帐号的特定类型的凭据信息。使用callback异步回调。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
credentialType | string | 是 | 凭据类型。 |
callback | AsyncCallback<void> | 是 | 回调函数。当删除成功时,err为null;否则为错误对象。 |
错误码:
错误码ID | 错误信息 |
12300001 | System service exception. |
12300002 | Invalid name or credentialType. |
12300003 | Account not found. |
12300102 | Credential not found. |
示例:
try {
appAccountManager.deleteCredential("zhangsan", "PIN_SIX", (err) => {
if (err) {
console.log("deleteCredential failed, error: " + JSON.stringify(err));
} else {
console.log("deleteCredential successfully");
}
});
} catch (err) {
console.log("deleteCredential exception: " + JSON.stringify(err));
}
deleteCredential9+
deleteCredential(name: string, credentialType: string): Promise<void>
删除指定应用帐号的特定类型的凭据信息。使用Promise异步回调。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
credentialType | string | 是 | 凭据类型。 |
返回值:
类型 | 说明 |
Promise<void> | 无返回结果的Promise对象。 |
错误码:
错误码ID | 错误信息 |
12300001 | System service exception. |
12300002 | Invalid name or credentialType. |
12300003 | Account not found. |
12300102 | Credential not found. |
示例:
try {
appAccountManager.deleteCredential("zhangsan", "PIN_SIX").then(() => {
console.log("deleteCredential successfully");
}).catch((err) => {
console.log("deleteCredential failed, error: " + JSON.stringify(err));
});
} catch (err) {
console.log("deleteCredential exception: " + JSON.stringify(err));
}
selectAccountsByOptions9+
selectAccountsByOptions(options: SelectAccountsOptions, callback: AsyncCallback<Array<AppAccountInfo>>): void
根据选项选择调用方可访问的帐号列表。使用callback异步回调。如果选项中包含标签约束,则该方法依赖目标应用的认证器提供标签检查的能力。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
options | SelectAccountsOptions | 是 | 选择帐号的选项。 |
callback | AsyncCallback<Array<AppAccountInfo>> | 是 | 回调函数。当根据选项选择请求方可访问的帐号列表时,err为null,data为可访问的帐号信息对象;否则为错误对象。 |
错误码:
错误码ID | 错误信息 |
12300001 | System service exception. |
12300002 | Invalid options. |
12300010 | Account service busy. |
12300114 | Authenticator service exception. |
示例:
let options = {
allowedOwners: [ "com.example.accountjsdemo" ],
requiredLabels: [ "student" ]
};
try {
appAccountManager.selectAccountsByOptions(options, (err, accountArr) => {
if (err) {
console.log("selectAccountsByOptions failed, error: " + JSON.stringify(err));
} else {
console.log("selectAccountsByOptions successfully, accountArr: " + JSON.stringify(accountArr));
}
});
} catch (err) {
console.log("selectAccountsByOptions exception: " + JSON.stringify(err));
}
selectAccountsByOptions9+
selectAccountsByOptions(options: SelectAccountsOptions): Promise<Array<AppAccountInfo>>
根据选项选择调用方可访问的帐号列表。使用Promise异步回调。如果选项中包含标签约束,则该方法依赖目标应用的认证器提供标签检查的能力。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
options | 是 | 选择帐号的选项。 |
返回值:
类型 | 说明 |
Promise<AppAccountInfo> | Promise对象,返回调用方可访问的帐号列表。 |
错误码:
错误码ID | 错误信息 |
12300001 | System service exception. |
12300002 | Invalid options. |
12300010 | Account service busy. |
12300114 | Authenticator service exception. |
示例:
let options = {
allowedOwners: ["com.example.accountjsdemo"]
};
try {
appAccountManager.selectAccountsByOptions(options).then((accountArr) => {
console.log("selectAccountsByOptions successfully, accountArr: " + JSON.stringify(accountArr));
}).catch((err) => {
console.log("selectAccountsByOptions failed, error: " + JSON.stringify(err));
});
} catch (err) {
console.log("selectAccountsByOptions exception: " + JSON.stringify(err));
}
verifyCredential9+
verifyCredential(name: string, owner: string, callback: AuthCallback): void;
验证指定帐号的凭据。使用callback异步回调。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
owner | string | 是 | 应用帐号所有者的包名。 |
callback | 是 | 回调函数,返回验证结果。 |
错误码:
错误码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. |
示例:
try {
appAccountManager.verifyCredential("zhangsan", "com.example.accountjsdemo", {
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));
}
verifyCredential9+
verifyCredential(name: string, owner: string, options: VerifyCredentialOptions, callback: AuthCallback): void;
验证用户凭据。使用callback异步回调。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
owner | string | 是 | 应用帐号所有者的包名。 |
options | 是 | 验证凭据的选项。 | |
callback | 是 | 回调函数,返回验证结果。 |
错误码:
错误码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. |
示例:
let options = {
credentialType: "pin",
credential: "123456"
};
try {
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));
}
});
} catch (err) {
console.log("verifyCredential err: " + JSON.stringify(err));
}
setAuthenticatorProperties9+
setAuthenticatorProperties(owner: string, callback: AuthCallback): void;
设置指定应用的认证器属性。使用callback异步回调。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
owner | string | 是 | 认证器的所有者。 |
callback | 是 | 回调函数,返回设置属性的结果。 |
错误码:
错误码ID | 错误信息 |
12300001 | System service exception. |
12300002 | Invalid owner. |
12300010 | Account service busy. |
12300113 | Authenticator service not found. |
12300114 | Authenticator service exception. |
示例:
try {
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));
}
});
} catch (err) {
console.log("setAuthenticatorProperties err: " + JSON.stringify(err));
}
setAuthenticatorProperties9+
setAuthenticatorProperties(owner: string, options: SetPropertiesOptions, callback: AuthCallback): void;
设置认证器属性。使用callback异步回调。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
owner | string | 是 | 认证器的所有者。 |
options | 是 | 设置属性的选项。 | |
callback | 是 | 认证器回调,返回设置属性的结果。 |
错误码:
错误码ID | 错误信息 |
12300001 | System service exception. |
12300002 | Invalid owner or options. |
12300010 | Account service busy. |
12300113 | Authenticator service not found. |
12300114 | Authenticator service exception. |
示例:
let options = {
properties: {"prop1": "value1"}
};
try {
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));
}
});
} catch (err) {
console.log("setAuthenticatorProperties err: " + JSON.stringify(err));
}
addAccount(deprecated)
addAccount(name: string, callback: AsyncCallback<void>): void
根据帐号名添加应用帐号。使用callback异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃。建议使用createAccount替代。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
callback | AsyncCallback<void> | 是 | 回调函数。当创建成功时,err为null,否则为错误对象。 |
示例:
appAccountManager.addAccount("WangWu", (err) => {
console.log("addAccount err: " + JSON.stringify(err));
});
addAccount(deprecated)
addAccount(name: string, extraInfo: string, callback: AsyncCallback<void>): void
根据帐号名和额外信息添加应用帐号。使用callback异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃。建议使用createAccount替代。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
extraInfo | string | 是 | 额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。 |
callback | AsyncCallback<void> | 是 | 回调函数。当创建成功时,err为null,否则为错误对象。 |
示例:
appAccountManager.addAccount("LiSi", "token101", (err) => {
console.log("addAccount err: " + JSON.stringify(err));
});
addAccount(deprecated)
addAccount(name: string, extraInfo?: string): Promise<void>
根据帐号名和额外信息添加应用帐号。使用callback异步回调。使用Promise异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃。建议使用createAccount替代。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
extraInfo | string | 否 | 额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。 |
返回值:
类型 | 说明 |
Promise<void> | 无返回结果的Promise对象。 |
示例:
appAccountManager.addAccount("LiSi", "token101").then(()=> {
console.log('addAccount Success');
}).catch((err) => {
console.log("addAccount err: " + JSON.stringify(err));
});
addAccountImplicitly(deprecated)
addAccountImplicitly(owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
根据指定的帐号所有者隐式地添加应用帐号。使用callback异步回调。
说明
从 API version 8开始支持,从API version 9开始废弃。建议使用createAccountImplicitly替代。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
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.addAccountImplicitly("com.example.accountjsdemo", "getSocialData", {}, {
onResult: onResultCallback,
onRequestRedirected: onRequestRedirectedCallback
});
deleteAccount(deprecated)
deleteAccount(name: string, callback: AsyncCallback<void>): void
删除应用帐号。使用callback异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃。建议使用removeAccount替代。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
callback | AsyncCallback<void> | 是 | 回调函数。当删除成功时,err为null,否则为错误对象。 |
示例:
appAccountManager.deleteAccount("ZhaoLiu", (err) => {
console.log("deleteAccount err: " + JSON.stringify(err));
});
deleteAccount(deprecated)
deleteAccount(name: string): Promise<void>
删除应用帐号。使用Promise异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃。建议使用removeAccount替代。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
返回值:
类型 | 说明 |
Promise<void> | 无返回结果的Promise对象。 |
示例:
appAccountManager.deleteAccount("ZhaoLiu").then(() => {
console.log('deleteAccount Success');
}).catch((err) => {
console.log("deleteAccount err: " + JSON.stringify(err));
});
disableAppAccess(deprecated)
disableAppAccess(name: string, bundleName: string, callback: AsyncCallback<void>): void
禁止指定第三方应用帐号名称对指定的第三方应用进行访问。使用callback异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃。建议使用setAppAccess替代。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
bundleName | string | 是 | 第三方应用的包名。 |
callback | AsyncCallback<void> | 是 | 回调函数。当禁止指定第三方应用帐号名称对指定包名称的第三方应用进行访问设置成功时,err为null,否则为错误对象。 |
示例:
appAccountManager.disableAppAccess("ZhangSan", "com.example.accountjsdemo", (err) => {
console.log("disableAppAccess err: " + JSON.stringify(err));
});
disableAppAccess(deprecated)
disableAppAccess(name: string, bundleName: string): Promise<void>
禁止指定第三方应用帐号名称对指定包名称的第三方应用进行访问。使用Promise异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃。建议使用setAppAccess替代。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 要禁用访问的第三方应用帐号的名称。 |
bundleName | string | 是 | 第三方应用的包名。 |
返回值:
类型 | 说明 |
Promise<void> | 无返回结果的Promise对象。 |
示例:
appAccountManager.disableAppAccess("ZhangSan", "com.example.accountjsdemo").then(() => {
console.log('disableAppAccess Success');
}).catch((err) => {
console.log("disableAppAccess err: " + JSON.stringify(err));
});
enableAppAccess(deprecated)
enableAppAccess(name: string, bundleName: string, callback: AsyncCallback<void>): void
允许指定第三方应用帐号名称对指定包名称的第三方应用进行访问。使用callback异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃。建议使用setAppAccess替代。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
bundleName | string | 是 | 第三方应用的包名。 |
callback | AsyncCallback<void> | 是 | 回调函数。当允许指定第三方应用帐号名称对指定包名称的第三方应用进行访问设置成功时,err为null,否则为错误对象。 |
示例:
appAccountManager.enableAppAccess("ZhangSan", "com.example.accountjsdemo", (err) => {
console.log("enableAppAccess: " + JSON.stringify(err));
});
enableAppAccess(deprecated)
enableAppAccess(name: string, bundleName: string): Promise<void>
允许指定第三方应用帐号的名称对指定包名称的第三方应用进行访问。使用Promise异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃。建议使用setAppAccess替代。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
bundleName | string | 是 | 第三方应用的包名。 |
返回值:
类型 | 说明 |
Promise<void> | 无返回结果的Promise对象。 |
示例:
appAccountManager.enableAppAccess("ZhangSan", "com.example.accountjsdemo").then(() => {
console.log('enableAppAccess Success');
}).catch((err) => {
console.log("enableAppAccess err: " + JSON.stringify(err));
});
checkAppAccountSyncEnable(deprecated)
checkAppAccountSyncEnable(name: string, callback: AsyncCallback<boolean>): void
检查指定应用帐号是否开启数据同步功能。使用callback异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃。建议使用checkDataSyncEnabled替代。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
callback | AsyncCallback<boolean> | 是 | 回调函数。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。 |
示例:
appAccountManager.checkAppAccountSyncEnable("ZhangSan", (err, result) => {
console.log("checkAppAccountSyncEnable err: " + JSON.stringify(err));
console.log('checkAppAccountSyncEnable result: ' + result);
});
checkAppAccountSyncEnable(deprecated)
checkAppAccountSyncEnable(name: string): Promise<boolean>
检查指定应用帐号是否开启数据同步功能。使用Promise异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃。建议使用checkDataSyncEnabled替代。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
返回值:
类型 | 说明 |
Promise<boolean> | Promise对象。返回true表示指定应用帐号已开启数据同步功能;返回false表示未开启。 |
示例:
appAccountManager.checkAppAccountSyncEnable("ZhangSan").then((data) => {
console.log('checkAppAccountSyncEnable, result: ' + data);
}).catch((err) => {
console.log("checkAppAccountSyncEnable err: " + JSON.stringify(err));
});
setAccountCredential(deprecated)
setAccountCredential(name: string, credentialType: string, credential: string,callback: AsyncCallback<void>): void
设置指定应用帐号的凭据。使用callback异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃,建议使用setCredential替代。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
credentialType | string | 是 | 凭据类型。 |
credential | string | 是 | 凭据取值。 |
callback | AsyncCallback<void> | 是 | 回调函数。当设置此应用程序帐号的凭据成功时,err为null,否则为错误对象。 |
示例:
appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001", (err) => {
console.log("setAccountCredential err: " + JSON.stringify(err));
});
setAccountCredential(deprecated)
setAccountCredential(name: string, credentialType: string, credential: string): Promise<void>
设置指定应用帐号的凭据。使用Promise异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃,建议使用setCredential替代。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
credentialType | string | 是 | 凭据类型。 |
credential | string | 是 | 凭据取值。 |
返回值:
类型 | 说明 |
Promise<void> | 无返回结果的Promise对象。 |
示例:
appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001").then(() => {
console.log('setAccountCredential Success');
}).catch((err) => {
console.log("setAccountCredential err: " + JSON.stringify(err));
});
setAccountExtraInfo(deprecated)
setAccountExtraInfo(name: string, extraInfo: string, callback: AsyncCallback<void>): void
设置指定应用帐号的额外信息。使用callback异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃。建议使用setCustomData替代。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
extraInfo | string | 是 | 额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。 |
callback | AsyncCallback<void> | 是 | 回调函数。当设置成功时,err为null,否则为错误对象。 |
示例:
appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002", (err) => {
console.log("setAccountExtraInfo err: " + JSON.stringify(err));
});
setAccountExtraInfo(deprecated)
setAccountExtraInfo(name: string, extraInfo: string): Promise<void>
设置此应用程序帐号的额外信息。使用Promise异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃。建议使用setCustomData替代。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
extraInfo | string | 是 | 额外信息(能转换string类型的其它信息),额外信息不能是应用帐号的敏感信息(如应用帐号密码、token等)。 |
返回值:
类型 | 说明 |
Promise<void> | 无返回结果的Promise对象。 |
示例:
appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002").then(() => {
console.log('setAccountExtraInfo Success');
}).catch((err) => {
console.log("setAccountExtraInfo err: " + JSON.stringify(err));
});
setAppAccountSyncEnable(deprecated)
setAppAccountSyncEnable(name: string, isEnable: boolean, callback: AsyncCallback<void>): void
开启或禁止指定应用帐号的数据同步功能。使用callback异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃。建议使用setDataSyncEnabled替代。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
isEnable | boolean | 是 | 是否开启数据同步。 |
callback | AsyncCallback<void> | 是 | 回调函数。当开启或禁止成功时,err为null,否则为错误对象。 |
示例:
appAccountManager.setAppAccountSyncEnable("ZhangSan", true, (err) => {
console.log("setAppAccountSyncEnable err: " + JSON.stringify(err));
});
setAppAccountSyncEnable(deprecated)
setAppAccountSyncEnable(name: string, isEnable: boolean): Promise<void>
开启或禁止指定应用帐号的数据同步功能。使用Promise异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃。建议使用setDataSyncEnabled替代。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
isEnable | boolean | 是 | 是否开启数据同步。 |
返回值:
类型 | 说明 |
Promise<void> | 无返回结果的Promise对象。 |
示例:
appAccountManager .setAppAccountSyncEnable("ZhangSan", true).then(() => {
console.log('setAppAccountSyncEnable Success');
}).catch((err) => {
console.log("setAppAccountSyncEnable err: " + JSON.stringify(err));
});
setAssociatedData(deprecated)
setAssociatedData(name: string, key: string, value: string, callback: AsyncCallback<void>): void
设置指定应用帐号的关联数据。使用callback异步回调。
说明
从 API version 7开始支持,从API version 9开始废弃。建议使用setCustomData替代。
系统能力: SystemCapability.Account.AppAccount
参数:
参数名 | 类型 | 必填 | 说明 |
name | string | 是 | 应用帐号的名称。 |
key | string | 是 | 关联数据的键名。 |
value | string | 是 | 关联数据的取值。 |
callback | AsyncCallback<void> | 是 | 回调函数。当设置与此应用帐号关联的数据成功时,err为null,否则为错误对象。 |
示例:
appAccountManager.setAssociatedData("ZhangSan", "k001", "v001", (err) => {
console.log("setAssociatedData err: " + JSON.stringify(err));
});