0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開(kāi)發(fā)設(shè)備管理:ohos.account.appAccount 應(yīng)用帳號(hào)管理

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-07-06 10:43 ? 次閱讀

應(yīng)用帳號(hào)管理

icon-note.gif說(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ù)

參數(shù)名類(lèi)型必填說(shuō)明
namestring要添加的應(yīng)用帳戶(hù)的名稱(chēng)。
callbackAsyncCallback將此應(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ō)明
namestring要添加的應(yīng)用帳戶(hù)的名稱(chēng)。
extraInfostring要添加的應(yīng)用帳戶(hù)的額外信息(例如token等),額外的信息不能是應(yīng)用帳號(hào)的敏感信息。
callbackAsyncCallback將此應(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ō)明
namestring要添加的應(yīng)用帳戶(hù)的名稱(chēng)。
extraInfostring要添加的應(yīng)用帳戶(hù)的額外信息,額外的信息不能是應(yīng)用帳號(hào)的敏感信息。

返回值:

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
ownerstring要添加的應(yīng)用帳戶(hù)的所有者包名。
authTypestring要添加的應(yīng)用帳戶(hù)的鑒權(quán)類(lèi)型。
options{[key: string]: any}鑒權(quán)所需要的可選項(xiàng)。
callbackAuthenticatorCallback認(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ō)明
namestring要?jiǎng)h除的應(yīng)用帳戶(hù)的名稱(chēng)。
callbackAsyncCallback帳號(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ō)明
namestring要?jiǎng)h除的應(yīng)用帳戶(hù)的名稱(chēng)。

返回值:

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
namestring要禁用訪問(wèn)的第三方應(yīng)用帳戶(hù)的名稱(chēng)。
bundleNamestring第三方應(yīng)用的包名。
callbackAsyncCallback禁止指定第三方應(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ō)明
namestring要禁用訪問(wèn)的第三方應(yīng)用帳戶(hù)的名稱(chēng)。
bundleNamestring第三方應(yīng)用的包名。

返回值:

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
namestring應(yīng)用帳號(hào)名稱(chēng)。
bundleNamestring第三方應(yīng)用的包名。
callbackAsyncCallback允許指定第三方應(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ō)明
namestring應(yīng)用帳號(hào)名稱(chēng)。
bundleNamestring第三方應(yīng)用的包名。

返回值:

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
namestring應(yīng)用帳號(hào)名稱(chēng)。
callbackAsyncCallback檢查指定應(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ō)明
namestring應(yīng)用帳號(hào)名稱(chēng)。

