應(yīng)用帳號(hào)管理
說(shuō)明: 本模塊首批接口從API version 7開(kāi)始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。 開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔 :[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
導(dǎo)入模塊
import account_appAccount from '@ohos.account.appAccount';
account_appAccount.createAppAccountManager
createAppAccountManager(): AppAccountManager
應(yīng)用帳號(hào)管理:獲取應(yīng)用帳號(hào)模塊對(duì)象。
系統(tǒng)能力: SystemCapability.Account.AppAccount
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
AppAccountManager | 獲取應(yīng)用帳號(hào)模塊的實(shí)例。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
AppAccountManager
管理應(yīng)用帳號(hào)模塊的實(shí)例。
addAccount
addAccount(name: string, callback: AsyncCallback): void
將此應(yīng)用的帳號(hào)名添加到帳號(hào)管理服務(wù)中,使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 要添加的應(yīng)用帳戶(hù)的名稱(chēng)。 |
callback | AsyncCallback | 是 | 將此應(yīng)用的帳號(hào)名添加到帳號(hào)管理服務(wù)的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.addAccount("WangWu", (err) = > {
console.log("addAccount err: " + JSON.stringify(err));
});
addAccount
addAccount(name: string, extraInfo: string, callback: AsyncCallback): void
將此應(yīng)用程序的帳號(hào)名和額外信息添加到帳號(hào)管理服務(wù)中,使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 要添加的應(yīng)用帳戶(hù)的名稱(chēng)。 |
extraInfo | string | 是 | 要添加的應(yīng)用帳戶(hù)的額外信息(例如token等),額外的信息不能是應(yīng)用帳號(hào)的敏感信息。 |
callback | AsyncCallback | 是 | 將此應(yīng)用程序的帳號(hào)名和額外信息添加到帳號(hào)管理服務(wù)中的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.addAccount("LiSi", "token101", (err) = > {
console.log("addAccount err: " + JSON.stringify(err));
});
addAccount
addAccount(name: string, extraInfo?: string): Promise
將此應(yīng)用的帳號(hào)名或額外信息添加到帳號(hào)管理服務(wù)中,使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 要添加的應(yīng)用帳戶(hù)的名稱(chēng)。 |
extraInfo | string | 是 | 要添加的應(yīng)用帳戶(hù)的額外信息,額外的信息不能是應(yīng)用帳號(hào)的敏感信息。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.addAccount("LiSi", "token101").then(()= > {
console.log('addAccount Success');
}).catch((err) = > {
console.log("addAccount err: " + JSON.stringify(err));
});
addAccountImplicitly8+
addAccountImplicitly(owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
根據(jù)指定的帳號(hào)所有者、鑒權(quán)類(lèi)型和可選項(xiàng),隱式地添加應(yīng)用帳號(hào),并使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
owner | string | 是 | 要添加的應(yīng)用帳戶(hù)的所有者包名。 |
authType | string | 是 | 要添加的應(yīng)用帳戶(hù)的鑒權(quán)類(lèi)型。 |
options | {[key: string]: any} | 是 | 鑒權(quán)所需要的可選項(xiàng)。 |
callback | AuthenticatorCallback | 是 | 認(rèn)證器回調(diào),用于返回鑒權(quán)結(jié)果。 |
示例:
import featureAbility from '@ohos.ability.featureAbility';
function onResultCallback(code, result) {
console.log("resultCode: " + code);
console.log("result: " + JSON.stringify(result));
}
function onRequestRedirectedCallback(request) {
let abilityStartSetting = {want: request};
featureAbility.startAbility(abilityStartSetting, (err)= >{
console.log("startAbility err: " + JSON.stringify(err));
});
}
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.addAccountImplicitly("LiSi", "readAge", {}, {
onResult: onResultCallback,
onRequestRedirected: onRequestRedirectedCallback
});
deleteAccount
deleteAccount(name: string, callback: AsyncCallback): void
從帳號(hào)管理服務(wù)中刪除應(yīng)用帳號(hào),使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 要?jiǎng)h除的應(yīng)用帳戶(hù)的名稱(chēng)。 |
callback | AsyncCallback | 是 | 帳號(hào)管理服務(wù)中刪除應(yīng)用帳號(hào)的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.deleteAccount("ZhaoLiu", (err) = > {
console.log("deleteAccount err: " + JSON.stringify(err));
});
deleteAccount
deleteAccount(name: string): Promise
從帳號(hào)管理服務(wù)中刪除應(yīng)用帳號(hào),使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 要?jiǎng)h除的應(yīng)用帳戶(hù)的名稱(chēng)。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.deleteAccount("ZhaoLiu").then(() = > {
console.log('deleteAccount Success');
}).catch((err) = > {
console.log("deleteAccount err: " + JSON.stringify(err));
});
disableAppAccess
disableAppAccess(name: string, bundleName: string, callback: AsyncCallback): void
禁止指定第三方應(yīng)用帳戶(hù)的名稱(chēng)訪問(wèn)指定包名稱(chēng)的第三方應(yīng)用,使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 要禁用訪問(wèn)的第三方應(yīng)用帳戶(hù)的名稱(chēng)。 |
bundleName | string | 是 | 第三方應(yīng)用的包名。 |
callback | AsyncCallback | 是 | 禁止指定第三方應(yīng)用帳戶(hù)的名稱(chēng)訪問(wèn)指定包名稱(chēng)的第三方應(yīng)用的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.disableAppAccess("ZhangSan", "com.example.ohos.accountjsdemo", (err) = > {
console.log("disableAppAccess err: " + JSON.stringify(err));
});
disableAppAccess
disableAppAccess(name: string, bundleName: string): Promise
禁止指定第三方應(yīng)用帳戶(hù)的名稱(chēng)訪問(wèn)指定包名稱(chēng)的第三方應(yīng)用,使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 要禁用訪問(wèn)的第三方應(yīng)用帳戶(hù)的名稱(chēng)。 |
bundleName | string | 是 | 第三方應(yīng)用的包名。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.disableAppAccess("ZhangSan", "com.example.ohos.accountjsdemo").then(() = > {
console.log('disableAppAccess Success');
}).catch((err) = > {
console.log("disableAppAccess err: " + JSON.stringify(err));
});
enableAppAccess
enableAppAccess(name: string, bundleName: string, callback: AsyncCallback): void
允許指定第三方應(yīng)用帳戶(hù)的名稱(chēng)訪問(wèn)指定包名稱(chēng)的第三方應(yīng)用,使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳號(hào)名稱(chēng)。 |
bundleName | string | 是 | 第三方應(yīng)用的包名。 |
callback | AsyncCallback | 是 | 允許指定第三方應(yīng)用帳戶(hù)的名稱(chēng)訪問(wèn)指定包名稱(chēng)的第三方應(yīng)用的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.enableAppAccess("ZhangSan", "com.example.ohos.accountjsdemo", (err) = > {
console.log("enableAppAccess: " + JSON.stringify(err));
});
enableAppAccess
enableAppAccess(name: string, bundleName: string): Promise
允許指定第三方應(yīng)用帳戶(hù)的名稱(chēng)訪問(wèn)指定包名稱(chēng)的第三方應(yīng)用,使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳號(hào)名稱(chēng)。 |
bundleName | string | 是 | 第三方應(yīng)用的包名。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
app_account_instance.enableAppAccess("ZhangSan", "com.example.ohos.accountjsdemo").then(() = > {
console.log('enableAppAccess Success');
}).catch((err) = > {
console.log("enableAppAccess err: " + JSON.stringify(err));
});
checkAppAccountSyncEnable
checkAppAccountSyncEnable(name: string, callback: AsyncCallback): void
檢查指定應(yīng)用帳號(hào)是否允許應(yīng)用數(shù)據(jù)同步,使用callback回調(diào)異步返回結(jié)果。
需要權(quán)限: ohos.permission.DISTRIBUTED_DATASYNC,僅系統(tǒng)應(yīng)用可用。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳號(hào)名稱(chēng)。 |
callback | AsyncCallback | 是 | 檢查指定應(yīng)用帳號(hào)是否允許應(yīng)用數(shù)據(jù)同步的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.checkAppAccountSyncEnable("ZhangSan", (err, result) = > {
console.log("checkAppAccountSyncEnable err: " + JSON.stringify(err));
console.log('checkAppAccountSyncEnable result: ' + result);
});
checkAppAccountSyncEnable
checkAppAccountSyncEnable(name: string): Promise
檢查指定應(yīng)用帳號(hào)是否允許應(yīng)用數(shù)據(jù)同步,使用Promise方式異步返回結(jié)果。
需要權(quán)限: ohos.permission.DISTRIBUTED_DATASYNC,僅系統(tǒng)應(yīng)用可用。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳號(hào)名稱(chēng)。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.checkAppAccountSyncEnable("ZhangSan").then((data) = > {
console.log('checkAppAccountSyncEnable, result: ' + data);
}).catch((err) = > {
console.log("checkAppAccountSyncEnable err: " + JSON.stringify(err));
});
setAccountCredential
setAccountCredential(name: string, credentialType: string, credential: string,callback: AsyncCallback): void
設(shè)置此應(yīng)用程序帳號(hào)的憑據(jù),使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用程序帳戶(hù)的名稱(chēng)。 |
credentialType | string | 是 | 要設(shè)置的憑據(jù)的類(lèi)型。 |
credential | string | 是 | 要設(shè)置的憑據(jù)。 |
callback | AsyncCallback | 是 | 設(shè)置此應(yīng)用帳號(hào)的憑據(jù)的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001", (err) = > {
console.log("setAccountCredential err: " + JSON.stringify(err));
});
setAccountCredential
setAccountCredential(name: string, credentialType: string, credential: string): Promise
設(shè)置此應(yīng)用程序帳號(hào)的憑據(jù),使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
credentialType | string | 是 | 要設(shè)置的憑據(jù)的類(lèi)型。 |
credential | string | 是 | 要設(shè)置的憑據(jù)。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAccountCredential("ZhangSan", "credentialType001", "credential001").then(() = > {
console.log('setAccountCredential Success');
}).catch((err) = > {
console.log("setAccountCredential err: " + JSON.stringify(err));
});
setAccountExtraInfo
setAccountExtraInfo(name: string, extraInfo: string, callback: AsyncCallback): void
設(shè)置此應(yīng)用程序帳號(hào)的額外信息,使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
extraInfo | string | 是 | 要設(shè)置的額外信息。 |
callback | AsyncCallback | 是 | 設(shè)置此應(yīng)用帳號(hào)的額外信息的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002", (err) = > {
console.log("setAccountExtraInfo err: " + JSON.stringify(err));
});
setAccountExtraInfo
setAccountExtraInfo(name: string, extraInfo: string): Promise
設(shè)置此應(yīng)用程序帳號(hào)的額外信息,使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
extraInfo | string | 是 | 要設(shè)置的額外信息。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002").then(() = > {
console.log('setAccountExtraInfo Success');
}).catch((err) = > {
console.log("setAccountExtraInfo err: " + JSON.stringify(err));
});
setAppAccountSyncEnable
setAppAccountSyncEnable(name: string, isEnable: boolean, callback: AsyncCallback): void
設(shè)置指定的應(yīng)用程序帳號(hào)是否允許應(yīng)用程序數(shù)據(jù)同步,使用callback回調(diào)異步返回結(jié)果。
需要權(quán)限: ohos.permission.DISTRIBUTED_DATASYNC,僅系統(tǒng)應(yīng)用可用。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
isEnable | boolean | 是 | 是否允許應(yīng)用數(shù)據(jù)同步。 |
callback | AsyncCallback | 是 | 設(shè)置指定的應(yīng)用帳號(hào)是否允許應(yīng)用程序數(shù)據(jù)同步的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAppAccountSyncEnable("ZhangSan", true, (err) = > {
console.log("setAppAccountSyncEnable err: " + JSON.stringify(err));
});
setAppAccountSyncEnable
setAppAccountSyncEnable(name: string, isEnable: boolean): Promise
設(shè)置指定的應(yīng)用程序帳號(hào)是否允許應(yīng)用程序數(shù)據(jù)同步,使用Promise方式異步返回結(jié)果。
需要權(quán)限: ohos.permission.DISTRIBUTED_DATASYNC,僅系統(tǒng)應(yīng)用可用。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
isEnable | boolean | 是 | 是否允許應(yīng)用數(shù)據(jù)同步。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager .setAppAccountSyncEnable("ZhangSan", true).then(() = > {
console.log('setAppAccountSyncEnable Success');
}).catch((err) = > {
console.log("setAppAccountSyncEnable err: " + JSON.stringify(err));
});
setAssociatedData
setAssociatedData(name: string, key: string, value: string, callback: AsyncCallback): void
設(shè)置與此應(yīng)用程序帳號(hào)關(guān)聯(lián)的數(shù)據(jù),使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
key | string | 是 | 要設(shè)置的數(shù)據(jù)的鍵,密鑰可以自定義。 |
value | string | 是 | 要設(shè)置的數(shù)據(jù)的值。 |
callback | AsyncCallback | 是 | 設(shè)置與此應(yīng)用帳號(hào)關(guān)聯(lián)的數(shù)據(jù)的回調(diào)。 |
示例:
app_account_instance.setAssociatedData("ZhangSan", "k001", "v001", (err) = > {
console.log("setAssociatedData err: " + JSON.stringify(err));
});
setAssociatedData
setAssociatedData(name: string, key: string, value: string): Promise
設(shè)置與此應(yīng)用程序帳號(hào)關(guān)聯(lián)的數(shù)據(jù),使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
key | string | 是 | 要設(shè)置的數(shù)據(jù)的鍵,密鑰可以自定義。 |
value | string | 是 | 要設(shè)置的數(shù)據(jù)的值。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAssociatedData("ZhangSan", "k001", "v001").then(() = > {
console.log('setAssociatedData Success');
}).catch((err) = > {
console.log("setAssociatedData err: " + JSON.stringify(err));
});
getAccountCredential
getAccountCredential(name: string, credentialType: string, callback: AsyncCallback): void
獲取此應(yīng)用帳號(hào)的憑據(jù),使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳號(hào)名稱(chēng)。 |
credentialType | string | 是 | 要獲取的憑據(jù)的類(lèi)型。 |
callback | AsyncCallback | 是 | 獲取此應(yīng)用帳號(hào)的憑據(jù)的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAccountCredential("ZhangSan", "credentialType001", (err, result) = > {
console.log("getAccountCredential err: " + JSON.stringify(err));
console.log('getAccountCredential result: ' + result);
});
getAccountCredential
getAccountCredential(name: string, credentialType: string): Promise
獲取此應(yīng)用程序帳號(hào)的憑據(jù),使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳號(hào)名稱(chēng)。 |
credentialType | string | 是 | 要獲取的憑據(jù)的類(lèi)型。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAccountCredential("ZhangSan", "credentialType001").then((data) = > {
console.log('getAccountCredential, result: ' + data);
}).catch((err) = > {
console.log("getAccountCredential err: " + JSON.stringify(err));
});
getAccountExtraInfo
getAccountExtraInfo(name: string, callback: AsyncCallback): void
獲取此應(yīng)用帳號(hào)的額外信息,使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳號(hào)名稱(chēng)。 |
callback | AsyncCallback | 是 | 獲取此應(yīng)用帳號(hào)的額外信息的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAccountExtraInfo("ZhangSan", (err, result) = > {
console.log("getAccountExtraInfo err: " + JSON.stringify(err));
console.log('getAccountExtraInfo result: ' + result);
});
getAccountExtraInfo
getAccountExtraInfo(name: string): Promise
獲取此應(yīng)用程序帳號(hào)的額外信息,使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳號(hào)名稱(chēng)。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAccountExtraInfo("ZhangSan").then((data) = > {
console.log('getAccountExtraInfo, result: ' + data);
}).catch((err) = > {
console.log("getAccountExtraInfo err: " + JSON.stringify(err));
});
getAssociatedData
getAssociatedData(name: string, key: string, callback: AsyncCallback): void
獲取與此應(yīng)用程序帳號(hào)關(guān)聯(lián)的數(shù)據(jù),使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳號(hào)名稱(chēng)。 |
key | string | 是 | 要獲取的數(shù)據(jù)的key。 |
callback | AsyncCallback | 是 | 獲取與此應(yīng)用帳號(hào)關(guān)聯(lián)的數(shù)據(jù)的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAssociatedData("ZhangSan", "k001", (err, result) = > {
console.log("getAssociatedData err: " + JSON.stringify(err));
console.log('getAssociatedData result: ' + result);
});
getAssociatedData
getAssociatedData(name: string, key: string): Promise
獲取與此應(yīng)用程序帳號(hào)關(guān)聯(lián)的數(shù)據(jù),使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳號(hào)名稱(chēng)。 |
key | string | 是 | 要獲取的數(shù)據(jù)的key。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAssociatedData("ZhangSan", "k001").then((data) = > {
console.log('getAssociatedData: ' + data);
}).catch((err) = > {
console.log("getAssociatedData err: " + JSON.stringify(err));
});
getAllAccessibleAccounts
getAllAccessibleAccounts(callback: AsyncCallback>): void
獲取全部應(yīng)用已授權(quán)帳號(hào)信息。
需要權(quán)限: ohos.permission.GET_ALL_APP_ACCOUNTS,僅系統(tǒng)應(yīng)用可用。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback> | 是 | 應(yīng)用帳號(hào)信息列表 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAllAccessibleAccounts((err, data)= >{
console.debug("getAllAccessibleAccounts err:" + JSON.stringify(err));
console.debug("getAllAccessibleAccounts data:" + JSON.stringify(data));
});
getAllAccessibleAccounts
getAllAccessibleAccounts(): Promise>
獲取全部應(yīng)用已授權(quán)帳號(hào)信息。
需要權(quán)限: ohos.permission.GET_ALL_APP_ACCOUNTS,僅系統(tǒng)應(yīng)用可用。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
類(lèi)型 | 說(shuō)明 |
---|---|
Promise> | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAllAccessibleAccounts().then((data) = > {
console.log('getAllAccessibleAccounts: ' + data);
}).catch((err) = > {
console.log("getAllAccessibleAccounts err: " + JSON.stringify(err));
});
getAllAccounts
getAllAccounts(owner: string, callback: AsyncCallback>): void
獲取指定應(yīng)用全部帳號(hào)信息。
需要權(quán)限: ohos.permission.GET_ALL_APP_ACCOUNTS,僅系統(tǒng)應(yīng)用可用。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
owner | string | 是 | 應(yīng)用包名稱(chēng) |
callback | AsyncCallback> | 是 | 應(yīng)用帳號(hào)信息列表 |
示例:
const appAccountManager = account.createAppAccountManager();
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
getAllAccounts(owner: string): Promise>
獲取指定應(yīng)用全部帳號(hào)信息。
需要權(quán)限: ohos.permission.GET_ALL_APP_ACCOUNTS,僅系統(tǒng)應(yīng)用可用。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
owner | string | 是 | 應(yīng)用包名稱(chēng) |
參數(shù):
類(lèi)型 | 說(shuō)明 |
---|---|
Promise> | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
const selfBundle = "com.example.actsgetallaaccounts";
appAccountManager.getAllAccounts(selfBundle).then((data) = > {
console.log('getAllAccounts: ' + data);
}).catch((err) = > {
console.log("getAllAccounts err: " + JSON.stringify(err));
});
on('change')
on(type: 'change', owners: Array, callback: Callback>): void
訂閱指定帳號(hào)所有者的帳戶(hù)變更事件,使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | 'change' | 是 | 關(guān)于帳戶(hù)更改事件,當(dāng)帳戶(hù)所有者更新帳戶(hù)時(shí),訂閱者將收到通知。 |
owners | Array | 是 | 指示帳戶(hù)的所有者。 |
callback | Callback> | 是 | 訂閱指定帳號(hào)所有者的帳戶(hù)變更事件的回調(diào)。 |
示例:
const appAccountManager = account.createAppAccountManager();
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')
off(type: 'change', callback?: Callback>): void
取消訂閱帳號(hào)事件,使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | 'change' | 是 | 關(guān)于帳戶(hù)更改事件。 |
callback | Callback> | 否 | 取消訂閱帳號(hào)事件的回調(diào)。 |
示例:
const appAccountManager = account.createAppAccountManager();
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));
}
authenticate8+
authenticate(name: string, owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
鑒權(quán)應(yīng)用帳戶(hù)以獲取OAuth令牌,使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 要鑒權(quán)的應(yīng)用帳戶(hù)的名稱(chēng)。 |
owner | string | 是 | 要鑒權(quán)的應(yīng)用帳戶(hù)的所有者包名。 |
authType | string | 是 | 鑒權(quán)類(lèi)型。 |
options | {[key: string]: any} | 是 | 鑒權(quán)所需的可選項(xiàng)。 |
callback | AuthenticatorCallback | 是 | 認(rèn)證器回調(diào),用于返回鑒權(quán)結(jié)果。 |
示例:
import featureAbility from '@ohos.ability.featureAbility';
function onResultCallback(code, result) {
console.log("resultCode: " + code);
console.log("result: " + JSON.stringify(result));
}
function onRequestRedirectedCallback(request) {
let abilityStartSetting = {want: request};
featureAbility.startAbility(abilityStartSetting, (err)= >{
console.log("startAbility err: " + JSON.stringify(err));
});
}
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.authenticate("LiSi", "com.example.ohos.accountjsdemo", "readAge", {}, {
onResult: onResultCallback,
onRequestRedirected: onRequestRedirectedCallback
});
getOAuthToken8+
getOAuthToken(name: string, owner: string, authType: string, callback: AsyncCallback): void
獲取指定應(yīng)用帳戶(hù)和鑒權(quán)類(lèi)型的OAuth令牌,使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
owner | string | 是 | 應(yīng)用帳戶(hù)的所有者包名。 |
authType | string | 是 | 鑒權(quán)類(lèi)型。 |
callback | AsyncCallback | 是 | 查詢(xún)結(jié)果的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getOAuthToken("LiSi", "com.example.ohos.accountjsdemo", "readAge", (err, data) = > {
console.log('getOAuthToken err: ' + JSON.stringify(err));
console.log('getOAuthToken token: ' + data);
});
getOAuthToken8+
getOAuthToken(name: string, owner: string, authType: string): Promise
獲取指定應(yīng)用帳戶(hù)和鑒權(quán)類(lèi)型的OAuth令牌,使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
owner | string | 是 | 應(yīng)用帳戶(hù)的所有者包名。 |
authType | string | 是 | 鑒權(quán)類(lèi)型。 |
參數(shù):
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getOAuthToken("LiSi", "com.example.ohos.accountjsdemo", "readAge").then((data) = > {
console.log('getOAuthToken token: ' + data);
}).catch((err) = > {
console.log("getOAuthToken err: " + JSON.stringify(err));
});
setOAuthToken8+
setOAuthToken(name: string, authType: string, token: string, callback: AsyncCallback): void
設(shè)置指定應(yīng)用帳戶(hù)和鑒權(quán)類(lèi)型的OAuth令牌,使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
authType | string | 是 | 鑒權(quán)類(lèi)型。 |
token | string | 是 | OAuth令牌。 |
callback | AsyncCallback | 是 | 設(shè)置結(jié)果的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setOAuthToken("LiSi", "readAge", "xxxx", (err) = > {
console.log('setOAuthToken err: ' + JSON.stringify(err));
});
setOAuthToken8+
setOAuthToken(name: string, authType: string, token: string): Promise
設(shè)置指定應(yīng)用帳戶(hù)和鑒權(quán)類(lèi)型的OAuth令牌,使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
authType | string | 是 | 鑒權(quán)類(lèi)型。 |
token | string | 是 | OAuth令牌。 |
參數(shù):
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setOAuthToken("LiSi", "readAge", "xxxx").then(() = > {
console.log('setOAuthToken successfully');
}).catch((err) = > {
console.log('setOAuthToken err: ' + JSON.stringify(err));
});
deleteOAuthToken8+
deleteOAuthToken(name: string, owner: string, authType: string, token: string, callback: AsyncCallback): void
刪除指定應(yīng)用帳戶(hù)和鑒權(quán)類(lèi)型的OAuth令牌,使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
owner | string | 是 | 應(yīng)用帳戶(hù)的所有者包名。 |
authType | string | 是 | 鑒權(quán)類(lèi)型。 |
token | string | 是 | 要?jiǎng)h除的OAuth令牌。 |
callback | AsyncCallback | 是 | 刪除結(jié)果的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.deleteOAuthToken("LiSi", "com.example.ohos.accountjsdemo", "readAge", "xxxxx", (err) = > {
console.log('deleteOAuthToken err: ' + JSON.stringify(err));
});
deleteOAuthToken8+
deleteOAuthToken(name: string, owner: string, authType: string, token: string): Promise
刪除指定應(yīng)用帳戶(hù)和鑒權(quán)類(lèi)型的OAuth令牌,使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
owner | string | 是 | 應(yīng)用帳戶(hù)的所有者包名。 |
authType | string | 是 | 鑒權(quán)類(lèi)型。 |
token | string | 是 | 要?jiǎng)h除的OAuth令牌。 |
參數(shù):
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.deleteOAuthToken("LiSi", "com.example.ohos.accountjsdemo", "readAge", "xxxxx").then(() = > {
console.log('deleteOAuthToken successfully');
}).catch((err) = > {
console.log("deleteOAuthToken err: " + JSON.stringify(err));
});
setOAuthTokenVisibility8+
setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean, callback: AsyncCallback): void
設(shè)置指定鑒權(quán)類(lèi)型的OAuth令牌對(duì)特定應(yīng)用的可見(jiàn)性,使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
authType | string | 是 | 鑒權(quán)類(lèi)型。 |
bundleName | string | 是 | 被設(shè)置可見(jiàn)性的應(yīng)用包名。 |
isVisible | boolean | 是 | 是否可見(jiàn)。 |
callback | AsyncCallback | 是 | 設(shè)置結(jié)果的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setOAuthTokenVisibility("LiSi", "readAge", "com.example.ohos.accountjsdemo", true, (err) = > {
console.log('setOAuthTokenVisibility err: ' + JSON.stringify(err));
});
setOAuthTokenVisibility8+
setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean): Promise
設(shè)置指定鑒權(quán)類(lèi)型的OAuth令牌對(duì)特定應(yīng)用的可見(jiàn)性,使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
authType | string | 是 | 鑒權(quán)類(lèi)型。 |
bundleName | string | 是 | 被設(shè)置可見(jiàn)性的應(yīng)用包名。 |
isVisible | boolean | 是 | 是否可見(jiàn)。 |
參數(shù):
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setOAuthTokenVisibility("LiSi", "readAge", "com.example.ohos.accountjsdemo", true).then(() = > {
console.log('setOAuthTokenVisibility successfully');
}).catch((err) = > {
console.log('setOAuthTokenVisibility err: ' + JSON.stringify(err));
});
checkOAuthTokenVisibility8+
checkOAuthTokenVisibility(name: string, authType: string, bundleName: string, callback: AsyncCallback): void
檢查指定鑒權(quán)類(lèi)型的OAuth令牌對(duì)特定應(yīng)用的可見(jiàn)性,使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
authType | string | 是 | 鑒權(quán)類(lèi)型。 |
bundleName | string | 是 | 用于檢查可見(jiàn)性的應(yīng)用包名。 |
callback | AsyncCallback | 是 | 檢查結(jié)果的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.checkOAuthTokenVisibility("LiSi", "readAge", "com.example.ohos.accountjsdemo", true, (err, data) = > {
console.log('checkOAuthTokenVisibility err: ' + JSON.stringify(err));
console.log('checkOAuthTokenVisibility isVisible: ' + data);
});
checkOAuthTokenVisibility8+
checkOAuthTokenVisibility(name: string, authType: string, bundleName: string): Promise
檢查指定鑒權(quán)類(lèi)型的OAuth令牌對(duì)特定應(yīng)用的可見(jiàn)性,使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
authType | string | 是 | 鑒權(quán)類(lèi)型。 |
bundleName | string | 是 | 用于檢查可見(jiàn)性的應(yīng)用包名。 |
參數(shù):
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.checkOAuthTokenVisibility("LiSi", "readAge", "com.example.ohos.accountjsdemo", true).then((data) = > {
console.log('checkOAuthTokenVisibility isVisible: ' + data);
}).catch((err) = > {
console.log('checkOAuthTokenVisibility err: ' + JSON.stringify(err));
});
getAllOAuthTokens8+
getAllOAuthTokens(name: string, owner: string, callback: AsyncCallback>): void
獲取指定應(yīng)用對(duì)調(diào)用方全部可見(jiàn)的OAuth令牌,使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
owner | string | 是 | 應(yīng)用帳戶(hù)的所有者包名。 |
callback | AsyncCallback> | 是 | 查詢(xún)結(jié)果的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAllOAuthTokens("LiSi", "com.example.ohos.accountjsdemo", (err, data) = > {
console.log("getAllOAuthTokens err: " + JSON.stringify(err));
console.log('getAllOAuthTokens data: ' + JSON.stringify(data));
});
getAllOAuthTokens8+
getAllOAuthTokens(name: string, owner: string): Promise>
獲取指定應(yīng)用帳戶(hù)對(duì)調(diào)用方可見(jiàn)的全部OAuth令牌,使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
owner | string | 是 | 應(yīng)用帳戶(hù)的所有者包名。 |
參數(shù):
類(lèi)型 | 說(shuō)明 |
---|---|
Promise> | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAllOAuthTokens("LiSi", "com.example.ohos.accountjsdemo").then((data) = > {
console.log('getAllOAuthTokens data: ' + JSON.stringify(data));
}).catch((err) = > {
console.log("getAllOAuthTokens err: " + JSON.stringify(err));
});
getOAuthList8+
getOAuthList(name: string, authType: string, callback: AsyncCallback>): void
獲取指定應(yīng)用帳戶(hù)和鑒權(quán)類(lèi)型的OAuth令牌的授權(quán)列表,使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
owner | string | 是 | 應(yīng)用帳戶(hù)的所有者包名。 |
callback | AsyncCallback> | 是 | 查詢(xún)結(jié)果的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getOAuthList("com.example.ohos.accountjsdemo", "readAge", (err, data) = > {
console.log('getOAuthList err: ' + JSON.stringify(err));
console.log('getOAuthList data: ' + JSON.stringify(data));
});
getOAuthList8+
getOAuthList(name: string, authType: string): Promise>
獲取指定應(yīng)用帳戶(hù)和鑒權(quán)類(lèi)型的OAuth令牌的授權(quán)列表,使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
owner | string | 是 | 應(yīng)用帳戶(hù)的所有者包名。 |
參數(shù):
類(lèi)型 | 說(shuō)明 |
---|---|
Promise> | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getOAuthList("com.example.ohos.accountjsdemo", "readAge").then((data) = > {
console.log('getOAuthList data: ' + JSON.stringify(data));
}).catch((err) = > {
console.log("getOAuthList err: " + JSON.stringify(err));
});
getAuthenticatorCallback8+
getAuthenticatorCallback(sessionId: string, callback: AsyncCallback): void
獲取鑒權(quán)會(huì)話(huà)的認(rèn)證器回調(diào),使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
sessionId | string | 是 | 鑒權(quán)會(huì)話(huà)的標(biāo)識(shí)。 |
callback | AsyncCallback | 是 | 查詢(xún)結(jié)果的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
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.ohos.accountjsdemo",
[account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",
[account_appAccount.Constants.KEY_TOKEN]: "xxxxxx"};
callback.OnResult(account_appAccount.ResultCode.SUCCESS, result);
});
});
getAuthenticatorCallback8+
getAuthenticatorCallback(sessionId: string): Promise
獲取鑒權(quán)會(huì)話(huà)的認(rèn)證器回調(diào),使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
sessionId | string | 是 | 鑒權(quán)會(huì)話(huà)的標(biāo)識(shí)。 |
參數(shù):
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
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.ohos.accountjsdemo",
[account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",
[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));
});
getAuthenticatorInfo8+
getAuthenticatorInfo(owner: string, callback: AsyncCallback): void
獲取指定應(yīng)用帳戶(hù)的認(rèn)證器信息,使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
owner | string | 是 | 應(yīng)用帳戶(hù)的所有者包名。 |
callback | AsyncCallback | 是 | 查詢(xún)結(jié)果的回調(diào)。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAuthenticatorInfo("com.example.ohos.accountjsdemo", (err, data) = > {
console.log("getAuthenticatorInfo err: " + JSON.stringify(err));
console.log('getAuthenticatorInfo data: ' + JSON.stringify(data));
});
getAuthenticatorInfo8+
getAuthenticatorInfo(owner: string): Promise
獲取指定應(yīng)用帳戶(hù)的認(rèn)證器信息,使用Promise方式異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
owner | string | 是 | 應(yīng)用帳戶(hù)的所有者包名。 |
參數(shù):
類(lèi)型 | 說(shuō)明 |
---|---|
Promise | Promise實(shí)例,用于獲取異步返回結(jié)果。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.getAuthenticatorInfo("com.example.ohos.accountjsdemo").then((data) = > {
console.log('getAuthenticatorInfo: ' + JSON.stringify(data));
}).catch((err) = > {
console.log("getAuthenticatorInfo err: " + JSON.stringify(err));
});
AppAccountInfo
表示應(yīng)用帳號(hào)信息。
系統(tǒng)能力: 以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.Account.AppAccount。
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
owner | string | 是 | 應(yīng)用帳戶(hù)的所有者包名。 |
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
OAuthTokenInfo8+
表示OAuth令牌信息。
系統(tǒng)能力: 以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.Account.AppAccount。
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
authType | string | 是 | 令牌的鑒權(quán)類(lèi)型。 |
token | string | 是 | 令牌的取值。 |
AuthenticatorInfo8+
表示OAuth認(rèn)證器信息。
系統(tǒng)能力: 以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.Account.AppAccount。
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
owner | string | 是 | 認(rèn)證器的所有者包名。 |
iconId | string | 是 | 認(rèn)證器的圖標(biāo)標(biāo)識(shí)。 |
labelId | string | 是 | 認(rèn)證器的標(biāo)簽標(biāo)識(shí)。 |
Constants8+
表示常量的枚舉。
系統(tǒng)能力: 以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.Account.AppAccount。
名稱(chēng) | 默認(rèn)值 | 描述 |
---|---|---|
ACTION_ADD_ACCOUNT_IMPLICITLY | "addAccountImplicitly" | 表示操作_隱式添加帳號(hào)。 |
ACTION_AUTHENTICATE | "authenticate" | 表示操作_鑒權(quán)。 |
KEY_NAME | "name" | 表示鍵名_應(yīng)用帳戶(hù)名稱(chēng)。 |
KEY_OWNER | "owner" | 表示鍵名_應(yīng)用帳戶(hù)所有者。 |
KEY_TOKEN | "token" | 表示鍵名_令牌。 |
KEY_ACTION | "action" | 表示鍵名_操作。 |
KEY_AUTH_TYPE | "authType" | 表示鍵名_鑒權(quán)類(lèi)型。 |
KEY_SESSION_ID | "sessionId" | 表示鍵名_會(huì)話(huà)標(biāo)識(shí)。 |
KEY_CALLER_PID | "callerPid" | 表示鍵名_調(diào)用方PID。 |
KEY_CALLER_UID | "callerUid" | 表示鍵名_調(diào)用方UID。 |
KEY_CALLER_BUNDLE_NAME | "callerBundleName" | 表示鍵名_調(diào)用方包名。 |
ResultCode8+
表示返回碼的枚舉。
系統(tǒng)能力: 以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.Account.AppAccount。
名稱(chēng) | 默認(rèn)值 | 描述 |
---|---|---|
SUCCESS | 0 | 表示操作成功。 |
ERROR_ACCOUNT_NOT_EXIST | 10001 | 表示應(yīng)用帳戶(hù)不存在。 |
ERROR_APP_ACCOUNT_SERVICE_EXCEPTION | 10002 | 表示應(yīng)用帳戶(hù)服務(wù)異常。 |
ERROR_INVALID_PASSWORD | 10003 | 表示密碼無(wú)效。 |
ERROR_INVALID_REQUEST | 10004 | 表示請(qǐng)求無(wú)效。 |
ERROR_INVALID_RESPONSE | 10005 | 表示響應(yīng)無(wú)效。 |
ERROR_NETWORK_EXCEPTION | 10006 | 表示網(wǎng)絡(luò)異常。 |
ERROR_OAUTH_AUTHENTICATOR_NOT_EXIST | 10007 | 表示認(rèn)證器不存在。 |
ERROR_OAUTH_CANCELED | 10008 | 表示鑒權(quán)取消。 |
ERROR_OAUTH_LIST_TOO_LARGE | 10009 | 表示開(kāi)放授權(quán)列表過(guò)大。 |
ERROR_OAUTH_SERVICE_BUSY | 10010 | 表示開(kāi)放授權(quán)服務(wù)忙碌。 |
ERROR_OAUTH_SERVICE_EXCEPTION | 10011 | 表示開(kāi)放授權(quán)服務(wù)異常。 |
ERROR_OAUTH_SESSION_NOT_EXIST | 10012 | 表示鑒權(quán)會(huì)話(huà)不存在。 |
ERROR_OAUTH_TIMEOUT | 10013 | 表示鑒權(quán)超時(shí)。 |
ERROR_OAUTH_TOKEN_NOT_EXIST | 10014 | 表示開(kāi)放授權(quán)令牌不存在。 |
ERROR_OAUTH_TOKEN_TOO_MANY | 10015 | 表示開(kāi)放授權(quán)令牌過(guò)多。 |
ERROR_OAUTH_UNSUPPORT_ACTION | 10016 | 表示不支持的鑒權(quán)操作。 |
ERROR_OAUTH_UNSUPPORT_AUTH_TYPE | 10017 | 表示不支持的鑒權(quán)類(lèi)型。 |
ERROR_PERMISSION_DENIED | 10018 | 表示權(quán)限不足。 |
AuthenticatorCallback8+
OAuth認(rèn)證器回調(diào)接口。
onResult8+
onResult: (code: number, result: {[key: string]: any}) => void
通知鑒權(quán)結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
code | number | 是 | 鑒權(quán)結(jié)果碼。 |
result | {[key: string]: any} | 是 | 鑒權(quán)結(jié)果。 |
示例:
const 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.ohos.accountjsdemo",
[account_appAccount.Constants.KEY_AUTH_TYPE]: "readAge",
[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
通知鑒權(quán)請(qǐng)求被跳轉(zhuǎn)。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
request | Want | 是 | 用于跳轉(zhuǎn)的請(qǐng)求信息。 |
示例:
class MyAuthenticator extends account_appAccount.Authenticator {
addAccountImplicitly(authType, callerBundleName, options, callback) {
callback.onRequestRedirected({
bundleName: "com.example.ohos.accountjsdemo",
abilityName: "com.example.ohos.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+
OAuth認(rèn)證器基類(lèi)。
addAccountImplicitly8+
addAccountImplicitly(authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
根據(jù)指定的鑒權(quán)類(lèi)型和可選項(xiàng),隱式地添加應(yīng)用帳戶(hù),并使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
authType | string | 是 | 應(yīng)用帳戶(hù)的鑒權(quán)類(lèi)型。 |
callerBundleName | string | 是 | 鑒權(quán)請(qǐng)求方的包名。 |
options | {[key: string]: any} | 是 | 鑒權(quán)所需要的可選項(xiàng)。 |
callback | AuthenticatorCallback | 是 | 認(rèn)證器回調(diào),用于返回鑒權(quán)結(jié)果。 |
authenticate8+
authenticate(name: string, authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
對(duì)應(yīng)用帳戶(hù)進(jìn)行鑒權(quán),獲取OAuth令牌,并使用callback回調(diào)異步返回結(jié)果。
系統(tǒng)能力: SystemCapability.Account.AppAccount
參數(shù):
接口名 | 類(lèi)型 | 必填 | 說(shuō)明HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
---|---|---|---|
name | string | 是 | 應(yīng)用帳戶(hù)的名稱(chēng)。 |
authType | string | 是 | 應(yīng)用帳戶(hù)的鑒權(quán)類(lèi)型。 |
callerBundleName | string | 是 | 鑒權(quán)請(qǐng)求方的包名。 |
options | {[key: string]: any} | 是 | 鑒權(quán)所需要的可選項(xiàng)。 |
callback | AuthenticatorCallback | 是 | 認(rèn)證器回調(diào),用于返回鑒權(quán)結(jié)果。 |
示例:
class MyAuthenticator extends account_appAccount.Authenticator {
addAccountImplicitly(authType, callerBundleName, options, callback) {
callback.onRequestRedirected({
bundleName: "com.example.ohos.accountjsdemo",
abilityName: "com.example.ohos.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);
}
}
export default {
onConnect(want) {
return new MyAuthenticator();
}
}
審核編輯 黃宇
-
設(shè)備管理
+關(guān)注
關(guān)注
0文章
107瀏覽量
9279 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2303瀏覽量
42691
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論