Workiva obsługuje zarówno standardową bibliotekę języka Python, jak i Python Package Index (PyPI). Zależności można generować automatycznie, korzystając z wbudowanego edytora skryptów, lub ręcznie na komputerze lokalnym.
Skrypty Workiva są zawarte w module Customize Workiva. Aby móc korzystać ze skryptów, w obszarze roboczym musi być włączona opcja Dostosowywanie Workiva/Skryptów, a użytkownicy muszą mieć odpowiednie role skryptowe i uprawnienia do plików.
Obsługiwane biblioteki
Skrypty Workiva obsługują standardową bibliotekę Pythona od razu; wystarczy zaimportować moduł do kodu i zacząć go używać. Biblioteka ta zawiera wbudowane moduły zapewniające dostęp do funkcjonalności systemu, np. wejścia/wyjścia plików, a także wiele standardowych rozwiązań typowych problemów programistycznych.
Oprócz biblioteki standardowej dostępna jest stale powiększająca się kolekcja komponentów w Python Package Index . Będziesz musiał wygenerować zależności w swoim skrypcie, które będą zawierać komponenty PyPI, których chcesz użyć.
Jednym z powszechnie używanych przez nas komponentów PyPI jest komponent „requests”, który umożliwia interakcję z platformą Workiva za pomocą publicznych interfejsów API Workiva .
Uwaga : Komponenty PyPI wymagające dodatkowych instalacji mogą nie być obsługiwane.
Generuj zależności za pomocą edytora skryptów
Edytor skryptów może automatycznie budować zależności.
Oto jak:
- Z Home otwórz plik skryptu (lub utwórz nowy).
- Przejdź do panelu Źródła po lewej stronie, kliknij prawym przyciskiem myszy w pustej przestrzeni tuż pod bieżącymi źródłami i wybierz + Dodaj plik źródłowy .
- Utwórz nowe źródło o nazwie: requirements.txt .
- Na środkowym płótnie dodaj wiersz określający bibliotekę i wersję do zainstalowania. (To jest linia requests==2.28.1 w przykładowym obrazku poniżej.)
- Kliknij Zapisz w lewym górnym rogu.
- Odśwież ekran. Nie pomijaj tego kroku!
Po zapisaniu i odświeżeniu Workiva automatycznie generuje pakiet zależności o nazwie dependencies.zip. Teraz możesz używać tej biblioteki w swoim kodzie.
Generuj zależności z komputera lokalnego
Aby ręcznie utworzyć zależności, musisz utworzyć pakiet lokalnie i przesłać go do edytora skryptów. Na przykład możesz mieć projekt, który potrzebuje dostępu do biblioteki „requests”, aby uruchomić skrypt:
import żądań drukuj (requests.get('https://api.github.com').text) Można to zrobić za pomocą menedżera pakietów zgodnego z pip :
-
Zdefiniuj wersję biblioteki
requests , do której chcesz uzyskać dostęp w formacie zgodnym z pip; powinna zostać zapisana jakoplik .txt :żądania echa==2.28.1 > requirements.txt -
Zainstaluj zależność w nowym katalogu dependencies :
pip3 install --target ./dependencies --requirements.txt -
Utwórz plik
dependencies.zip :cd zależności zip -r ../dependencies.zip . cd .. -
Poproś o token dostępu:
Przed rozpoczęciem upewnij się, że przyznane przez Ciebie API obejmuje zakres
script:write . Instrukcje dotyczące tworzenia lub aktualizowania przyznania API można znaleźć w dokumencie Konfiguracja interfejsu API Workiva .curl -X POST https://api.app.wdesk.com/oauth2/token \ -H "Typ zawartości: application/x-www-form-urlencoded;charset=UTF-8" \ -H "Akceptuj: application/json" \ -H "Wersja X: 2026-01-01" \ -d "client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET&grant_type=client_credentials"Pobierz
access_tokenz odpowiedzi i użyj go poniżej jako$BEARER_TOKEN . -
W projekcie Workiva Scripting utwórz nowe źródło dla
dependencies.zip :curl -X POST "https://api.app.wdesk.com/scripts/${SCRIPT_ID}/sources" \ -H "Typ zawartości: application/json" \ -H "Akceptuj: application/json" \ -H "Autoryzacja: Nośnik $BEARER_TOKEN" \ -H "Wersja X: 2026-01-01" \ -d '{"path":"dependencies.zip"}'Odpowiedź zwraca nowe źródło. Zapisz jego
idjakoSOURCE_ID napotrzeby żądania przesłania treści.{ "id": "<sourceId> ", "ścieżka": "dependencies.zip" } -
Zainicjuj przesyłanie zawartości dla pliku źródłowego
dependencies.zip . W celu wyświetlenia nagłówków odpowiedzinależy uwzględnić-i :curl -i -X POST \ "https://api.app.wdesk.com/scripts/${SCRIPT_ID}/sources/${SOURCE_ID}/contentUpload" \ -H "Akceptuj: application/json" \ -H "Autoryzacja: Nośnik $BEARER_TOKEN" \ -H "Wersja X: 2026-01-01"Zapisz
uploadUrlz treści odpowiedzi i adres URL operacji z nagłówka odpowiedziLocation . -
Prześlij
dependencies.zipdo zwróconegouploadUrl :curl -X PUT "<uploadurl> „ \ -H „Autoryzacja: Nośnik $BEARER_TOKEN” \ --data-binary @dependencies.zipNastępnie sprawdź adres URL operacji:
curl -X GET "<operationlocation> „ \ -H „Autoryzacja: Nośnik $BEARER_TOKEN” \ -H „Wersja X: 2026-01-01”Szanuj nagłówek odpowiedzi
Retry-After i powtarzaj żądanie sondowania, ażstatusbędziezakończony,nieudanylubanulowany .Nie uruchamiaj skryptu, dopóki operacja nie zakończy się pomyślnie. -
Aby przetestować bibliotekę
żądań , uruchom skrypt z następującym kodem:import żądań print(requests.get('https://api.github.com').text)
Często zadawane pytania
Jakie interfejsy API i biblioteki są obsługiwane?
Workiva Scripting obecnie obsługuje:
- Publiczne interfejsy API Workiva
- Interfejsy API inne niż Workiva
- Biblioteka standardowa Pythona
- Indeks pakietów Pythona (PyPI)
Workiva Scripting obsługuje na razie tylko język Python.
Aby dowiedzieć się więcej, zobacz stronę pomocy technicznej Workiva Obsługiwane biblioteki skryptowe i zależności Workiva .
Która wersja języka Python jest używana w Workiva Scripting?
Nowe skrypty działają w Pythonie 3.13. Rozwiązanie Workiva Scripting nadal obsługuje istniejące skrypty języka Python 3.9, jednak wsparcie dla tego języka zakończy się w październiku 2027 r. — dlatego należy jak najszybciej przenieść wszystkie skrypty języka Python 3.9 do języka Python 3.13.
Aby dowiedzieć się więcej, zobacz stronę pomocy technicznej Workiva Migracja skryptów do Pythona 3.13 w Workiva .
Czy Workiva udostępnia klientom API popularne języki, takie jak Python lub Java?
Obecnie nie udostępniamy publicznych zestawów SDK dla języków Python i Java.
Udostępniamy jednak otwarte specyfikacje API dla interfejsów API Workiva, dzięki czemu możesz samodzielnie wygenerować te biblioteki. Możesz na przykład uzyskać plik OAS interfejsu API platformy Workiva i wygenerować bibliotekę klienta .
Czy są dostępne interfejsy API przeznaczone specjalnie do skryptowania?
Tak. Publiczny interfejs API skryptów jest dostępny za pośrednictwem wersji API Workiva z dnia 2026-01-01. Wyślij X-Version: 2026-01-01 z każdym żądaniem.
Aby zapoznać się z obsługiwanymi operacjami, zakresami i wymaganiami, zapoznaj się z przewodnikiem po interfejsie API skryptów .
Jak tworzyć i przeglądać uprawnienia API dla publicznych interfejsów API Workiva?
Aby uzyskać identyfikator klienta i klucz tajny, należy postępować zgodnie z instrukcjami podanymi tutaj .
Jak autoryzować się do publicznych interfejsów API Workiva za pomocą języka Python?
Poniższy przykład uzyskuje token dostępu i pobiera skrypty dostępne dla przyznanego interfejsu API w jego obszarze roboczym. Do udzielenia zezwolenia na API wymagany jest zakres script:read . Instrukcje dotyczące tworzenia lub aktualizowania przyznania API można znaleźć w dokumencie Konfiguracja interfejsu API Workiva .
import os import request AUTH_URL = "https://api.app.wdesk.com/oauth2/token" SCRIPTING_API_URL = "https://api.app.wdesk.com/scripts" API_VERSION = "2026-01-01" CLIENT_ID = os.environ["CLIENT_ID"] CLIENT_SECRET = os.environ["CLIENT_SECRET"] token_response = requests.post( AUTH_URL, headers={ "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", "X-Version": API_VERSION, }, data={ "client_id": CLIENT_ID, "client_secret": CLIENT_SECRET, "grant_type": "client_credentials", }, timeout=30, ) token_response.raise_for_status() headers = { "Authorization": f"Bearer {token_response.json()['access_token']}", "X-Version": API_VERSION, } scripts_response = requests.get( SCRIPTING_API_URL, headers=nagłówki, timeout=30, ) scripts_response.raise_for_status() print(scripts_response.json())Jak zaktualizować format komórek za pomocą Pythona?
Formatowanie komórek można aktualizować z poziomu skryptu, wywołując punkt końcowy [ Aktualizuj zawartość arkusza interfejsu API platformy Workiva ( POST /spreadsheets/{spreadsheetId}/sheets/{sheetId}/update ).
- Użyj pola
applyFormats , aby zastosować formaty, takie jak pogrubienie, formatowanie liczb i walut oraz cieniowanie, a polaapplyBorders ,aby zastosować obramowanie. - Zalecamy grupowanie operacji formatowania w ramach jednego żądania — każde pole akceptuje tablicę operacji, a punkt końcowy ma ograniczenie przepustowości — zamiast wysyłania jednego żądania na zakres.
Więcej informacji znajdziesz na następujących stronach Workiva Developer:
Czy mogę odczytywać/zapisywać lub przesyłać pliki spoza systemu Workiva, które są przechowywane w systemie Workiva?
Tak. Korzystając z interfejsów API do zarządzania plikami firmy Workiva, możesz przesyłać na platformę pliki spoza platformy Workiva — takie jak pliki PDF, obrazy lub inne dowolne typy plików — jako Dokumenty pomocnicze , które zachowują oryginalny plik w niezmienionej postaci. Aby przesłać taki dokument, należy użyć punktu końcowego pliku importu z parametrem kind ustawionym na SupportingDocument . Dokumenty pomocnicze pojawiają się obok innych plików Workiva i można je wyświetlać, przenosić, kopiować, eksportować (pobierać) i usuwać jak każdy inny plik.
Dowiedz się więcej: Wprowadzenie do interfejsów API zarządzania plikami
Czy mogę programowo tworzyć i zarządzać automatyzacjami?
W tej chwili nie ma dostępnych punktów końcowych umożliwiających programowe tworzenie automatyzacji ani zarządzanie nimi.