Rozhraní API pro stahování souborů
Rozhraní API pro stahování souborů umožňuje uživatelům stahovat data z vlastního vizuálu do souboru na svém úložném zařízení. Stažení vizuálu vyžaduje souhlas uživatele a oprávnění správce poskytnuté v globálním přepínači správce. Toto nastavení je oddělené a není ovlivněno omezeními stahování použitými v nastavení exportu a sdílení tenanta vaší organizace.
Poznámka:
Rozhraní API pro stahování souborů má tři metody:
exportVisualsContent
je k dispozici z rozhraní API verze 4.5.status
je k dispozici z rozhraní API verze 4.6.exportVisualsContentExtended
je k dispozici z rozhraní API verze 5.3.- Pokud chcete zjistit, kterou verzi používáte, podívejte se do
apiVersion
souboru pbiviz.json .
K exportu do souborů následujících typů použijte rozhraní API pro stahování souborů:
- .txt
- .Csv
- .Json
- .tmplt
- .xml
- .xlsx
Před zahájením stahování se zobrazí okno s žádostí o potvrzení, že vizuál pochází z důvěryhodného zdroje.
Jak používat rozhraní API pro stahování souborů
Pokud chcete použít rozhraní API pro stahování souborů, přidejte do pole oprávnění v možnostech vizuálu deklaraci.
Rozhraní API pro stahování souborů má tři metody:
- stav: K dispozici z rozhraní API verze 4.6
exportVisualsContent
: k dispozici v rozhraní API verze 4.5exportVisualsContentExtended
: K dispozici v rozhraní API verze 5.3.
Rozdíl mezi těmito dvěma metodami je návratová hodnota.
Metoda status
Metoda stavu vrátí stav rozhraní API pro stahování souborů:
- PrivilegeStatus.DisabledBy Správa: Přepínač správce tenanta je vypnutý.
- PrivilegeStatus.NotDeclared: Vizuál nemá pro místní úložiště v poli oprávnění žádnou deklaraci.
- PrivilegeStatus.NotSupported: Rozhraní API se nepodporuje. Další informace najdete v omezeních .
- PrivilegeStatus.Allowed: Rozhraní API je podporované a povolené.
Metoda exportVisualsContent
Metoda exportVisualsContent
má čtyři parametry:
- content: string
- název souboru: řetězec
- fileType: string – Při exportu do souboru .pdf nebo .xlsx
fileType
by měl být parametrbase64
- fileDescription: string
Tato metoda vrátí příslib, který bude vyřešen pro logickou hodnotu.
Metoda exportVisualsContentExtended
Metoda exportVisualsContentExtended
má také čtyři parametry:
- content: string
- název souboru: řetězec
- fileType: string – Při exportu do souboru .pdf nebo .xlsx
fileType
by měl být parametrbase64
- fileDescription: string
Tato metoda vrátí příslib, který bude vyřešen s výsledkem typu ExportContentResultInfo
, který obsahuje následující parametry:
- downloadCompleted – pokud stahování bylo úspěšně dokončeno.
- název souboru – název exportovaného souboru.
Příklad: rozhraní API pro stahování souborů
Tady je příklad, jak stáhnout obsah vlastního vizuálu do excelového souboru a textového souboru.
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
}
}
}
}
Úvahy a omezení
- Rozhraní API se podporuje jenom v služba Power BI a Power BI Desktopu.
- Limit velikosti staženého souboru je 30 MB.
- Toto rozhraní API je privilegované rozhraní API.