Workiva unterstützt sowohl die Standardbibliothek von Python als auch den Python Package Index (PyPI). Abhängigkeiten können automatisch mit dem integrierten Skript-Editor oder manuell auf Ihrem lokalen Rechner erstellt werden.
Workiva Scripting ist in „Customize Workiva“ enthalten. Um die Skriptfunktion nutzen zu können, muss in Ihrem Arbeitsbereich die Option „Workiva anpassen/Skriptfunktion“ aktiviert sein, und die Benutzer benötigen die entsprechenden Skriptrollen sowie Dateiberechtigungen.
Unterstützte Bibliotheken
Workiva Skripte unterstützen Python's Standardbibliothek out-of-the-box Diese Bibliothek enthält integrierte Module, die den Zugriff auf Systemfunktionen wie Dateieingabe und -ausgabe ermöglichen, sowie viele standardisierte Lösungen für allgemeine Programmierprobleme.
Zusätzlich zur Standardbibliothek gibt es eine wachsende Sammlung von Komponenten, die über den Python Package Index verfügbar sind. Sie müssen die Abhängigkeiten in Ihrem Skript generieren, die die PyPI-Komponenten enthalten, die Sie verwenden möchten.
Eine der PyPI-Komponenten, die wir häufig verwenden, ist die "requests"-Komponente, die es Ihnen ermöglicht, mit der Workiva-Plattform über die Workiva Public APIs zu interagieren.
Hinweis: PyPI-Komponenten, die zusätzliche Installationen erfordern, werden möglicherweise nicht unterstützt.
Abhängigkeiten mit dem Skript-Editor generieren
Der Skript-Editor kann Ihre Abhängigkeiten automatisch erstellen.
So geht's:
- Öffnen Sie unter Home eine Skriptdatei (oder erstellen Sie eine neue).
- Wechseln Sie zum Bereich Quellen auf der linken Seite, klicken Sie mit der rechten Maustaste in den leeren Bereich direkt unter den aktuellen Quellen und wählen Sie + Quelldatei hinzufügen.
- Erstellen Sie eine neue Quelle mit dem Namen: requirements.txt.
- Fügen Sie im mittleren Canvas eine Zeile hinzu, in der Sie die zu installierende Bibliothek und Version angeben. (Dies ist die Zeile „ requests==2.28.1 “ im Beispielbild unten.)
- Klicken Sie oben links auf Speichern.
- Laden Sie Ihren Bildschirm neu. Überspringen Sie diesen Schritt nicht!
Nach dem Speichern und Aktualisieren erzeugt Workiva automatisch ein Abhängigkeitsbündel namens dependencies.zip. Sie können die Bibliothek nun in Ihrem Code verwenden.
Erzeugen von Abhängigkeiten von Ihrem lokalen Rechner
Um Abhängigkeiten manuell zu erstellen, müssen Sie ein Paket lokal erstellen und es in den Skripteditor hochladen. Sie haben zum Beispiel ein Projekt, das auf die "requests"-Bibliothek zugreifen muss, um ein Skript auszuführen:
import requests print (requests.get('https://api.github.com').text) Dies kann using einem pip-kompatiblen Paketmanager erfolgen:
-
Legen Sie die Version der Bibliothek „
requests“ fest, auf die Sie in einem pip-kompatiblen Format zugreifen möchten; diese sollteals .txt-Datei gespeichert werden:echo requests==2.28.1 > requirements.txt -
Installieren Sie die Abhängigkeit in einem neuen Verzeichnis „ -dependencies“ unter „ “:
pip3 install --target ./dependencies --requirement requirements.txt -
Erstellen Sie eine Datei „
dependencies.zip“ unter „ “:cd dependencies zip -r ../dependencies.zip . cd .. -
Zugriffstoken anfordern:
Bevor Sie beginnen, stellen Sie sicher, dass Ihre API-Berechtigung den Bereich „
script:write“ umfasst. Anleitungen zum Erstellen oder Aktualisieren einer API-Berechtigung finden Sie unter Workiva API Setup .curl -X POST https://api.app.wdesk.com/oauth2/token \ -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" \ -H "Accept: application/json" \ -H "X-Version: 2026-01-01" \ -d "client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET&grant_type=client_credentials"Entnehmen Sie der
Antwort den „ “-Zugriffstoken und verwenden Sie ihn im folgenden Beispiel als „ “$BEARER_TOKEN . -
Erstellen Sie in Ihrem Workiva-Scripting-Projekt eine neue Quelle für „
dependencies.zip“ :curl -X POST "https://api.app.wdesk.com/scripts/${SCRIPT_ID}/sources" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -H "Authorization: Bearer $BEARER_TOKEN" \ -H "X-Version: 2026-01-01" \ -d '{"path":"dependencies.zip"}'Die Antwort gibt die neue Quelle zurück. Speichern Sie
die ID „ “ ( )als „ “ (SOURCE_ID: )für die Anfrage zum Hochladen von Inhalten.{ "id": "<sourceId>", "path": "dependencies.zip" } -
Starten Sie einen Content-Upload für die Quelle „
dependencies.zip “. Fügen Sie „-i “ hinzu,um die Antwort-Header anzuzeigen:curl -i -X POST \ "https://api.app.wdesk.com/scripts/${SCRIPT_ID}/sources/${SOURCE_ID}/contentUpload" \ -H "Accept: application/json" \ -H "Authorization: Bearer $BEARER_TOKEN" \ -H "X-Version: 2026-01-01"Speichern Sie die URL „
uploadUrl “aus dem Antworttext sowie die Operations-URL aus dem Antwortheader „Location“. -
Laden Sie die Datei „
dependencies.zip“ auf die zurückgegebene URL „uploadUrl“ hoch:curl -X PUT "<uploadurl>" \ -H "Authorization: Bearer $BEARER_TOKEN" \ --data-binary @dependencies.zipRufen Sie anschließend die URL der Operation ab:
curl -X GET "<operationlocation>" \ -H "Authorization: Bearer $BEARER_TOKEN" \ -H "X-Version: 2026-01-01"Beachten Sie den Antwort-Header „
Retry-After“ von und wiederholen Sie die Abfrage, bis derStatusvon entweder „completed“, „failed“ oder „cancelled“ lautet.Führen Sie das Skript erst aus, wenn der Vorgang erfolgreich abgeschlossen ist. -
Um die Bibliothek „ -
Anfragen an “ zu testen, führen Sie ein Skript mit dem folgenden Code aus:import requests print(requests.get('https://api.github.com').text)
FAQ
Welche APIs und Bibliotheken werden unterstützt?
Workiva Scripting unterstützt derzeit:
- Öffentliche Workiva-APIs
- Nicht-Workiva-APIs
- Die Standardbibliothek von Python
- Der Python-Paketindex (PyPI)
Workiva Scripting unterstützt derzeit ausschließlich Python.
Weitere Informationen finden Sie auf der Workiva-Supportseite unter sowie unter „Unterstützte Workiva-Skriptbibliotheken und Abhängigkeiten“ unter .
Welche Version von Python wird in Workiva Scripting verwendet?
Neue Skripte laufen unter Python 3.13. Workiva Scripting unterstützt zwar weiterhin bestehende Python-3.9-Skripte, doch die Unterstützung für Python 3.9 endet im Oktober 2027 – daher sollten Sie alle Python-3.9-Skripte so bald wie möglich auf Python 3.13 umstellen.
Weitere Informationen finden Sie auf der Workiva-Supportseite unter sowie im Artikel „Migration von Skripten auf Python 3.13 in Workiva“ unter .
Bietet Workiva API-Clients mit gängigen Sprachen wie Python oder Java an?
Wir bieten derzeit keine öffentlichen SDKs für Python oder Java an.
Wir stellen jedoch offene API-Spezifikationen für Workiva-APIs zur Verfügung, so dass Sie diese Bibliotheken selbst erstellen können. Zum Beispiel können Sie die OAS-Datei der Workiva Platform API erhalten und eine Client-Bibliothek generieren.
Gibt es skriptspezifische APIs?
Ja. Die öffentliche Scripting-API ist ab der Workiva-API-Version vom 01.01.2026 verfügbar. Sende bei jeder Anfrage „X-Version: 2026-01-01“.
Informationen zu unterstützten Vorgängen, Gültigkeitsbereichen und Anforderungen finden Sie im Handbuch zur Skript-API von „ “ unter .
Wie kann ich API-Grants für die Workiva Public APIs erstellen und einsehen?
Sie müssen eine Client-ID und ein Geheimnis erhalten, indem Sie die Anweisungen von befolgen:.
Wie autorisiere ich mich für die öffentlichen APIs von Workiva mit Python?
Im folgenden Beispiel wird ein Zugriffstoken abgerufen und es werden die Skripte abgerufen, auf die im Rahmen der API-Berechtigung in diesem Arbeitsbereich zugegriffen werden kann. Für die API-Berechtigung ist der Bereich „ script:read “ erforderlich. Anleitungen zum Erstellen oder Aktualisieren einer API-Berechtigung finden Sie unter Workiva API Setup .
import os import requests 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=headers, timeout=30, ) scripts_response.raise_for_status() print(scripts_response.json())Wie kann ich das Format von Zellen mit Python aktualisieren?
Sie können die Zellenformatierung über ein Skript aktualisieren, indem Sie den Endpunkt „ “ der Workiva Platform API aufrufen: „Update sheet content“ ( ) ( ) oder „POST /spreadsheets/{spreadsheetId}/sheets/{sheetId}/update“ ( ).
- Verwenden Sie das Feld „ “ („
applyFormats“ ), um Formatierungen wie Fettdruck, Zahlen- und Währungsformatierungen sowie Schattierungen anzuwenden, und „ “ („applyBorders“ ),um Rahmen anzubringen. - Wir empfehlen Ihnen, mehrere Formatierungsvorgänge in einer einzigen Anfrage zusammenzufassen – jedes Feld akzeptiert ein Array von Vorgängen, und der Endpunkt unterliegt einer Ratenbegrenzung –, anstatt für jeden Bereich eine eigene Anfrage zu senden.
Weitere Informationen finden Sie auf den folgenden Workiva-Entwicklerseiten:
Kann ich in Workiva gespeicherte Nicht-Workiva-Dateien lesen/schreiben oder hochladen?
Ja. Mithilfe der Dateiverwaltungs-APIs von Workiva können Sie Dateien, die nicht aus Workiva stammen – wie beispielsweise PDFs, Bilder oder andere beliebige Dateitypen – als „ -Begleitdokumente“ ( Supporting Documents) auf die Plattform hochladen, wobei die Originaldatei unverändert erhalten bleibt. Um eine Datei hochzuladen, verwenden Sie den Endpunkt zum Importieren von Dateien mit dem Typ „ “ ( ), wobei „ “ auf „ “ und „SupportingDocument“ auf „ “ gesetzt ist. Begleitdokumente werden neben Ihren anderen Workiva-Dateien angezeigt und können wie jede andere Datei aufgelistet, verschoben, kopiert, exportiert (heruntergeladen) und in den Papierkorb verschoben werden.
Weitere Informationen: Einführung in die APIs zur Dateiverwaltung
Kann ich Automatisierungen programmatisch erstellen und verwalten?
Zurzeit gibt es keine Endpunkte, um Automatisierungen programmatisch zu erstellen oder zu verwalten.