返回值:

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
namestring應(yīng)用程序帳戶(hù)的名稱(chēng)。
credentialTypestring要設(shè)置的憑據(jù)的類(lèi)型。
credentialstring要設(shè)置的憑據(jù)。
callbackAsyncCallback設(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
credentialTypestring要設(shè)置的憑據(jù)的類(lèi)型。
credentialstring要設(shè)置的憑據(jù)。

返回值:

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
extraInfostring要設(shè)置的額外信息。
callbackAsyncCallback設(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
extraInfostring要設(shè)置的額外信息。

返回值:

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
isEnableboolean是否允許應(yīng)用數(shù)據(jù)同步。
callbackAsyncCallback設(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
isEnableboolean是否允許應(yīng)用數(shù)據(jù)同步。

返回值:

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
keystring要設(shè)置的數(shù)據(jù)的鍵,密鑰可以自定義。
valuestring要設(shè)置的數(shù)據(jù)的值。
callbackAsyncCallback設(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
keystring要設(shè)置的數(shù)據(jù)的鍵,密鑰可以自定義。
valuestring要設(shè)置的數(shù)據(jù)的值。

返回值:

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
namestring應(yīng)用帳號(hào)名稱(chēng)。
credentialTypestring要獲取的憑據(jù)的類(lèi)型。
callbackAsyncCallback獲取此應(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ō)明
namestring應(yīng)用帳號(hào)名稱(chēng)。
credentialTypestring要獲取的憑據(jù)的類(lèi)型。

返回值:

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
namestring應(yīng)用帳號(hào)名稱(chēng)。
callbackAsyncCallback獲取此應(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ō)明
namestring應(yīng)用帳號(hào)名稱(chēng)。

返回值:

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
namestring應(yīng)用帳號(hào)名稱(chēng)。
keystring要獲取的數(shù)據(jù)的key。
callbackAsyncCallback獲取與此應(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ō)明
namestring應(yīng)用帳號(hào)名稱(chēng)。
keystring要獲取的數(shù)據(jù)的key。

返回值:

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
callbackAsyncCallback>應(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ō)明
ownerstring應(yīng)用包名稱(chēng)
callbackAsyncCallback>應(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ō)明
ownerstring應(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í),訂閱者將收到通知。
ownersArray指示帳戶(hù)的所有者。
callbackCallback>訂閱指定帳號(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ù)更改事件。
callbackCallback>取消訂閱帳號(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ō)明
namestring要鑒權(quán)的應(yīng)用帳戶(hù)的名稱(chēng)。
ownerstring要鑒權(quán)的應(yīng)用帳戶(hù)的所有者包名。
authTypestring鑒權(quán)類(lèi)型。
options{[key: string]: any}鑒權(quán)所需的可選項(xiàng)。
callbackAuthenticatorCallback認(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
ownerstring應(yīng)用帳戶(hù)的所有者包名。
authTypestring鑒權(quán)類(lèi)型。
callbackAsyncCallback查詢(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
ownerstring應(yīng)用帳戶(hù)的所有者包名。
authTypestring鑒權(quán)類(lèi)型。

參數(shù):

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
authTypestring鑒權(quán)類(lèi)型。
tokenstringOAuth令牌。
callbackAsyncCallback設(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
authTypestring鑒權(quán)類(lèi)型。
tokenstringOAuth令牌。

參數(shù):

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
ownerstring應(yīng)用帳戶(hù)的所有者包名。
authTypestring鑒權(quán)類(lèi)型。
tokenstring要?jiǎng)h除的OAuth令牌。
callbackAsyncCallback刪除結(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
ownerstring應(yīng)用帳戶(hù)的所有者包名。
authTypestring鑒權(quán)類(lèi)型。
tokenstring要?jiǎng)h除的OAuth令牌。

參數(shù):

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
authTypestring鑒權(quán)類(lèi)型。
bundleNamestring被設(shè)置可見(jiàn)性的應(yīng)用包名。
isVisibleboolean是否可見(jiàn)。
callbackAsyncCallback設(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
authTypestring鑒權(quán)類(lèi)型。
bundleNamestring被設(shè)置可見(jiàn)性的應(yīng)用包名。
isVisibleboolean是否可見(jiàn)。

參數(shù):

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
authTypestring鑒權(quán)類(lèi)型。
bundleNamestring用于檢查可見(jiàn)性的應(yīng)用包名。
callbackAsyncCallback檢查結(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
authTypestring鑒權(quán)類(lèi)型。
bundleNamestring用于檢查可見(jiàn)性的應(yīng)用包名。

參數(shù):

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
ownerstring應(yīng)用帳戶(hù)的所有者包名。
callbackAsyncCallback>查詢(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
ownerstring應(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
ownerstring應(yīng)用帳戶(hù)的所有者包名。
callbackAsyncCallback>查詢(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ō)明
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
ownerstring應(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ō)明
sessionIdstring鑒權(quán)會(huì)話(huà)的標(biāo)識(shí)。
callbackAsyncCallback查詢(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ō)明
sessionIdstring鑒權(quán)會(huì)話(huà)的標(biāo)識(shí)。

參數(shù):

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
ownerstring應(yīng)用帳戶(hù)的所有者包名。
callbackAsyncCallback查詢(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ō)明
ownerstring應(yīng)用帳戶(hù)的所有者包名。

參數(shù):

類(lèi)型說(shuō)明
PromisePromise實(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ō)明
ownerstring應(yīng)用帳戶(hù)的所有者包名。
namestring應(yīng)用帳戶(hù)的名稱(chēng)。

OAuthTokenInfo8+

表示OAuth令牌信息。

系統(tǒng)能力: 以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.Account.AppAccount。

參數(shù)名類(lèi)型必填說(shuō)明
authTypestring令牌的鑒權(quán)類(lèi)型。
tokenstring令牌的取值。

AuthenticatorInfo8+

表示OAuth認(rèn)證器信息。

系統(tǒng)能力: 以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.Account.AppAccount。

參數(shù)名類(lèi)型必填說(shuō)明
ownerstring認(rèn)證器的所有者包名。
iconIdstring認(rèn)證器的圖標(biāo)標(biāo)識(shí)。
labelIdstring認(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)值描述
SUCCESS0表示操作成功。
ERROR_ACCOUNT_NOT_EXIST10001表示應(yīng)用帳戶(hù)不存在。
ERROR_APP_ACCOUNT_SERVICE_EXCEPTION10002表示應(yīng)用帳戶(hù)服務(wù)異常。
ERROR_INVALID_PASSWORD10003表示密碼無(wú)效。
ERROR_INVALID_REQUEST10004表示請(qǐng)求無(wú)效。
ERROR_INVALID_RESPONSE10005表示響應(yīng)無(wú)效。
ERROR_NETWORK_EXCEPTION10006表示網(wǎng)絡(luò)異常。
ERROR_OAUTH_AUTHENTICATOR_NOT_EXIST10007表示認(rèn)證器不存在。
ERROR_OAUTH_CANCELED10008表示鑒權(quán)取消。
ERROR_OAUTH_LIST_TOO_LARGE10009表示開(kāi)放授權(quán)列表過(guò)大。
ERROR_OAUTH_SERVICE_BUSY10010表示開(kāi)放授權(quán)服務(wù)忙碌。
ERROR_OAUTH_SERVICE_EXCEPTION10011表示開(kāi)放授權(quán)服務(wù)異常。
ERROR_OAUTH_SESSION_NOT_EXIST10012表示鑒權(quán)會(huì)話(huà)不存在。
ERROR_OAUTH_TIMEOUT10013表示鑒權(quán)超時(shí)。
ERROR_OAUTH_TOKEN_NOT_EXIST10014表示開(kāi)放授權(quán)令牌不存在。
ERROR_OAUTH_TOKEN_TOO_MANY10015表示開(kāi)放授權(quán)令牌過(guò)多。
ERROR_OAUTH_UNSUPPORT_ACTION10016表示不支持的鑒權(quán)操作。
ERROR_OAUTH_UNSUPPORT_AUTH_TYPE10017表示不支持的鑒權(quán)類(lèi)型。
ERROR_PERMISSION_DENIED10018表示權(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ō)明
codenumber鑒權(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ō)明
requestWant用于跳轉(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ō)明
authTypestring應(yīng)用帳戶(hù)的鑒權(quán)類(lèi)型。
callerBundleNamestring鑒權(quán)請(qǐng)求方的包名。
options{[key: string]: any}鑒權(quán)所需要的可選項(xiàng)。
callbackAuthenticatorCallback認(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ù):

QQ截圖20240705210937.png

接口名類(lèi)型必填說(shuō)明HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
namestring應(yīng)用帳戶(hù)的名稱(chēng)。
authTypestring應(yīng)用帳戶(hù)的鑒權(quán)類(lèi)型。
callerBundleNamestring鑒權(quán)請(qǐng)求方的包名。
options{[key: string]: any}鑒權(quán)所需要的可選項(xiàng)。
callbackAuthenticatorCallback認(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();
    }
}

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 設(shè)備管理
    +關(guān)注

    關(guān)注

    0

    文章

    107

    瀏覽量

    9279
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2303

    瀏覽量

    42691
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    紡織企業(yè)MES系統(tǒng)下的設(shè)備管理

    設(shè)備管理信息化的發(fā)展,在企業(yè)加強(qiáng)設(shè)備管理、實(shí)現(xiàn)資源的優(yōu)化配置、增加企業(yè)經(jīng)濟(jì)效益等方面發(fā)揮了作用。研究和開(kāi)發(fā) MES系統(tǒng)軟件 下的設(shè)備管理
    發(fā)表于 12-14 19:46

    設(shè)備管理系統(tǒng)軟件有哪些

    設(shè)備管理系統(tǒng)軟件有哪些,下面是 設(shè)備管理軟件功能摘要的NLP顏色標(biāo)記版,歡迎對(duì)比查看素版設(shè)備管理軟件功能摘要,有想法反映留言,謝謝~~預(yù)測(cè)\color{#D2691E}預(yù)測(cè)預(yù)測(cè)性\color
    發(fā)表于 07-12 07:01

    設(shè)備管理應(yīng)用程序

    設(shè)備管理應(yīng)用程序,預(yù)測(cè)性的設(shè)備管理軟件 企業(yè)要求對(duì)他們的設(shè)施在成本效益和環(huán)境影響等方面進(jìn)行更嚴(yán)格的管理。集成所有設(shè)備,環(huán)保設(shè)施,使用跟蹤,能耗監(jiān)測(cè)的信息,并將信息以形象的方式有效的
    發(fā)表于 07-12 07:47

    基于.Net框架的設(shè)備管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    設(shè)備管理系統(tǒng)是企業(yè)運(yùn)營(yíng)過(guò)程中必不可少的組成部分。本文以中國(guó)教育經(jīng)濟(jì)信息網(wǎng)管理中心設(shè)備管理系統(tǒng)為例,討論了設(shè)備管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),并詳細(xì)討論了基于.Net框架的三
    發(fā)表于 08-28 09:02 ?28次下載

    設(shè)備管理云平臺(tái)是什么?有什么功能?

    設(shè)備管理云平臺(tái):現(xiàn)代化企業(yè)的重要解決方案 隨著科技的迅速發(fā)展和企業(yè)規(guī)模的擴(kuò)大,設(shè)備數(shù)量和種類(lèi)也隨之增加,設(shè)備管理變得愈加復(fù)雜。傳統(tǒng)的管理方法已經(jīng)無(wú)法滿(mǎn)足企業(yè)的需求,而
    的頭像 發(fā)表于 09-20 16:39 ?1415次閱讀

    基于RFID油井設(shè)備管理手持機(jī)的開(kāi)發(fā)研究

    電子發(fā)燒友網(wǎng)站提供《基于RFID油井設(shè)備管理手持機(jī)的開(kāi)發(fā)研究.pdf》資料免費(fèi)下載
    發(fā)表于 10-23 09:35 ?0次下載
    基于RFID油井<b class='flag-5'>設(shè)備管理</b>手持機(jī)的<b class='flag-5'>開(kāi)發(fā)</b>研究

    HarmonyOS開(kāi)發(fā)實(shí)例:【app帳號(hào)管理

    本示例選擇應(yīng)用進(jìn)行注冊(cè)/登錄,并設(shè)置帳號(hào)相關(guān)信息,簡(jiǎn)要說(shuō)明應(yīng)用帳號(hào)管理相關(guān)功能。
    的頭像 發(fā)表于 04-14 09:46 ?374次閱讀
    HarmonyOS<b class='flag-5'>開(kāi)發(fā)</b>實(shí)例:【app<b class='flag-5'>帳號(hào)</b><b class='flag-5'>管理</b>】

    鴻蒙開(kāi)發(fā)接口定制管理:【@ohos.enterpriseDeviceManager (企業(yè)設(shè)備管理)】

    以異步方法根據(jù)給定的包名和類(lèi)名激活設(shè)備管理員應(yīng)用,使用Callback形式返回是否激活成功。
    的頭像 發(fā)表于 06-05 09:24 ?488次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b>接口定制<b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.enterpriseDeviceManager (企業(yè)<b class='flag-5'>設(shè)備管理</b>)】

    鴻蒙開(kāi)發(fā)設(shè)備管理ohos.multimodalInput.inputDevice 輸入設(shè)備

    輸入設(shè)備管理模塊,用于監(jiān)聽(tīng)輸入設(shè)備連接、斷開(kāi)和變化,并查看輸入設(shè)備相關(guān)信息。比如監(jiān)聽(tīng)鼠標(biāo)插拔,并獲取鼠標(biāo)的id、name和指針移動(dòng)速度等信息。
    的頭像 發(fā)表于 07-01 09:19 ?328次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>設(shè)備管理</b>:<b class='flag-5'>ohos</b>.multimodalInput.inputDevice 輸入<b class='flag-5'>設(shè)備</b>

    鴻蒙開(kāi)發(fā)設(shè)備管理ohos.thermal 熱管理

    該模塊提供熱管理相關(guān)的接口,包括熱檔位查詢(xún)及注冊(cè)回調(diào)等功能。
    的頭像 發(fā)表于 07-05 09:53 ?278次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>設(shè)備管理</b>:<b class='flag-5'>ohos</b>.thermal 熱<b class='flag-5'>管理</b>

    鴻蒙開(kāi)發(fā)設(shè)備管理ohos.usb USB管理

    本模塊主要提供管理USB設(shè)備的相關(guān)功能,包括查詢(xún)USB設(shè)備列表、批量數(shù)據(jù)傳輸、控制命令傳輸、權(quán)限控制等。
    的頭像 發(fā)表于 07-05 17:34 ?576次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>設(shè)備管理</b>:<b class='flag-5'>ohos</b>.usb USB<b class='flag-5'>管理</b>

    鴻蒙開(kāi)發(fā)管理ohos.account.distributedAccount 分布式帳號(hào)管理

    獲取分布式帳號(hào)單實(shí)例對(duì)象。
    的頭像 發(fā)表于 07-08 10:03 ?211次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>管理</b>:<b class='flag-5'>ohos.account</b>.distributedAccount 分布式<b class='flag-5'>帳號(hào)</b><b class='flag-5'>管理</b>

    鴻蒙開(kāi)發(fā)管理ohos.account.osAccount 系統(tǒng)帳號(hào)管理

    本模塊提供管理系統(tǒng)帳號(hào)的一些基礎(chǔ)能力,包括系統(tǒng)帳號(hào)的添加、刪除、查詢(xún)、設(shè)置、訂閱、啟動(dòng)等功能,提供系統(tǒng)帳號(hào)數(shù)據(jù)落盤(pán)的能力。
    的頭像 發(fā)表于 07-08 09:54 ?288次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>管理</b>:<b class='flag-5'>ohos.account</b>.osAccount 系統(tǒng)<b class='flag-5'>帳號(hào)</b><b class='flag-5'>管理</b>

    設(shè)備管理系統(tǒng):是什么、誰(shuí)需要、推薦設(shè)備管理系統(tǒng)

    設(shè)備管理系統(tǒng)(EMS)在企業(yè)管理中愈發(fā)重要。中設(shè)智控設(shè)備管理系統(tǒng)以全生命周期管理為主,涵蓋預(yù)算、采購(gòu)、維護(hù)等功能,支持移動(dòng)端應(yīng)用,降低備件儲(chǔ)備,提高
    的頭像 發(fā)表于 08-01 11:23 ?470次閱讀
    <b class='flag-5'>設(shè)備管理</b>系統(tǒng):是什么、誰(shuí)需要、推薦<b class='flag-5'>設(shè)備管理</b>系統(tǒng)

    設(shè)備管理流程優(yōu)化的優(yōu)勢(shì)

    設(shè)備管理對(duì)企業(yè)生產(chǎn)效率、產(chǎn)品質(zhì)量、成本控制和安全生產(chǎn)起著關(guān)鍵作用。但設(shè)備管理面臨挑戰(zhàn),如種類(lèi)繁多、數(shù)量龐大、位置分散等。因此,企業(yè)應(yīng)采用科學(xué)的設(shè)備管理方法,建立設(shè)備管理系統(tǒng),跟蹤
    的頭像 發(fā)表于 09-05 10:34 ?249次閱讀
    <b class='flag-5'>設(shè)備管理</b>流程優(yōu)化的優(yōu)勢(shì)