Workiva supporta sia la libreria standard di Python che il Python Package Index (PyPI). Le dipendenze possono essere generate automaticamente utilizzando l'editor di script integrato o create manualmente sul tuo computer locale.
Workiva Scripting è incluso in Customize Workiva. Per poter utilizzare lo scripting, nell'area di lavoro deve essere abilitata l'opzione "Personalizza Workiva/Scripting" e gli utenti devono disporre dei ruoli di scripting appropriati e delle autorizzazioni sui file.
Librerie supportate
Gli script di Workiva supportano la libreria standard di Python in modo immediato; puoi semplicemente importare il modulo nel tuo codice e iniziare a usarlo. Questa libreria contiene moduli integrati che forniscono l'accesso a funzionalità di sistema come l'I/O dei file, oltre a molte soluzioni standardizzate per problemi di programmazione comuni.
Oltre alla libreria standard, c'è una collezione crescente di componenti disponibili all'indirizzo Python Package Index. Dovrai generare nel tuo script le dipendenze che includono i componenti PyPI che vuoi utilizzare.
Uno dei componenti PyPI che utilizziamo comunemente è il componente "requests", che ti permette di interagire con la piattaforma Workiva attraverso le API pubbliche di Workiva.
Nota: I componenti PyPI che richiedono installazioni aggiuntive potrebbero non essere supportati.
Generare le dipendenze con l'editor di script
L'editor di script può creare automaticamente le tue dipendenze.
Ecco come fare:
- Da Home, apri un file di script (o creane uno nuovo).
- Vai al pannello Sources sul lato sinistro, clicca con il tasto destro del mouse nello spazio vuoto appena sotto le fonti correnti e seleziona + Add Source File.
- Crea un nuovo sorgente chiamato: requirements.txt.
- Nell'area di disegno centrale, aggiungi una riga che specifichi la libreria e la versione da installare. (Si tratta della riga “ requests==2.28.1 ” riportata nell’immagine di esempio qui sotto.)
- Clicca su Salva in alto a sinistra.
- Ricarica la schermata. Non saltare questo passaggio!
Una volta salvato e aggiornato, Workiva genera automaticamente un bundle di dipendenze chiamato dependencies.zip. Ora puoi utilizzare la libreria nel tuo codice.
Generare le dipendenze dal computer locale
Per creare manualmente le dipendenze, devi creare un pacchetto in locale e caricarlo nell'editor di script. Ad esempio, potresti avere un progetto che ha bisogno di accedere alla libreria "requests" per eseguire uno script:
import requests print (requests.get('https://api.github.com').text) Questo può essere fatto cone un gestore di pacchetti compatibile con pip:
-
Definire la versione della libreria
requests a cui accedere in un formato compatibile con pip; ilfile deve essere salvatocome .txt :echo requests==2.28.1 > requirements.txt -
Installa la dipendenza in una nuova directory " " all'interno della directory " ":
pip3 install --target ./dependencies --requirement requirements.txt -
Creare un file " " e un file "
dependencies.zip" all'indirizzo :cd dependencies zip -r ../dependencies.zip . cd .. -
Richiedi un token di accesso:
Prima di iniziare, assicurati che la tua autorizzazione API includa l'ambito
script:write . Per istruzioni su come creare o aggiornare un'autorizzazione API, consultare Configurazione dell'API di Workiva .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"Recupera
l'access_tokendalla risposta e utilizzalo come$BEARER_TOKEN nel codice riportato diseguito. -
Nel tuo progetto Workiva Scripting, crea una nuova fonte per il file "
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"}'La risposta restituisce la nuova sorgente. Salva il suo
IDcomeSOURCE_IDper la richiesta di caricamento dei contenuti.{ "id": "<sourceId>", "path": "dependencies.zip" } -
Avvia il caricamento dei contenuti per il codice sorgente
dependencies.zip . Includere-iper visualizzare le intestazioni della risposta: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"Salva l'URL
uploadUrldal corpo della risposta e l'URL dell'operazione dall'intestazione della rispostaLocation . -
Carica il file
dependencies.zip all'indirizzodi upload restituitouploadUrl :curl -X PUT "<uploadurl>" \ -H "Authorization: Bearer $BEARER_TOKEN" \ --data-binary @dependencies.zipQuindi interrogare l'URL dell'operazione:
curl -X GET "<operationlocation>" \ -H "Authorization: Bearer $BEARER_TOKEN" \ -H "X-Version: 2026-01-01"Rispettare l'intestazione di risposta "
Retry-After" e ripetere la richiesta di polling finoa quando lostato non risulti,completatofallito oannullato .Non eseguire lo script a meno che l'operazione non venga completata con successo. -
Per testare la libreria , che gestisce le
richieste all' , esegui uno script con il seguente codice:import requests print(requests.get('https://api.github.com').text)
Domande frequenti
Quali API e librerie sono supportate?
Workiva Scripting supporta attualmente:
- API pubbliche Workiva
- API non Workiva
- Libreria standard di Python
- Indice dei pacchetti Python (PyPI)
Al momento, Workiva Scripting supporta solo Python.
Per ulteriori informazioni, consulta la pagina di assistenza di Workiva e le librerie di scripting e le dipendenze supportate da Workiva .
Quale versione di Python viene utilizzata in Workiva Scripting?
I nuovi script funzionano con Python 3.13. Workiva Scripting continua a supportare gli script esistenti scritti in Python 3.9, ma il supporto per Python 3.9 terminerà nell'ottobre 2027; pertanto, è consigliabile migrare quanto prima tutti gli script scritti in Python 3.9 a Python 3.13.
Per ulteriori informazioni, consulta la pagina di assistenza di Workiva Migrazione degli script a Python 3.13 in Workiva .
Workiva fornisce client API per linguaggi popolari come Python o Java?
Al momento non forniamo SDK pubblici per Python o Java.
Tuttavia, forniamo specifiche API aperte per le API di Workiva in modo che tu possa generare queste librerie da solo. Ad esempio, puoi ottenere il file OAS di Workiva Platform API e generare una libreria client.
Sono disponibili API specifiche per lo scripting?
Sì. L'API di scripting pubblica è disponibile a partire dalla versione 2026-01-01 dell'API di Workiva. Invia "X-Version: 2026-01-01" con ogni richiesta.
Per informazioni sulle operazioni supportate, gli ambiti di applicazione e i requisiti, consultare la guida all’API di scripting di all’indirizzo .
Come si creano e si visualizzano le sovvenzioni API per le API pubbliche di Workiva?
Devi ottenere un ID cliente e un segreto seguendo le istruzioni qui.
Come faccio ad autorizzare le API pubbliche di Workiva utilizzando Python?
L'esempio seguente ottiene un token di accesso e recupera gli script accessibili tramite l'autorizzazione API nel proprio spazio di lavoro. La concessione dell'API richiede l'ambito script:read . Per istruzioni su come creare o aggiornare un'autorizzazione API, consultare Configurazione dell'API di Workiva .
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())Come posso aggiornare il formato delle celle utilizzando Python?
È possibile aggiornare la formattazione delle celle tramite uno script richiamando l'endpoint " " dell'API della piattaforma Workiva per l'aggiornamento del contenuto del foglio di lavoro ( POST /spreadsheets/{spreadsheetId}/sheets/{sheetId}/update ).
- Utilizza il campo `
applyFormats ` per applicare formattazioni quali grassetto, formattazione di numeri e valute e ombreggiatura, e `applyBorders `per applicare i bordi. - Ti consigliamo di raggruppare più operazioni di formattazione in un'unica richiesta — ogni campo accetta un array di operazioni e l'endpoint è soggetto a limiti di frequenza — anziché inviare una richiesta per ogni intervallo.
Per ulteriori informazioni, consultare le seguenti pagine di Workiva dedicate agli sviluppatori:
Posso leggere/scrivere o caricare file non Workiva archiviati in Workiva?
Sì. Utilizzando le API di gestione dei file di Workiva, è possibile caricare file non Workiva — come PDF, immagini o altri tipi di file arbitrari — sulla piattaforma come Supporting Documents , che conservano il file originale così com’è. Per caricarne uno, utilizzare l'endpoint di importazione file con , tipo impostato su e SupportingDocument . I documenti di supporto vengono visualizzati insieme agli altri file di Workiva e possono essere visualizzati nell'elenco, spostati, copiati, esportati (scaricati) ed eliminati come qualsiasi altro file.
Per saperne di più: Introduzione alle API per la gestione dei file
Posso creare e gestire le automazioni in modo programmatico?
Al momento non sono disponibili endpoint per creare o gestire le automazioni in modo programmatico.