應用帳號管理
說明: 本模塊首批接口從API version 7開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。 開發前請熟悉鴻蒙開發指導文檔 :[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
導入模塊
import account_appAccount from '@ohos.account.appAccount';
account_appAccount.createAppAccountManager
createAppAccountManager(): AppAccountManager
應用帳號管理:獲取應用帳號模塊對象。
系統能力: SystemCapability.Account.AppAccount
返回值:
類型 | 說明 |
---|---|
AppAccountManager | 獲取應用帳號模塊的實例。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
AppAccountManager
管理應用帳號模塊的實例。
addAccount
addAccount(name: string, callback: AsyncCallback): void
將此應用的帳號名添加到帳號管理服務中,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 要添加的應用帳戶的名稱。 |
callback | AsyncCallback | 是 | 將此應用的帳號名添加到帳號管理服務的回調。 |
示例:
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
將此應用程序的帳號名和額外信息添加到帳號管理服務中,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 要添加的應用帳戶的名稱。 |
extraInfo | string | 是 | 要添加的應用帳戶的額外信息(例如token等),額外的信息不能是應用帳號的敏感信息。 |
callback | AsyncCallback | 是 | 將此應用程序的帳號名和額外信息添加到帳號管理服務中的回調。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.addAccount("LiSi", "token101", (err) = > {
console.log("addAccount err: " + JSON.stringify(err));
});
addAccount
addAccount(name: string, extraInfo?: string): Promise
將此應用的帳號名或額外信息添加到帳號管理服務中,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 要添加的應用帳戶的名稱。 |
extraInfo | string | 是 | 要添加的應用帳戶的額外信息,額外的信息不能是應用帳號的敏感信息。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
根據指定的帳號所有者、鑒權類型和可選項,隱式地添加應用帳號,并使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
owner | string | 是 | 要添加的應用帳戶的所有者包名。 |
authType | string | 是 | 要添加的應用帳戶的鑒權類型。 |
options | {[key: string]: any} | 是 | 鑒權所需要的可選項。 |
callback | AuthenticatorCallback | 是 | 認證器回調,用于返回鑒權結果。 |
示例:
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
從帳號管理服務中刪除應用帳號,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 要刪除的應用帳戶的名稱。 |
callback | AsyncCallback | 是 | 帳號管理服務中刪除應用帳號的回調。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.deleteAccount("ZhaoLiu", (err) = > {
console.log("deleteAccount err: " + JSON.stringify(err));
});
deleteAccount
deleteAccount(name: string): Promise
從帳號管理服務中刪除應用帳號,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 要刪除的應用帳戶的名稱。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
禁止指定第三方應用帳戶的名稱訪問指定包名稱的第三方應用,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 要禁用訪問的第三方應用帳戶的名稱。 |
bundleName | string | 是 | 第三方應用的包名。 |
callback | AsyncCallback | 是 | 禁止指定第三方應用帳戶的名稱訪問指定包名稱的第三方應用的回調。 |
示例:
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
禁止指定第三方應用帳戶的名稱訪問指定包名稱的第三方應用,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 要禁用訪問的第三方應用帳戶的名稱。 |
bundleName | string | 是 | 第三方應用的包名。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
允許指定第三方應用帳戶的名稱訪問指定包名稱的第三方應用,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳號名稱。 |
bundleName | string | 是 | 第三方應用的包名。 |
callback | AsyncCallback | 是 | 允許指定第三方應用帳戶的名稱訪問指定包名稱的第三方應用的回調。 |
示例:
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
允許指定第三方應用帳戶的名稱訪問指定包名稱的第三方應用,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳號名稱。 |
bundleName | string | 是 | 第三方應用的包名。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
檢查指定應用帳號是否允許應用數據同步,使用callback回調異步返回結果。
需要權限: ohos.permission.DISTRIBUTED_DATASYNC,僅系統應用可用。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳號名稱。 |
callback | AsyncCallback | 是 | 檢查指定應用帳號是否允許應用數據同步的回調。 |
示例:
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
檢查指定應用帳號是否允許應用數據同步,使用Promise方式異步返回結果。
需要權限: ohos.permission.DISTRIBUTED_DATASYNC,僅系統應用可用。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳號名稱。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
設置此應用程序帳號的憑據,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用程序帳戶的名稱。 |
credentialType | string | 是 | 要設置的憑據的類型。 |
credential | string | 是 | 要設置的憑據。 |
callback | AsyncCallback | 是 | 設置此應用帳號的憑據的回調。 |
示例:
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
設置此應用程序帳號的憑據,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
credentialType | string | 是 | 要設置的憑據的類型。 |
credential | string | 是 | 要設置的憑據。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
設置此應用程序帳號的額外信息,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
extraInfo | string | 是 | 要設置的額外信息。 |
callback | AsyncCallback | 是 | 設置此應用帳號的額外信息的回調。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAccountExtraInfo("ZhangSan", "Tk002", (err) = > {
console.log("setAccountExtraInfo err: " + JSON.stringify(err));
});
setAccountExtraInfo
setAccountExtraInfo(name: string, extraInfo: string): Promise
設置此應用程序帳號的額外信息,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
extraInfo | string | 是 | 要設置的額外信息。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
設置指定的應用程序帳號是否允許應用程序數據同步,使用callback回調異步返回結果。
需要權限: ohos.permission.DISTRIBUTED_DATASYNC,僅系統應用可用。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
isEnable | boolean | 是 | 是否允許應用數據同步。 |
callback | AsyncCallback | 是 | 設置指定的應用帳號是否允許應用程序數據同步的回調。 |
示例:
const appAccountManager = account_appAccount.createAppAccountManager();
appAccountManager.setAppAccountSyncEnable("ZhangSan", true, (err) = > {
console.log("setAppAccountSyncEnable err: " + JSON.stringify(err));
});
setAppAccountSyncEnable
setAppAccountSyncEnable(name: string, isEnable: boolean): Promise
設置指定的應用程序帳號是否允許應用程序數據同步,使用Promise方式異步返回結果。
需要權限: ohos.permission.DISTRIBUTED_DATASYNC,僅系統應用可用。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
isEnable | boolean | 是 | 是否允許應用數據同步。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
設置與此應用程序帳號關聯的數據,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
key | string | 是 | 要設置的數據的鍵,密鑰可以自定義。 |
value | string | 是 | 要設置的數據的值。 |
callback | AsyncCallback | 是 | 設置與此應用帳號關聯的數據的回調。 |
示例:
app_account_instance.setAssociatedData("ZhangSan", "k001", "v001", (err) = > {
console.log("setAssociatedData err: " + JSON.stringify(err));
});
setAssociatedData
setAssociatedData(name: string, key: string, value: string): Promise
設置與此應用程序帳號關聯的數據,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
key | string | 是 | 要設置的數據的鍵,密鑰可以自定義。 |
value | string | 是 | 要設置的數據的值。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
獲取此應用帳號的憑據,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳號名稱。 |
credentialType | string | 是 | 要獲取的憑據的類型。 |
callback | AsyncCallback | 是 | 獲取此應用帳號的憑據的回調。 |
示例:
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
獲取此應用程序帳號的憑據,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳號名稱。 |
credentialType | string | 是 | 要獲取的憑據的類型。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
獲取此應用帳號的額外信息,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳號名稱。 |
callback | AsyncCallback | 是 | 獲取此應用帳號的額外信息的回調。 |
示例:
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
獲取此應用程序帳號的額外信息,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳號名稱。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
獲取與此應用程序帳號關聯的數據,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳號名稱。 |
key | string | 是 | 要獲取的數據的key。 |
callback | AsyncCallback | 是 | 獲取與此應用帳號關聯的數據的回調。 |
示例:
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
獲取與此應用程序帳號關聯的數據,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳號名稱。 |
key | string | 是 | 要獲取的數據的key。 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
獲取全部應用已授權帳號信息。
需要權限: ohos.permission.GET_ALL_APP_ACCOUNTS,僅系統應用可用。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback> | 是 | 應用帳號信息列表 |
示例:
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>
獲取全部應用已授權帳號信息。
需要權限: ohos.permission.GET_ALL_APP_ACCOUNTS,僅系統應用可用。
系統能力: SystemCapability.Account.AppAccount
參數:
類型 | 說明 |
---|---|
Promise> | Promise實例,用于獲取異步返回結果。 |
示例:
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
獲取指定應用全部帳號信息。
需要權限: ohos.permission.GET_ALL_APP_ACCOUNTS,僅系統應用可用。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
owner | string | 是 | 應用包名稱 |
callback | AsyncCallback> | 是 | 應用帳號信息列表 |
示例:
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>
獲取指定應用全部帳號信息。
需要權限: ohos.permission.GET_ALL_APP_ACCOUNTS,僅系統應用可用。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
owner | string | 是 | 應用包名稱 |
參數:
類型 | 說明 |
---|---|
Promise> | Promise實例,用于獲取異步返回結果。 |
示例:
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
訂閱指定帳號所有者的帳戶變更事件,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | 'change' | 是 | 關于帳戶更改事件,當帳戶所有者更新帳戶時,訂閱者將收到通知。 |
owners | Array | 是 | 指示帳戶的所有者。 |
callback | Callback> | 是 | 訂閱指定帳號所有者的帳戶變更事件的回調。 |
示例:
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
取消訂閱帳號事件,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | 'change' | 是 | 關于帳戶更改事件。 |
callback | Callback> | 否 | 取消訂閱帳號事件的回調。 |
示例:
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
鑒權應用帳戶以獲取OAuth令牌,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 要鑒權的應用帳戶的名稱。 |
owner | string | 是 | 要鑒權的應用帳戶的所有者包名。 |
authType | string | 是 | 鑒權類型。 |
options | {[key: string]: any} | 是 | 鑒權所需的可選項。 |
callback | AuthenticatorCallback | 是 | 認證器回調,用于返回鑒權結果。 |
示例:
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
獲取指定應用帳戶和鑒權類型的OAuth令牌,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
owner | string | 是 | 應用帳戶的所有者包名。 |
authType | string | 是 | 鑒權類型。 |
callback | AsyncCallback | 是 | 查詢結果的回調。 |
示例:
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
獲取指定應用帳戶和鑒權類型的OAuth令牌,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
owner | string | 是 | 應用帳戶的所有者包名。 |
authType | string | 是 | 鑒權類型。 |
參數:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
設置指定應用帳戶和鑒權類型的OAuth令牌,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
authType | string | 是 | 鑒權類型。 |
token | string | 是 | OAuth令牌。 |
callback | AsyncCallback | 是 | 設置結果的回調。 |
示例:
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
設置指定應用帳戶和鑒權類型的OAuth令牌,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
authType | string | 是 | 鑒權類型。 |
token | string | 是 | OAuth令牌。 |
參數:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
刪除指定應用帳戶和鑒權類型的OAuth令牌,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
owner | string | 是 | 應用帳戶的所有者包名。 |
authType | string | 是 | 鑒權類型。 |
token | string | 是 | 要刪除的OAuth令牌。 |
callback | AsyncCallback | 是 | 刪除結果的回調。 |
示例:
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
刪除指定應用帳戶和鑒權類型的OAuth令牌,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
owner | string | 是 | 應用帳戶的所有者包名。 |
authType | string | 是 | 鑒權類型。 |
token | string | 是 | 要刪除的OAuth令牌。 |
參數:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
設置指定鑒權類型的OAuth令牌對特定應用的可見性,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
authType | string | 是 | 鑒權類型。 |
bundleName | string | 是 | 被設置可見性的應用包名。 |
isVisible | boolean | 是 | 是否可見。 |
callback | AsyncCallback | 是 | 設置結果的回調。 |
示例:
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
設置指定鑒權類型的OAuth令牌對特定應用的可見性,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
authType | string | 是 | 鑒權類型。 |
bundleName | string | 是 | 被設置可見性的應用包名。 |
isVisible | boolean | 是 | 是否可見。 |
參數:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
檢查指定鑒權類型的OAuth令牌對特定應用的可見性,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
authType | string | 是 | 鑒權類型。 |
bundleName | string | 是 | 用于檢查可見性的應用包名。 |
callback | AsyncCallback | 是 | 檢查結果的回調。 |
示例:
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
檢查指定鑒權類型的OAuth令牌對特定應用的可見性,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
authType | string | 是 | 鑒權類型。 |
bundleName | string | 是 | 用于檢查可見性的應用包名。 |
參數:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
獲取指定應用對調用方全部可見的OAuth令牌,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
owner | string | 是 | 應用帳戶的所有者包名。 |
callback | AsyncCallback> | 是 | 查詢結果的回調。 |
示例:
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>
獲取指定應用帳戶對調用方可見的全部OAuth令牌,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
owner | string | 是 | 應用帳戶的所有者包名。 |
參數:
類型 | 說明 |
---|---|
Promise> | Promise實例,用于獲取異步返回結果。 |
示例:
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
獲取指定應用帳戶和鑒權類型的OAuth令牌的授權列表,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
owner | string | 是 | 應用帳戶的所有者包名。 |
callback | AsyncCallback> | 是 | 查詢結果的回調。 |
示例:
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>
獲取指定應用帳戶和鑒權類型的OAuth令牌的授權列表,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
owner | string | 是 | 應用帳戶的所有者包名。 |
參數:
類型 | 說明 |
---|---|
Promise> | Promise實例,用于獲取異步返回結果。 |
示例:
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
獲取鑒權會話的認證器回調,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
sessionId | string | 是 | 鑒權會話的標識。 |
callback | AsyncCallback | 是 | 查詢結果的回調。 |
示例:
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
獲取鑒權會話的認證器回調,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
sessionId | string | 是 | 鑒權會話的標識。 |
參數:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
獲取指定應用帳戶的認證器信息,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
owner | string | 是 | 應用帳戶的所有者包名。 |
callback | AsyncCallback | 是 | 查詢結果的回調。 |
示例:
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
獲取指定應用帳戶的認證器信息,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
owner | string | 是 | 應用帳戶的所有者包名。 |
參數:
類型 | 說明 |
---|---|
Promise | Promise實例,用于獲取異步返回結果。 |
示例:
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
表示應用帳號信息。
系統能力: 以下各項對應的系統能力均為SystemCapability.Account.AppAccount。
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
owner | string | 是 | 應用帳戶的所有者包名。 |
name | string | 是 | 應用帳戶的名稱。 |
OAuthTokenInfo8+
表示OAuth令牌信息。
系統能力: 以下各項對應的系統能力均為SystemCapability.Account.AppAccount。
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
authType | string | 是 | 令牌的鑒權類型。 |
token | string | 是 | 令牌的取值。 |
AuthenticatorInfo8+
表示OAuth認證器信息。
系統能力: 以下各項對應的系統能力均為SystemCapability.Account.AppAccount。
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
owner | string | 是 | 認證器的所有者包名。 |
iconId | string | 是 | 認證器的圖標標識。 |
labelId | string | 是 | 認證器的標簽標識。 |
Constants8+
表示常量的枚舉。
系統能力: 以下各項對應的系統能力均為SystemCapability.Account.AppAccount。
名稱 | 默認值 | 描述 |
---|---|---|
ACTION_ADD_ACCOUNT_IMPLICITLY | "addAccountImplicitly" | 表示操作_隱式添加帳號。 |
ACTION_AUTHENTICATE | "authenticate" | 表示操作_鑒權。 |
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" | 表示鍵名_調用方包名。 |
ResultCode8+
表示返回碼的枚舉。
系統能力: 以下各項對應的系統能力均為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 | 表示權限不足。 |
AuthenticatorCallback8+
OAuth認證器回調接口。
onResult8+
onResult: (code: number, result: {[key: string]: any}) => void
通知鑒權結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
code | number | 是 | 鑒權結果碼。 |
result | {[key: string]: any} | 是 | 鑒權結果。 |
示例:
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
通知鑒權請求被跳轉。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
request | Want | 是 | 用于跳轉的請求信息。 |
示例:
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認證器基類。
addAccountImplicitly8+
addAccountImplicitly(authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
根據指定的鑒權類型和可選項,隱式地添加應用帳戶,并使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
authType | string | 是 | 應用帳戶的鑒權類型。 |
callerBundleName | string | 是 | 鑒權請求方的包名。 |
options | {[key: string]: any} | 是 | 鑒權所需要的可選項。 |
callback | AuthenticatorCallback | 是 | 認證器回調,用于返回鑒權結果。 |
authenticate8+
authenticate(name: string, authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void
對應用帳戶進行鑒權,獲取OAuth令牌,并使用callback回調異步返回結果。
系統能力: SystemCapability.Account.AppAccount
參數:
接口名 | 類型 | 必填 | 說明HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
---|---|---|---|
name | string | 是 | 應用帳戶的名稱。 |
authType | string | 是 | 應用帳戶的鑒權類型。 |
callerBundleName | string | 是 | 鑒權請求方的包名。 |
options | {[key: string]: any} | 是 | 鑒權所需要的可選項。 |
callback | AuthenticatorCallback | 是 | 認證器回調,用于返回鑒權結果。 |
示例:
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();
}
}
審核編輯 黃宇
-
設備管理
+關注
關注
0文章
109瀏覽量
9290 -
鴻蒙
+關注
關注
57文章
2310瀏覽量
42743
發布評論請先 登錄
相關推薦
評論