Spis treści 6 sekcji
Tableau API obejmuje 2 opisane tu interfejsy do pobierania danych. Każdy służy do innego zadania.
Tableau JavaScript API pozwala pobierać dane wykresów do własnej witryny1. Tableau Server REST API umożliwia pobieranie danych z serwera i filtrowanie wyników wyszukiwania1.
Przy stronicowaniu odpowiedzi REST API domyślny rozmiar strony wynosi 100 zasobów; kolejne strony wymagają osobnych żądań2.
Rodzaje Tableau API i ich zastosowania
Tableau udostępnia interfejsy i biblioteki do pracy z zasobami serwera, łączenia danych oraz obsługi wizualizacji w witrynie. Wybór zależy od zadania i miejsca, w którym działa kod.
Web Data Connector 3.0 jest dostępny od wersji Tableau 2022.33.
Czy Tableau udostępnia API?
Tableau oferuje API i biblioteki do różnych zastosowań. Server Client Library to biblioteka Pythona, która ułatwia tworzenie aplikacji pracujących z zasobami Tableau Server przez Tableau Server REST API4.
Pozostałe narzędzia w zestawieniu pomagają łączyć dane albo obsługiwać wizualizację na stronie internetowej.
Tabela porównuje trzy narzędzia Tableau według zastosowania i cechy, która je wyróżnia.
| Narzędzie | Zastosowanie | Cecha wyróżniająca |
|---|---|---|
| Server Client Library | Aplikacja pracująca z zasobami Tableau Server | Biblioteka kliencka do obsługi serwera |
| Web Data Connector 2.0 | Łączenie z danymi | Obsługuje wiele tabel (マルチテーブル); wcześniejsza wersja obsługiwała 1 tabelę. |
| Tableau JavaScript API | Kod witryny internetowej | W Tableau 10 dodano do niego 2 funkcje. |
Dane w tabeli: 1
Narzędzie warto dobrać do pracy, którą ma wykonać kod. W konektorze WDC 2.0 funkcja getSchema określa strukturę tabeli, a getData pobiera dane i przekazuje je do Tableau5.
Obie służą do tworzenia konektora danych, a nie do obsługi widoku w witrynie.
Jak uwierzytelnić aplikację lub użytkownika w Tableau API?
Aplikacja musi się uwierzytelnić, zanim wykona operację na zasobach. W żądaniach do REST API może użyć osobistego tokenu dostępu (PAT), przypisanego do użytkownika.
Po zalogowaniu przekazuje otrzymany token w nagłówku X-Tableau-Auth każdego kolejnego żądania REST API6.
- Konto użytkownika musi mieć dostęp do witryny i zasobów wskazanych w żądaniu. Wybierz konto odpowiednie do zakresu pracy aplikacji.
- Osobisty token dostępu utwórz dla wybranego konta. Jego sekret przechowuj poza kodem aplikacji.
- Logowanie do REST API wymaga nazwy tokenu, jego sekretu i identyfikatora witryny. Z odpowiedzi pobierz token sesji do kolejnych żądań.
- Żądania do REST API wysyłaj z tokenem sesji w nagłówku uwierzytelniającym. Uprawnienia konta nadal decydują o tym, co aplikacja może odczytać lub zmienić.
Udane logowanie nie daje automatycznie dostępu do każdego zasobu.
Gdy konto nie ma wymaganych uprawnień, serwer może odpowiedzieć kodem HTTP 403 mimo poprawnego zalogowania7.
Które Tableau API wybrać do automatyzacji, metadanych i osadzania wizualizacji?
Wybór Tableau API zależy od tego, z czym pracuje kod: zasobem serwera, opisem danych, plikiem skoroszytu czy wizualizacją w przeglądarce. Metadata API służy do analizy metadanych, czyli opisów zasobów danych i ich powiązań. Document API służy do pracy z plikami skoroszytów.
Obsługuje formaty.twb i.twbx8.
Tabela zestawia interfejsy według zadania oraz potrzeb, do których dany interfejs nie pasuje.
| Interfejs | Zadanie | Dla kogo nie |
|---|---|---|
| REST API lub Server Client Library | Publikowanie na Tableau Server osobnego skoroszytu dla każdego tenanta. | Nie do zmiany rozmiaru wizualizacji w przeglądarce. |
| Metadata API | Analiza metadanych, czyli opisów zasobów danych i ich powiązań. | Nie do modyfikowania pliku skoroszytu. |
| Document API | Programowe zarządzanie skoroszytami i źródłami danych (データソース). Opisany przykład obejmuje kopiowanie skoroszytu na podstawie pliku CSV i dostosowanie źródeł danych klientów. | Nie do sterowania aktywnym widokiem w przeglądarce. |
| JavaScript API | Metoda getSummaryDataAsync() pobiera dane podsumowujące aktywnego widoku. Metoda setFrameSize() zmienia rozmiar ramki wizualizacji. | Nie do programowej modyfikacji plików skoroszytów. |
Dane w tabeli: 1,9,10
Dane pobrane przez getSummaryDataAsync() można wykorzystać do zbudowania interaktywnego diagramu sieciowego w D3.js1. Metoda przydaje się przy osadzonym widoku; do analizy opisów i powiązań zasobów służy Metadata API.
Dla getSummaryDataAsync() nie określono sztywnego limitu wierszy. Parametr maxRows=0 żąda wszystkich wierszy, choć duże zbiory mogą pogorszyć wydajność11.
Jak przetestować połączenie z Tableau API i zdiagnozować błędy?
Połączenie z Tableau API przetestuj prostym żądaniem odczytu. Jeśli wystąpi błąd, sprawdź po kolei adres serwera, uwierzytelnienie, uprawnienia i treść odpowiedzi.
Przy testowym odczycie kod HTTP 200 oznacza powodzenie, 401 wskazuje brak uwierzytelnienia, a 403 może oznaczać odmowę dostępu12.
- Adres serwera wpisz zgodnie z konfiguracją Tableau i wyślij żądanie przez HTTPS. Problem z połączeniem sieciowym diagnozuj przed analizą odpowiedzi API.
- Uwierzytelnienie przetestuj poświadczeniami aplikacji. Jeśli logowanie się nie uda, sprawdź identyfikator witryny i przekazane poświadczenia.
- Żądanie odczytu skieruj do zasobu dostępnego dla użytego konta. Zapisz metodę żądania, adres zasobu i nagłówki, aby móc odtworzyć błąd.
- Odpowiedź API odczytaj wraz ze statusem HTTP i komunikatem błędu. Rozróżnij brak uwierzytelnienia od odmowy dostępu do zasobu.
- Uprawnienia użytkownika porównaj z zasobem wskazanym w żądaniu. Popraw zakres dostępu albo wybierz zasób, który konto może odczytać13.
Test Tableau API kończy się poprawną odpowiedzią na żądanie odczytu; zapis żądania i odpowiedzi pomaga ustalić przyczynę niepowodzenia14.
Najczęściej zadawane pytania
Ile zasobów REST API zwraca domyślnie na jednej stronie?
Domyślnie zwraca 100 zasobów. Aby pobrać kolejne, trzeba wysłać osobne żądania dla następnych stron.
Czy getSummaryDataAsync() ma sztywny limit pobieranych wierszy?
Nie określono sztywnego limitu. Parametr maxRows=0 żąda wszystkich wierszy, ale przy dużych zbiorach może to pogorszyć wydajność.
Jakie formaty plików obsługuje Document API?
Obsługuje pliki skoroszytów w formatach.twb i.twbx.
Od której wersji Tableau dostępny jest Web Data Connector 3.0?
Web Data Connector 3.0 jest dostępny od Tableau 2022.3.
Do czego służą funkcje getSchema i getData w WDC 2.0?
getSchema określa strukturę tabeli, a getData pobiera dane i przekazuje je do Tableau.
Źródła
- ↑Tableau Server 10 新機能:各種APIのご紹介 #tableau | DevelopersIO https://dev.classmethod.jp/articles/improvement-new-apis-on-tableau-server-10/
- ↑Tableau REST API Help — Paginating Results https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_paging.htm
- ↑Tableau Help — Connectors Built with the Web Data Connector 3.0 SDK https://help.tableau.com/current/pro/desktop/en-us/examples_wdc_connector_sdk.htm
- ↑Tableau Server Client Library (Python) https://tableau.github.io/server-client-python/
- ↑Tableau Web Data Connector Help — Customize Your First WDC Connector https://help.tableau.com/current/api/webdataconnector/en-us/docs/wdc_tutorial.html
- ↑Tableau REST API Help — Get Started Tutorial Part 1 https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_get_started_tutorial_part_1.htm
- ↑Tableau REST API Help — Handling Errors in the REST API https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_errors.htm
- ↑Tableau Document API — API reference https://tableau.github.io/document-api-python/docs/api-ref
- ↑Multi-tenancy & Row-level Security https://tableau.github.io/embedding-playbook/pages/04_multitenancy_and_rls
- ↑Tableau Full Screen View With JavaScript API https://stackoverflow.com/questions/43285709/tableau-full-screen-view-with-javascript-api
- ↑Tableau Embedding API — GetSummaryDataOptions https://help.tableau.com/current/api/embedding_api/en-us/reference/interfaces/GetSummaryDataOptions.html
- ↑Tableau REST API Help — Site Methods https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_site.htm
- ↑Tableau REST API Help — Permissions. ([help.tableau.com](help.tableau.com https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_permissions.htm
- ↑Tableau REST API Help — Testing and Troubleshooting REST API Calls. ([help.tableau.com](help.tableau.com https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_testing.htm