API til fildownload
Fildownload-API'en gør det muligt for brugerne at downloade data fra en brugerdefineret visualisering til en fil på deres lagerenhed. Download af en visualisering kræver brugersamtykke og administratortilladelse, der er angivet i den globale administratorkontakt. Denne indstilling er adskilt fra og påvirkes ikke af downloadbegrænsninger, der er anvendt i organisationens indstillinger for eksport og deling af lejere.
Bemærk
API'en til fildownload har tre metoder:
exportVisualsContent
er tilgængelig fra API-version 4.5status
er tilgængelig fra API-version 4.6.exportVisualsContentExtended
er tilgængelig fra API-version 5.3.- Hvis du vil finde ud af, hvilken version du bruger, skal du se
apiVersion
i filen pbiviz.json .
Brug API'en til fildownload til at eksportere til filer af følgende typer:
- .txt
- .Csv
- .Json
- .tmplt
- .xml
- .xlsx
Før overførslen begynder, vises der et vindue, hvor du bliver bedt om at bekræfte, at visualiseringen er fra en kilde, der er tillid til.
Sådan bruger du API'en til fildownload
Hvis du vil bruge API'en til fildownload, skal du føje en erklæring til rettighedsmatrixen i visualiseringsfunktioner.
API'en til fildownload har tre metoder:
- status: tilgængelig fra API version 4.6
exportVisualsContent
: tilgængelig fra API version 4.5exportVisualsContentExtended
: tilgængelig fra API-version 5.3.
Forskellen mellem de to metoder er returværdien.
Metoden status
Statusmetoden returnerer status for API'en til fildownload:
- PrivilegeStatus.DisabledBy Administration: lejeradministratorkontakten er slået fra
- PrivilegeStatus.NotDeclared: Visualiseringen har ingen erklæring for det lokale lager i rettighedsmatrixen
- PrivilegeStatus.NotSupported: API'en understøttes ikke. Se begrænsninger for at få flere oplysninger.
- PrivilegeStatus.Allowed: API'en understøttes og tillades.
Metoden exportVisualsContent
Metoden exportVisualsContent
har fire parametre:
- indhold: streng
- filnavn: streng
- fileType: string – Når du eksporterer til en .pdf eller .xlsx fil,
fileType
skal parameteren værebase64
- fileDescription: streng
Denne metode returnerer et løfte, der fortolkes for en boolesk værdi.
Metoden exportVisualsContentExtended
Metoden exportVisualsContentExtended
har også fire parametre:
- indhold: streng
- filnavn: streng
- fileType: string – Når du eksporterer til en .pdf eller .xlsx fil,
fileType
skal parameteren værebase64
- fileDescription: streng
Denne metode returnerer et løfte, som løses med et resultat af typen ExportContentResultInfo
, der indeholder følgende parametre:
- downloadCompleted – hvis overførslen blev fuldført.
- filename – det eksporterede filnavn.
Eksempel: API til fildownload
Her er et eksempel på, hvordan du downloader indholdet af en brugerdefineret visualisering til en Excel-fil og en tekstfil.
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
}
}
}
}
Overvejelser og begrænsninger
- API'en understøttes kun i Power BI-tjeneste og Power BI Desktop
- Størrelsesgrænsen for en downloadet fil er 30 MB.
- Denne API er en privilegeret API.