Jaa


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 .

Näyttökuva järjestelmänvalvojan asetuksesta, joka ottaa käyttöön mukautetut visualisointilataukset.

Muistiinpano

Tiedoston latauksen ohjelmointirajapinnassa on kolme menetelmää:

  • exportVisualsContent on saatavilla ohjelmointirajapinnan versiosta 4.5
  • status on saatavilla ohjelmointirajapinnan versiosta 4.6.
  • exportVisualsContentExtended on saatavilla ohjelmointirajapinnan versiosta 5.3.
  • Jos haluat tietää, mitä versiota käytät, tarkista apiVersionpbiviz.json .

Vie seuraavantyyppisiin tiedostoihin tiedoston latauksen ohjelmointirajapinnan avulla:

  • .txt
  • .Csv
  • .Json
  • .tmplt
  • .xml
  • .pdf
  • .xlsx

Ennen kuin lataus alkaa, näyttöön tulee ikkuna, jossa pyydetään vahvistamaan, että visualisointi on peräisin luotetusta lähteestä.

Näyttökuva, jossa pyydetään vahvistamaan lataus vain, jos se 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ää:

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.