Workiva har support för både Pythons standardbibliotek och Python Package Index (PyPI). Beroenden kan genereras automatiskt med hjälp av den inbyggda skriptredigeraren eller skapas manuellt på din lokala maskin.
Workiva-skript ingår i Anpassa Workiva. För att använda skript måste din arbetsyta ha Anpassa Workiva/skript aktiverat, och användarna behöver lämpliga skriptroller och filbehörigheter.
Bibliotek som stöds
Workiva-skript stöder Pythons standardbibliotek direkt; du kan helt enkelt importera modulen i din kod och börja använda den. Det här biblioteket innehåller inbyggda moduler som ger åtkomst till systemfunktioner som t.ex. arkivering, samt många standardiserade lösningar på vanliga programmeringsproblem.
Förutom standardbiblioteket finns det en växande samling komponenter tillgängliga från Python Package Index . Du måste generera beroendena i ditt skript som inkluderar de PyPI-komponenter du vill använda.
En av PyPI-komponenterna som vi vanligtvis använder är "requests"-komponenten, som låter dig interagera med Workiva-plattformen via Workivas offentliga API:er .
Obs : PyPI-komponenter som kräver ytterligare installationer kanske inte stöds.
Skapa beroenden med skriptredigeraren
Skriptredigeraren kan automatiskt bygga dina beroenden.
Så här gör du:
- Från Startsidan , öppna en skriptfil (eller skapa en ny).
- Gå till panelen Källor på vänster sida, högerklicka i det tomma utrymmet precis under de aktuella källorna och välj + Lägg till källfil .
- Skapa en ny källa med namnet: requirements.txt .
- Lägg till en rad i mittfältet som anger vilket bibliotek och vilken version som ska installeras. (Detta är raden requests==2.28.1 i exempelbilden nedan.)
- Klicka på Spara längst upp till vänster.
- Ladda om din skärm. Hoppa inte över det här steget!
När det har sparats och uppdaterats genererar Workiva automatiskt ett beroendepaket som heter dependencies.zip. Du kan nu använda biblioteket i din kod.
Generera beroenden från din lokala maskin
Om du vill skapa beroenden manuellt måste du bygga ett paket lokalt och ladda upp det till skriptredigeraren. Du kan t.ex. ha ett projekt som behöver åtkomst till biblioteket "requests" för att köra ett skript:
import requests print (requests.get('https://api.github.com').text) Detta kan göras med hjälp av en pip-kompatibel pakethanterare:
-
Definiera versionen av förfrågningsbiblioteket som ska åtkommas som ett pip-kompatibelt format; det ska sparas somen .txt- fil:echo requests==2.28.1 > krav.txt -
Installera beroendet i en ny beroendekatalog :
pip3 installera --target ./dependencies --requirement requirements.txt -
Skapa en
dependencies.zip-fil:cd beroenden zip -r ../dependencies.zip . cd .. -
Begär en åtkomsttoken:
Innan du börjar, se till att ditt API-tillstånd inkluderar
script:write- omfånget. För instruktioner om hur du skapar eller uppdaterar ett API-tillstånd, se Workiva API-konfiguration .curl -X POST https://api.app.wdesk.com/oauth2/token \ -H "Innehållstyp: application/x-www-form-urlencoded;charset=UTF-8" \ -H "Acceptera: application/json" \ -H "X-version: 2026-01-01" \ -d "client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET&grant_type=client_credentials"Hämta
access_tokenfrån svaret och använd den som$BEARER_TOKENnedan. -
I ditt Workiva Scripting-projekt, skapa en ny källa för
dependencies.zip:curl -X POST "https://api.app.wdesk.com/scripts/${SCRIPT_ID}/sources" \ -H "Innehållstyp: application/json" \ -H "Acceptera: application/json" \ -H "Auktorisering: Bearer $BEARER_TOKEN" \ -H "X-version: 2026-01-01" \ -d '{"path":"dependencies.zip"}'Svaret returnerar den nya källan. Spara dess
IDsomSOURCE_IDför begäran om innehållsuppladdning.{ "id": " "<sourceId>, "sökväg": "beroenden.zip" } -
Initiera en innehållsuppladdning för
dependencies.zip-källan. Inkludera-i för att visa svarsrubrikerna:curl -i -X POST \ "https://api.app.wdesk.com/scripts/${SCRIPT_ID}/sources/${SOURCE_ID}/contentUpload" \ -H "Acceptera: application/json" \ -H "Auktorisering: Bearer $BEARER_TOKEN" \ -H "X-version: 2026-01-01"SparauploadUrlfrån svarstexten och åtgärds-URL:en från platssvarsrubriken . -
Ladda upp
dependencies.ziptill den returneradeuploadUrl:curl -X PUT " " <uploadurl>\ -H "Auktorisering: Bärare $BEARER_TOKEN" \ --data-binary @dependencies.zipAvsök sedan operations-URL:en:
curl -X GET " " <operationlocation>\ -H "Auktorisering: Bärare $BEARER_TOKEN" \ -H "X-version: 2026-01-01"Respektera svarsrubriken förRetry-Afteroch upprepa pollingbegäran tillsstatusenärslutförd, misslyckad elleravbruten. Kör inte skriptet om inte åtgärden har slutförts. -
För att testa förfrågningsbiblioteket , kör ett skript med följande kod:importförfrågningar print(requests.get('https://api.github.com').text)
VANLIGA FRÅGOR
Vilka API:er och bibliotek har support?
Workiva Scripting har för närvarande support:
- Workivas publika API:er
- Icke-Workiva API:er
- Pythons standardbibliotek
- Python-paketindexet (PyPI)
Workiva Scripting stöder endast Python för närvarande.
För mer information, se Workivas supportsida Workiva-skriptbibliotek och beroenden som stöds .
Vilken version av Python används i Workiva Scripting?
Nya skript körs på Python 3.13. Workiva Scripting stöder fortfarande befintliga Python 3.9-skript, men stödet för Python 3.9 upphör i oktober 2027 – så du bör migrera alla Python 3.9-skript till Python 3.13 så snart som möjligt.
För mer information, se Workivas supportsida Migrera skript till Python 3.13 i Workiva .
Erbjuder Workiva API-klienter med populära språk som Python eller Java?
Vi tillhandahåller för närvarande inga offentliga SDK:er för Python eller Java.
Vi tillhandahåller dock öppna API-specifikationer för Workiva API:er så att du kan skapa dessa bibliotek själv. Du kan till exempel hämta Workiva Platform API:s OAS-fil och generera ett klientbibliotek .
Finns det skriptspecifika API:er tillgängliga?
Ja. Det publika skript-API:et är tillgängligt via Workiva API-versionen från 2026-01-01. Skicka X-version: 2026-01-01 med varje förfrågan.
Se guiden för Scripting API för information om vilka åtgärder, omfattningar och krav som stöds.
Hur skapar jag och visar API- beviljande för Workiva Public API:er?
Du behöver få ett klient-ID och en hemlighet genom att följa instruktionerna här .
Hur auktoriserar jag mig till Workiva Public API:er med hjälp av Python?
Följande exempel hämtar en åtkomsttoken och hämtar de skript som är tillgängliga för API-tilldelningen i dess arbetsyta. API-tilldelningen kräver script:read- omfånget. För instruktioner om hur du skapar eller uppdaterar ett API-tillstånd, se Workiva API-konfiguration .
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={ "Innehållstyp": "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 = { "Auktorisering": Behörighet: ... 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()) Hur uppdaterar jag formatet för celler med Python?
Du kan uppdatera cellformatering från ett skript genom att anropa Workiva Platform API:s slutpunkt för uppdatering av arkinnehåll ( POST /spreadsheets/{spreadsheetId}/sheets/{sheetId}/update ).
-
Användfältet applyFormats för att tillämpa format som fetstil, siffer- och valutaformatering samt skuggning,och applyBorders för att tillämpa kantlinjer. - Vi rekommenderar att du gruppvis skickar flera formatåtgärder till en enda begäran – varje fält accepterar en array med åtgärder och slutpunkten är hastighetsbegränsad – snarare än att skicka en begäran per intervall.
För mer information, se följande Workiva-utvecklarsidor:
Kan jag läsa/skriva eller ladda upp arkiveringar som inte finns i Workiva och som lagras i Workiva?
Ja. Med hjälp av Workivas API:er för filhantering kan du ladda upp filer som inte är från Workiva – som PDF-filer, bilder eller andra godtyckliga filtyper – till plattformen som stöddokument , vilket bevarar originalfilen i befintligt skick. För att ladda upp en, använd importfilens slutpunkt med Stöddokument visas tillsammans med dina andra Workiva-filer och kan listas, flyttas, kopieras, exporteras (laddas ner) och slängas i papperskorgen precis som vilken annan fil som helst.typen inställd på SupportingDocument .
Läs mer: Introduktion till API:er för filhantering
Kan jag skapa och hantera automatiseringar på ett programmatiskt sätt?
För närvarande finns det inga endpoints tillgängliga för att programmatiskt skapa eller hantera automatiseringar.