Fájlletöltési API
A fájlletöltési API lehetővé teszi, hogy a felhasználók adatokat töltsenek le egy egyéni vizualizációból egy fájlba a tárolóeszközükön. A vizualizációk letöltéséhez felhasználói hozzájárulásra és rendszergazdai engedélyre van szükség a felügyeleti globális kapcsolóban. Ezt a beállítást nem érintik a szervezet exportálási és megosztási bérlői beállításaiban alkalmazott letöltési korlátozások.
Feljegyzés
A fájlletöltési API három módszerrel rendelkezik:
exportVisualsContent
az API 4.5-ös verziójából érhető elstatus
az API 4.6-os verziójában érhető el.exportVisualsContentExtended
az API 5.3-es verziójában érhető el.- Ha meg szeretné tudni, hogy melyik verziót használja, ellenőrizze a
apiVersion
pbiviz.json fájlban.
A fájlletöltési API-val exportálhat az alábbi típusú fájlokba:
- .txt
- .Csv
- .Json
- .tmplt
- .xml
- .xlsx
A letöltés megkezdése előtt megjelenik egy ablak, amely arra kéri, hogy ellenőrizze, hogy a vizualizáció megbízható forrásból származik-e.
A fájlletöltési API használata
A fájlletöltési API használatához adjon hozzá egy deklarációt a privileges tömbhöz a vizualizációs képességekben.
A fájlletöltési API három módszerrel rendelkezik:
- állapot: elérhető az API 4.6-os verziójából
exportVisualsContent
: elérhető az API 4.5-ös verziójábólexportVisualsContentExtended
: az API 5.3-es verziójából érhető el.
A két módszer közötti különbség a visszatérési érték.
A status
metódus
Az állapotmetódus a fájlletöltési API állapotát adja vissza:
- PrivilegeStatus.DisabledBy Rendszergazda: a bérlői rendszergazdai kapcsoló ki van kapcsolva
- PrivilegeStatus.NotDeclared: a vizualizáció nem rendelkezik deklarációval a helyi tárolóhoz a privileges tömbben
- PrivilegeStatus.NotSupported: az API nem támogatott. További információkért tekintse meg a korlátozásokat .
- PrivilegeStatus.Allowed: az API támogatott és engedélyezett.
A exportVisualsContent
metódus
A exportVisualsContent
metódus négy paraméterből áll:
- tartalom: sztring
- fájlnév: sztring
- fileType: sztring – .pdf vagy .xlsx fájlba való exportáláskor a
fileType
paraméternekbase64
- fileDescription: sztring
Ez a metódus egy logikai értékre feloldott ígéretet ad vissza.
A exportVisualsContentExtended
metódus
A exportVisualsContentExtended
metódusnak négy paramétere is van:
- tartalom: sztring
- fájlnév: sztring
- fileType: sztring – .pdf vagy .xlsx fájlba való exportáláskor a
fileType
paraméternekbase64
- fileDescription: sztring
Ez a metódus egy ígéretet ad vissza, amely a következő paramétereket tartalmazó típus ExportContentResultInfo
eredményével lesz feloldva:
- downloadCompleted – ha a letöltés sikeresen befejeződött.
- fájlnév – az exportált fájlnév.
Példa: fájlletöltési API
Íme egy példa arra, hogyan töltheti le egy egyéni vizualizáció tartalmát egy Excel-fájlba és egy szövegfájlba.
import IDownloadService = powerbi.extensibility.IDownloadService;
...
export class Visual implements IVisual {
...
private downloadService: IDownloadService;
...
constructor(options: VisualConstructorOptions) {
this.downloadService = options.host.downloadService;
...
const downloadBtn: HTMLElement = document.createElement("button");
downloadBtn.onclick = () => {
let contentXlsx: string = ...;//content in base64
let contentTxt: string = ...;
this.downloadService.exportVisualsContent(contentTxt, "mytxt.txt", "txt", "txt file").then((result) => {
if (result) {
//do something
}
}).catch(() => {
//handle error
});
this.downloadService.exportVisualsContent(contentXlsx, "myfile.xlsx", "base64", "xlsx file").then((result) => {
if (result) {
//do something
}
}).catch(() => {
//handle error
});
this.downloadService.exportVisualsContentExtended(contentXlsx, "myfile.xlsx", "base64", "xlsx file").then((result) => {
if (result.downloadCompleted) {
//do something
console.log(result.fileName);
}
}).catch(() => {
//handle error
});
};
// if you are using API version > 4.6.0
downloadBtn.onclick = async () => {
try {
const status: powerbi.PrivilegeStatus = await this.downloadService.exportStatus();
if (status === powerbi.PrivilegeStatus.Allowed) {
const result = await this.downloadService.exportVisualsContent('aaaaa','a.txt', 'text/plain', 'aa');
// handle result
} else {
// handle if the API is not allowed
}
} catch (err) {
//handle error
}
}
}
}
Szempontok és korlátozások
- Az API csak a Power BI szolgáltatás és a Power BI desktopban támogatott
- A letöltött fájlok méretkorlátja 30 MB.
- Ez az API egy emelt szintű API.