Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Interfejs API pobierania plików umożliwia użytkownikom pobieranie danych z wizualizacji niestandardowej do pliku na urządzeniu magazynowym. Pobranie wizualizacji wymaga zgody użytkownika i uprawnienia administratora udostępnionego w przełączniku globalnym administratora. To ustawienie jest oddzielone od ograniczeń pobierania zastosowanych w ustawieniach eksportowania i udostępniania dzierżawy w organizacji.
Uwaga
Interfejs API pobierania plików ma trzy metody:
exportVisualsContentjest dostępny z interfejsu API w wersji 4.5statusjest dostępny w wersji 4.6 interfejsu API.exportVisualsContentExtendedjest dostępny w wersji 5.3 interfejsu API.- Aby dowiedzieć się, której wersji używasz, sprawdź
apiVersionplik pbiviz.json .
Użyj interfejsu API pobierania plików, aby wyeksportować do plików następujących typów:
- txt
- .Csv
- .Json
- .tmplt
- xml
- .xlsx
Przed rozpoczęciem pobierania zostanie wyświetlone okno z prośbą o potwierdzenie, że wizualizacja pochodzi z zaufanego źródła.
Jak używać interfejsu API pobierania plików
Aby użyć interfejsu API pobierania plików, dodaj deklarację do tablicy uprawnień w funkcjach wizualizacji.
Interfejs API pobierania plików ma trzy metody:
- status: dostępny z interfejsu API w wersji 4.6
exportVisualsContent: dostępny z interfejsu API w wersji 4.5exportVisualsContentExtended: dostępny z interfejsu API w wersji 5.3.
Różnica między dwiema metodami jest wartością zwracaną.
Metoda status
Metoda status zwraca stan interfejsu API pobierania pliku:
- PrivilegeStatus.DisabledBy Administracja: przełącznik administratora dzierżawy jest wyłączony
- PrivilegeStatus.NotDeclared: wizualizacja nie ma deklaracji dla magazynu lokalnego w tablicy uprawnień
- PrivilegeStatus.NotSupported: interfejs API nie jest obsługiwany. Aby uzyskać więcej informacji, zobacz ograniczenia .
- PrivilegeStatus.Allowed: interfejs API jest obsługiwany i dozwolony.
Metoda exportVisualsContent
Metoda exportVisualsContent ma cztery parametry:
- zawartość: ciąg
- nazwa pliku: ciąg
- fileType: ciąg — podczas eksportowania do pliku
fileType.pdf lub .xlsx parametr powinien mieć wartośćbase64 - fileDescription: ciąg
Ta metoda zwraca obietnicę, która zostanie rozpoznana dla wartości logicznej.
Metoda exportVisualsContentExtended
Metoda exportVisualsContentExtended ma również cztery parametry:
- zawartość: ciąg
- nazwa pliku: ciąg
- fileType: ciąg — podczas eksportowania do pliku
fileType.pdf lub .xlsx parametr powinien mieć wartośćbase64 - fileDescription: ciąg
Ta metoda zwraca obietnicę, która zostanie rozpoznana z wynikiem typu ExportContentResultInfo zawierającego następujące parametry:
- downloadCompleted — jeśli pobieranie zostało ukończone pomyślnie.
- nazwa pliku — wyeksportowana nazwa pliku.
Przykład: interfejs API pobierania plików
Oto przykład pobierania zawartości wizualizacji niestandardowej do pliku programu Excel i pliku tekstowego.
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
}
}
}
}
Rozważania i ograniczenia
- Interfejs API jest obsługiwany tylko w usługa Power BI i programie Power BI Desktop
- Limit rozmiaru pobranego pliku wynosi 30 MB.
- Ten interfejs API jest uprzywilejowanym interfejsem API.