W tym przewodniku dowiesz się, jak importować kolekcje API Workiva do Bruno przy użyciu specyfikacji OpenAPI. Dowiesz się, jak skonfigurować globalne zmienne środowiskowe, uwierzytelniać się za pomocą protokołu OAuth 2.0 i weryfikować żądania API od początku do końca.
Wymagania wstępne
- Pobierz i zainstaluj Bruno z www.usebruno.com .
Tło
Interfejsy API Workiva są publikowane w formacie OpenAPI (.yaml). Te specyfikacje można importować bezpośrednio do klientów API, takich jak Bruno, co pozwala na pracę z w pełni ustrukturyzowanymi kolekcjami bez konieczności ręcznego tworzenia żądań.
Krok 1: Importowanie kolekcji API Workiva
- Przejdź do strony Generowanie kodu platformy Workiva .
- Pobierz plik OpenAPI
.yaml. -
Otwórz Bruno. W lewym górnym rogu kliknij menu z trzema kropkami i wybierz Importuj kolekcję.
-
Wybierz Plik OpenAPI V3 i wybierz pobrany
plik .yaml. -
Gdy pojawi się monit, utwórz lub wybierz folder lokalny, w którym Bruno będzie przechowywać kolekcję (na przykład Kolekcje Bruno).
Krok 2: Skonfiguruj środowisko globalne
-
W prawym górnym rogu Bruno kliknij ikonę globusa i wybierz opcję Konfiguruj.
- Wybierz Utwórz środowisko globalne.
- Utwórz następujące zmienne globalne:
token_dostępuŚrodowiskoIdentyfikator klientaClientSecretwersja_api
-
Wypełnij wartości dla
Environment,ClientIDiClientSecret. Pozostawaccess_tokenpuste i ustawapi_versionna2026-01-01. - Chroń środowisko.
Krok 3: Skonfiguruj OAuth 2.0 – Pobierz token
Aby ponownie wykorzystać uwierzytelnianie w wielu zbiorach, token dostępu OAuth zostanie zapisany jako globalna zmienna środowiskowa [ .
- Wybierz kolekcję Workiva API.
- Wybierz kartę Zmienne.
-
Zaktualizuj zmienną
baseUrl, aby używać{{environment}}zamiast zakodowanej na stałe domeny.Oryginał:
https://api.app.wdesk.comZaktualizowano:
https://api.{{environment}}.wdesk.com - Ustaw autoryzację na Bearer Token i użyj zmiennej
{{access_token}}. - Wybierz kartę Skrypty.
-
Dodaj następujący skrypt do sekcji Pre-request.
W przypadku interfejsów API platformy 2026nagłówek X-Version jest wymagany przy każdym żądaniu. Ten skrypt zapewnia spójne stosowanie nagłówka w całej kolekcji, zgodnie z wymaganiami dotyczącymi wersji interfejsu API firmy Workiva w 2026 r.
Uwaga: Ten wymóg dotyczy obecnie tylko interfejsów API platformy.
// Dodaj lub zaktualizuj nagłówek X-Version (Bruno) req.setHeader("X-Version", bru.getGlobalEnvVar("api_version")); - W kolekcji API Workiva przejdź do folderu oauth2 i otwórz Pobierz token.
-
W sekcji skryptu Post Response dodaj następujący kod, aby zapisać token globalnie:
const body = res.getBody(); bru.setGlobalEnvar("access_token", body.access_token); - Zapisz zmiany.
Krok 4: Wygeneruj token nośnika
- W treści żądania OAuth2 ustaw:
{{ID klienta}}{{Sekret klienta}}
- Wyślij żądanie Pobierz token.
-
W przypadku powodzenia odpowiedź będzie zawierać token nośnika i zostanie automatycznie zapisana jako zmienna globalna .
Możesz teraz wysyłać uwierzytelnione żądania. Jeśli operacja się powiedzie, w odpowiedzi zobaczysz listę dokumentów.
Krok 5: Importowanie i konfiguracja kolekcji API Wdata i Chains
- Przejdź do strony Generowanie kodu Wdata.
- Pobierz plik
.yamli zaimportuj go do programu Postman (Wykonaj kroki opisane w Krok 1: Importuj kolekcję API Workiva). Uwaga: Nazwa pliku.yamlbędzie prawdopodobnie taka sama jak nazwa pliku Workiva API Collection. - W kolekcji Wdata :
- Wybierz kartę Zmienne.
-
Zaktualizuj zmienną
baseUrl, aby używać{{environment}}zamiast zakodowanej na stałe domeny.Oryginał:
https://h.app.wdesk.com/s/wdata/oc/apiZaktualizowano:
https://h.{{environment}}.wdesk.com/s/wdata/prep - Ustaw autoryzację na Bearer Token i użyj zmiennej
{{access_token}}. - Powtórz te same kroki powyżej dla kolekcji Chains API Collection, upewniając się, że ustawienia autoryzacji i zmienna
baseUrlsą skonfigurowane w ten sam sposób.
Rozwiązywanie problemów
- Upewnij się, że odwołujesz się do prawidłowego Środowiska. Jeśli kolekcja domyślnie ma środowisko Brak, zmień je na określone przez Ciebie środowisko.
- Sprawdź, czy zmienna
baseUrljest spójna w całym środowisku i ustawieniach kolekcji. - Upewnij się, że zmienna kolekcji
baseUrljest ustawiona tak, aby używała{{environment}}; w przeciwnym razie Twoje żądania mogą się nie powieść. - Jeśli żądanie zwróci błąd 401 lub pustą odpowiedź, sprawdź ponownie, czy wartości identyfikatora klienta, tajnego klucza klienta, wersji API i środowiska są poprawne.