Workiva ondersteunt zowel de standaardbibliotheek van Python als de Python Package Index (PyPI). Afhankelijkheden kunnen automatisch worden gegenereerd met behulp van de ingebouwde scripteditor of handmatig worden aangemaakt op uw lokale machine.
Workiva Scripting is inbegrepen bij Customize Workiva. Om scripting te gebruiken, moet de optie 'Workiva/Scripting aanpassen' in uw werkruimte zijn ingeschakeld en moeten gebruikers de juiste scriptingrol(len) en bestandsrechten hebben.
Ondersteunde bibliotheken
Workiva -scripts ondersteunen de standaardbibliotheek van Python direct ; u kunt de module eenvoudig in uw code importeren en ermee aan de slag gaan. Deze bibliotheek bevat ingebouwde modules die toegang bieden tot systeemfunctionaliteit zoals bestands-I/O, evenals vele gestandaardiseerde oplossingen voor veelvoorkomende programmeerproblemen.
Naast de standaardbibliotheek is er een groeiende verzameling componenten beschikbaar via de Python Package Index . Je moet de afhankelijkheden, inclusief de PyPI-componenten die je wilt gebruiken, in je script genereren.
Een van de PyPI-componenten die we vaak gebruiken, is de "requests"-component, waarmee je via de Workiva Public APIs kunt communiceren met het Workiva-platform.
Opmerking : PyPI-componenten die aanvullende installaties vereisen, worden mogelijk niet ondersteund.
Genereer afhankelijkheden met de scripteditor.
De scripteditor kan uw afhankelijkheden automatisch compileren.
Zo doe je dat:
- Vanuit Home , open een scriptbestand (of maak een nieuw bestand aan).
- Ga naar het paneel Bronnen aan de linkerkant, klik met de rechtermuisknop in de lege ruimte net onder de huidige bronnen en selecteer + Bronbestand toevoegen .
- Maak een nieuwe bron met de naam: requirements.txt .
- Voeg in het midden van het canvas een regel toe waarin de te installeren bibliotheek en versie worden gespecificeerd. (Dit is de regel requests==2.28.1 in de onderstaande voorbeeldafbeelding.)
- Klik op Opslaan linksboven.
- Vernieuw je scherm. Sla deze stap niet over!
Na het opslaan en vernieuwen genereert Workiva automatisch een afhankelijkheidsbundel met de naam dependencies.zip. Je kunt de bibliotheek nu in je code gebruiken.
Genereer afhankelijkheden vanaf uw lokale machine.
Om handmatig afhankelijkheden aan te maken, moet u lokaal een pakket bouwen en dit uploaden naar de scripteditor. U kunt bijvoorbeeld een project hebben dat toegang nodig heeft tot de bibliotheek "requests" om een script uit te voeren:
import requests print (requests.get('https://api.github.com').text) Dit kan gedaan worden met behulp van een pip -compatibele pakketbeheerder:
-
Definieer de versie van de
requestsbibliotheek waartoe toegang moet worden verkregen in een pip-compatibel formaat; deze moet worden opgeslagen alseen .txtbestand:echo requests==2.28.1 > requirements.txt -
Installeer de afhankelijkheid in een nieuwe map dependencies :
pip3 install --target ./dependencies --requirement requirements.txt -
Maak een
dependencies.zipbestand aan:cd dependencies zip -r ../dependencies.zip . cd .. -
Vraag een toegangstoken aan:
Voordat je begint, zorg ervoor dat je API-toekenning de scope
script:write bevat. Voor instructies over het aanmaken of bijwerken van een API-toekenning, zie 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"Haal de
access_tokenuit het antwoord en gebruik deze als$BEARER_TOKENhieronder. -
Maak in je Workiva Scripting-project een nieuwe bron aan voor
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"}'Het antwoord retourneert de nieuwe bron. Sla de
id opalsSOURCE_IDvoor het content-upload verzoek.{ "id": "<sourceId> ", "pad": "dependencies.zip" } -
Start een contentupload voor de
dependencies.zipbron. Voeg-i toeom de antwoordheaders weer te geven: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"Sla de
uploadUrluit de response body en de operation URL uit deLocationresponse header op. -
Upload
dependencies.zipnaar de geretourneerdeuploadUrl :curl -X PUT "<uploadurl> " \ -H "Authorization: Bearer $BEARER_TOKEN" \ --data-binary @dependencies.zipVervolgens kunt u de URL van de bewerking opvragen:
curl -X GET "<operationlocation> " \ -H "Autorisatie: Drager $BEARER_TOKEN" \ -H "X-versie: 2026-01-01"Respecteer de
Retry-After -antwoordheader en herhaal het pollingverzoek totdatstatusiscompleted,failed, ofcancelled .Voer het script pas uit nadat de bewerking succesvol is afgerond. -
Om de
requestsbibliotheek te testen, voert u een script uit met de volgende code:import requests print(requests.get('https://api.github.com').text)
veelgestelde vragen|FAQ
Welke API's en bibliotheken worden ondersteund?
Workiva Scripting ondersteunt momenteel:
- Workiva openbare API's
- Niet-Workiva API's
- De standaardbibliotheek van Python
- De Python Package Index (PyPI)
Workiva Scripting ondersteunt momenteel alleen Python.
Welke versie van Python wordt gebruikt in Workiva Scripting?
Nieuwe scripts draaien op Python 3.13. Workiva Scripting ondersteunt nog steeds bestaande Python 3.9-scripts, maar de ondersteuning voor Python 3.9 eindigt in oktober 2027. Het is daarom raadzaam om alle Python 3.9-scripts zo snel mogelijk te migreren naar Python 3.13.
Voor meer informatie, zie de Workiva-ondersteuningspagina Scripts migreren naar Python 3.13 in Workiva .
Biedt Workiva API-clients aan die populaire programmeertalen zoals Python of Java ondersteunen?
We bieden momenteel geen openbare SDK's aan voor Python of Java.
We bieden echter open API-specificaties voor Workiva API's, zodat u deze bibliotheken zelf kunt genereren. U kunt bijvoorbeeld het OAS-bestand van de Workiva Platform API verkrijgen en een clientbibliotheek genereren .
Zijn er scriptspecifieke API's beschikbaar?
Ja. De openbare Scripting API is beschikbaar via de Workiva API-versie van 2026-01-01. Stuur bij elk verzoek X-Version: 2026-01-01 mee.
Zie de Scripting API-handleiding voor ondersteunde bewerkingen, bereiken en vereisten.
Hoe kan ik API-toestemmingen voor de openbare Workiva API's aanmaken en bekijken?
Je moet een client-ID en een geheim verkrijgen door de instructies hier te volgen.
Hoe krijg ik toegang tot de openbare Workiva API's met Python?
Het volgende voorbeeld verkrijgt een toegangstoken en haalt de scripts op die toegankelijk zijn voor de API-grant in de bijbehorende werkruimte. De API-toekenning vereist het script:read bereik. Voor instructies over het aanmaken of bijwerken van een API-toekenning, zie 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())Hoe kan ik de opmaak van cellen bijwerken met Python?
Je kunt de celopmaak vanuit een script bijwerken door het eindpunt Update sheet content van de Workiva Platform API aan te roepen ( POST /spreadsheets/{spreadsheetId}/sheets/{sheetId}/update ).
-
Gebruik hette passen.veld applyFormats om opmaak zoals vetgedrukt, getal- en valutaopmaak en arcering toe te passen, en applyBorders om randen toe - We raden aan om meerdere opmaakbewerkingen te bundelen in één verzoek — elk veld accepteert een reeks bewerkingen en het eindpunt heeft een snelheidslimiet — in plaats van één verzoek per bereik te verzenden.
Raadpleeg voor meer informatie de volgende Workiva-ontwikkelaarspagina's:
Kan ik bestanden die niet van Workiva zijn, maar wel in Workiva zijn opgeslagen, lezen/schrijven of uploaden?
Ja. Met behulp van de Files Management API's van Workiva kunt u bestanden die niet van Workiva zijn – zoals pdf's, afbeeldingen of andere willekeurige bestandstypen – uploaden naar het platform als Ondersteunende documenten , waarbij het originele bestand ongewijzigd blijft. Om er een te uploaden, gebruikt u het importbestand-eindpunt met kind ingesteld op SupportingDocument . Ondersteunende documenten verschijnen naast uw andere Workiva-bestanden en kunnen, net als elk ander bestand, worden weergegeven, verplaatst, gekopieerd, geëxporteerd (gedownload) en verwijderd.
Meer informatie: Inleiding tot API's voor bestandsbeheer
Kan ik programmatisch automatiseringen aanmaken en beheren?
Op dit moment zijn er geen eindpunten beschikbaar om programmatisch automatiseringen te creëren of te beheren.