Tiedoston latauksen ohjelmointirajapinta
Tiedoston latauksen ohjelmointirajapinnan avulla käyttäjät voivat ladata tietoja mukautetusta visualisoinnista tallennuslaitteensa tiedostoon. Visualisoinnin lataaminen edellyttää käyttäjän suostumusta ja järjestelmänvalvojan käyttöoikeutta, jotka on annettu järjestelmänvalvojan yleisessä valitsimessa. Tämä asetus on erilainen kuin sen latausrajoitukset, joita sovelletaan organisaatiosi vienti- ja jakamisasetuksissa .
Muistiinpano
Tiedoston latauksen ohjelmointirajapinnassa on kolme menetelmää:
exportVisualsContent
on saatavilla ohjelmointirajapinnan versiosta 4.5status
on saatavilla ohjelmointirajapinnan versiosta 4.6.exportVisualsContentExtended
on saatavilla ohjelmointirajapinnan versiosta 5.3.- Jos haluat tietää, mitä versiota käytät, tarkista
apiVersion
pbiviz.json .
Vie seuraavantyyppisiin tiedostoihin tiedoston latauksen ohjelmointirajapinnan avulla:
- .txt
- .Csv
- .Json
- .tmplt
- .xml
- .xlsx
Ennen kuin lataus alkaa, näyttöön tulee ikkuna, jossa pyydetään vahvistamaan, että visualisointi on peräisin luotetusta lähteestä.
Tiedoston lataamisen ohjelmointirajapinnan käyttäminen
Jos haluat käyttää tiedoston lataamisen ohjelmointirajapintaa, lisää esittely käyttöoikeusmatriisiin visualisoinnin ominaisuuksissa.
Tiedoston latauksen ohjelmointirajapinnassa on kolme menetelmää:
- status: saatavilla ohjelmointirajapinnan versiosta 4.6 alkaen
exportVisualsContent
: saatavilla ohjelmointirajapinnan versiosta 4.5exportVisualsContentExtended
: saatavilla ohjelmointirajapinnan versiosta 5.3.
Kahden menetelmän välinen ero on palautusarvo.
- status
menetelmä
Tilamenetelmä palauttaa tiedoston latauksen ohjelmointirajapinnan tilan:
- PrivilegeStatus.DisabledBy Hallinta: vuokraajan järjestelmänvalvojan valitsin on poissa käytöstä
- PrivilegeStatus.NotDeclared: visualisoinnilla ei ole määritystä paikalliselle tallennustilalle oikeudet-matriisissa
- PrivilegeStatus.NotSupported: ohjelmointirajapintaa ei tueta. Katso lisätietoja rajoituksista.
- PrivilegeStatus.Allowed: Ohjelmointirajapintaa tuetaan ja sallitaan.
- exportVisualsContent
menetelmä
-menetelmällä exportVisualsContent
on neljä parametria:
- content: merkkijono
- filename: merkkijono
- fileType: merkkijono – Kun viet .pdf- tai .xlsx-tiedostoon, parametrin
fileType
tulee ollabase64
- fileDescription: merkkijono
Tämä menetelmä palauttaa lupauksen, joka ratkaistaan totuusarvolle.
- exportVisualsContentExtended
menetelmä
- exportVisualsContentExtended
menetelmällä on myös neljä parametria:
- content: merkkijono
- filename: merkkijono
- fileType: merkkijono – Kun viet .pdf- tai .xlsx-tiedostoon, parametrin
fileType
tulee ollabase64
- fileDescription: merkkijono
Tämä menetelmä palauttaa lupauksen, joka ratkaistaan seuraavia parametreja sisältävän tyypin ExportContentResultInfo
tuloksella:
- downloadCompleted – jos lataus suoritettiin onnistuneesti.
- filename – viety tiedostonimi.
Esimerkki: tiedoston latauksen ohjelmointirajapinta
Tässä on esimerkki siitä, miten voit ladata mukautetun visualisoinnin sisällön Excel-tiedostoon ja tekstitiedostoon.
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
}
}
}
}
Huomioitavat asiat ja rajoitukset
- Ohjelmointirajapintaa tuetaan vain Power BI -palvelu ja Power BI Desktopissa
- Ladatun tiedoston kokorajoitus on 30 Mt.
- Tämä ohjelmointirajapinta on privileged-ohjelmointirajapinta.