Filnedlastings-API
Med API-en for nedlasting av filen kan brukere laste ned data fra et egendefinert visualobjekt til en fil på lagringsenheten. Nedlasting av et visualobjekt krever brukersamtykke og administratortillatelse i den globale administratorbryteren. Denne innstillingen er atskilt fra og ikke påvirket av nedlastingsbegrensninger som brukes i organisasjonens innstillinger for eksport og deling av leier.
Merk
Filnedlastings-API-en har tre metoder:
exportVisualsContent
er tilgjengelig fra API versjon 4.5status
er tilgjengelig fra API versjon 4.6.exportVisualsContentExtended
er tilgjengelig fra API versjon 5.3.- Hvis du vil finne ut hvilken versjon du bruker, kan du se
apiVersion
i pbiviz.json-filen .
Bruk filnedlastings-API-en til å eksportere til filer av følgende typer:
- .txt
- .Csv
- .Json
- .tmplt
- .xml
- .xlsx
Før nedlastingen begynner, vises et vindu som ber om å bekrefte at visualobjektet er fra en klarert kilde.
Slik bruker du filnedlastings-API-en
Hvis du vil bruke filnedlastings-API-en, legger du til en deklarasjon i rettighetsmatrisen i visuelle funksjoner.
Filnedlastings-API-en har tre metoder:
- status: tilgjengelig fra API versjon 4.6
exportVisualsContent
: tilgjengelig fra API versjon 4.5exportVisualsContentExtended
: tilgjengelig fra API versjon 5.3.
Forskjellen mellom de to metodene er returverdien.
Metoden status
Statusmetoden returnerer statusen for filnedlastings-API-en:
- PrivilegeStatus.DisabledByAdmin: bryteren for leieradministrator er slått av
- PrivilegeStatus.NotDeclared: visualobjektet har ingen deklarasjon for den lokale lagringsplassen i rettighetsmatrisen
- PrivilegeStatus.NotSupported: API-en støttes ikke. Se begrensninger for mer informasjon.
- PrivilegeStatus.Allowed: API-en støttes og tillates.
Metoden exportVisualsContent
Metoden exportVisualsContent
har fire parametere:
- innhold: streng
- filnavn: streng
- fileType: streng – Når du eksporterer til en .pdf eller .xlsx fil, bør parameteren
fileType
værebase64
- fileDescription: streng
Denne metoden returnerer et løfte som vil bli løst for en boolsk verdi.
Metoden exportVisualsContentExtended
Metoden exportVisualsContentExtended
har også fire parametere:
- innhold: streng
- filnavn: streng
- fileType: streng – Når du eksporterer til en .pdf eller .xlsx fil, bør parameteren
fileType
værebase64
- fileDescription: streng
Denne metoden returnerer et løfte, som vil bli løst med et resultat av typen ExportContentResultInfo
som inneholder følgende parametere:
- downloadCompleted – hvis nedlastingen er fullført.
- filnavn – det eksporterte filnavnet.
Eksempel: filnedlasting av API
Her er et eksempel på hvordan du laster ned innholdet i et egendefinert visualobjekt 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
}
}
}
}
Hensyn og begrensninger
- API-en støttes bare i Power Bi-tjeneste og Power BI Desktop
- Størrelsesgrensen for en nedlastet fil er 30 MB.
- Denne API-en er en privilegert API.