Workiva støtter både Pythons standardbibliotek og Python Package Index (PyPI). Avhengigheter kan genereres automatisk ved hjelp av den innebygde skripteditoren eller opprettes manuelt på din lokale maskin.
Workiva-skripting er inkludert i Tilpass Workiva. For å bruke skripting må arbeidsområdet ditt ha Tilpass Workiva/skripting aktivert, og brukerne trenger riktig(e) skriptrolle(r) og filtillatelser.
Støttede biblioteker
Workiva-skript støtter Pythons standardbibliotek rett ut av esken; du kan ganske enkelt importere modulen i koden din og begynne å bruke den. Dette biblioteket inneholder innebygde moduler som gir tilgang til systemfunksjonalitet som fil-I/O, samt mange standardiserte løsninger for vanlige programmeringsproblemer.
I tillegg til standardbiblioteket finnes det en voksende samling av komponenter tilgjengelig fra Python Package Index . Du må generere avhengighetene i skriptet ditt som inkluderer PyPI-komponentene du vil bruke.
En av PyPI-komponentene vi vanligvis bruker er «requests»-komponenten, som lar deg samhandle med Workiva-plattformen gjennom Workiva Public APIs .
Merknad : PyPI-komponenter som krever ytterligere installasjoner støttes kanskje ikke.
Generer avhengigheter med skripteditoren
Skriptredigereren kan automatisk bygge avhengighetene dine.
Slik gjør du det:
- Fra Hjem åpner du en skriptfil (eller opprett en ny).
- Gå til panelet Kilder på venstre side, høyreklikk i det tomme feltet rett under de gjeldende kildene, og velg + Legg til kildefil .
- Opprett en ny kilde med navnet: requirements.txt .
- I det midterste lerretet legger du til en linje som spesifiserer biblioteket og versjonen som skal installeres. (Dette er linjen requests==2.28.1 i eksempelbildet nedenfor.)
- Klikk på Lagre øverst til venstre.
- Last inn skjermen på nytt. Ikke hopp over dette trinnet!
Når den er lagret og oppdatert, genererer Workiva automatisk en avhengighetspakke kalt dependencies.zip. Du kan nå bruke biblioteket i koden din.
Generer avhengigheter fra din lokale maskin
For å opprette avhengigheter manuelt, må du bygge en pakke lokalt og laste den opp til skriptredigeringsprogrammet. For eksempel kan du ha et prosjekt som trenger tilgang til «requests»-biblioteket for å kjøre et skript:
importforespørsler print (requests.get('https://api.github.com').text) Dette kan gjøres ved å bruke en pip-kompatibel pakkebehandler:
-
Definer versjonen av
requests -biblioteket som skal tilgås som et pip-kompatibelt format; den skal lagres somen .txt -fil:ekkoforespørsler==2.28.1 > krav.txt -
Installer avhengigheten i en ny dependencies -katalog:
pip3 install --target ./dependencies --requirement requirements.txt -
Opprett en dependencies.zip -fil:cd avhengigheter zip -r ../avhengigheter.zip . cd .. -
Be om en tilgangstoken:
Før du begynner, må du sørge for at API-tildelingen din inkluderer omfanget
script:write . For instruksjoner om hvordan du oppretter eller oppdaterer et API-tildelingsprosjekt, se Workiva API-oppsett .curl -X POST https://api.app.wdesk.com/oauth2/token \ -H "Innholdstype: application/x-www-form-urlencoded;charset=UTF-8" \ -H "Godta: application/json" \ -H "X-versjon: 2026-01-01" \ -d "client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET&grant_type=client_credentials"Plukk opp
access_tokenfra svaret og bruk det som$BEARER_TOKENnedenfor. -
I Workiva Scripting-prosjektet ditt, opprett en ny kildekode for dependencies.zip :curl -X POST "https://api.app.wdesk.com/scripts/${SCRIPT_ID}/sources" \ -H "Innholdstype: application/json" \ -H "Godta: application/json" \ -H "Autorisering: Bærer $BEARER_TOKEN" \ -H "X-versjon: 2026-01-01" \ -d '{"path":"dependencies.zip"}'Svaret returnerer den nye kilden. Lagre dens
idsomSOURCE_IDfor forespørselen om innholdsopplasting.{ "id": "<sourceId> ", "sti": "avhengigheter.zip" } -
Start en innholdsopplasting for dependencies.zip -kilden. Inkluder-i forå vise svarhodene:curl -i -X POST \ "https://api.app.wdesk.com/scripts/${SCRIPT_ID}/sources/${SOURCE_ID}/contentUpload" \ -H "Godta: application/json" \ -H "Autorisering: Bærer $BEARER_TOKEN" \ -H "X-versjon: 2026-01-01"Lagre
uploadUrlfra svarteksten og operasjons-URL-en fra svarhodetLocation . -
Last opp dependencies.ziptil den returnerteuploadUrl :krøll -X PUT "<uploadurl> " \ -H "Autorisering: Bærer $BEARER_TOKEN" \ --data-binary @dependencies.zipDeretter avspør du operasjons-URL-en:
krøll -X GET "<operationlocation> " \ -H "Autorisering: Bærer $BEARER_TOKEN" \ -H "X-versjon: 2026-01-01"Følg svarhodet
Retry-Afterog gjenta avspørringsforespørselen tilstatuserfullført,mislykteselleravbrutt .Ikke kjør skriptet med mindre operasjonen er fullført. -
For å teste
requests -biblioteket, kjør et skript med følgende kode:importforespørsler print(requests.get('https://api.github.com').text)
Vanlige spørsmål
Hvilke API-er og biblioteker støttes?
Workiva Scripting støtter for øyeblikket:
- Workiva offentlige API-er
- Ikke-Workiva API-er
- Pythons standardbibliotek
- Python-pakkeindeksen (PyPI)
Workiva Scripting støtter bare Python for øyeblikket.
Hvis du vil vite mer, kan du se Workiva-støttesiden Støttede Workiva-skriptbiblioteker og -avhengigheter .
Hvilken versjon av Python brukes i Workiva-skripting?
Nye skript kjører på Python 3.13. Workiva Scripting støtter fortsatt eksisterende Python 3.9-skript, men støtten for Python 3.9 avsluttes i oktober 2027 – så du bør migrere alle Python 3.9-skript til Python 3.13 så snart som mulig.
Hvis du vil vite mer, kan du se Workivas støtteside Migrering av skript til Python 3.13 i Workiva .
Tilbyr Workiva API-klienter med populære språk som Python eller Java?
Vi tilbyr for øyeblikket ikke offentlige SDK-er for Python eller Java.
Vi tilbyr imidlertid åpne API-spesifikasjoner for Workiva API-er, slik at du kan generere disse bibliotekene selv. For eksempel kan du hente Workiva Platform API-ens OAS-fil og generere et klientbibliotek .
Finnes det skriptspesifikke API-er tilgjengelig?
Ja. Det offentlige skript-API-et er tilgjengelig via Workiva API-versjonen 2026-01-01. Send X-versjon: 2026-01-01 med hver forespørsel.
Se Scripting API-veiledningen for støttede operasjoner, omfang og krav.
Hvordan oppretter og viser jeg API-tildelinger for Workiva Public API-er?
Du må skaffe deg en klient-ID og en hemmelighet ved å følge instruksjonene her .
Hvordan autoriserer jeg meg til Workiva Public API-ene ved hjelp av Python?
Følgende eksempel henter et tilgangstoken og henter skriptene som er tilgjengelige for API-tilskuddet i arbeidsområdet. API-tildelingen krever omfanget script:read . For instruksjoner om hvordan du oppretter eller oppdaterer et API-tildelingsprosjekt, se Workiva API-oppsett .
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={ "Innholdstype": "application/x-www-form-urlencoded;charset=UTF-8", "X-versjon": 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"Bærer {token_response.json()['access_token']}", "X-versjon": API_VERSION, } scripts_response = requests.get( SCRIPTING_API_URL, headers=headers, timeout=30, ) scripts_response.raise_for_status() print(scripts_response.json()) Hent: * ...Hvordan oppdaterer jeg formatet på celler ved hjelp av Python?
Du kan oppdatere celleformatering fra et skript ved å kalle Workiva Platform APIs endepunkt Oppdater arkinnhold ( POST /spreadsheets/{spreadsheetId}/sheets/{sheetId}/update ).
-
Brukfeltet applyFormats for å bruke formater som fet skrift, tall- og valutaformatering og skyggelegging, og applyBordersforå bruke rammer. - Vi anbefaler at du samler flere formatoperasjoner i én forespørsel – hvert felt godtar en rekke operasjoner, og endepunktet er hastighetsbegrenset – i stedet for å sende én forespørsel per område.
For mer informasjon, se følgende Workiva-utviklersider:
Kan jeg lese/skrive eller laste opp filer som ikke er fra Workiva og som er lagret i Workiva?
Ja. Ved å bruke Workivas API-er for filhåndtering kan du laste opp filer som ikke er fra Workiva – for eksempel PDF-er, bilder eller andre vilkårlige filtyper – til plattformen som Støttedokumenter , som bevarer den opprinnelige filen som den er. For å laste opp en, bruk importfilens endepunkt med Støttedokumenter vises sammen med de andre Workiva-filene dine og kan listes opp, flyttes, kopieres, eksporteres (lastes ned) og kastes i papirkurven som alle andre filer.type satt til SupportingDocument .
Lær mer: Introduksjon til API-er for filbehandling
Kan jeg opprette og administrere automatiseringer programmatisk?
For øyeblikket finnes det ingen endepunkter tilgjengelig for å programmatisk opprette eller administrere automatiseringer.