Eseguire funzioni Google Apps Script

L'API Google Apps Script consente di eseguire da remoto una funzione in un progetto di script a cui hai accesso. La tua app può chiamare una determinata funzione di Apps Script, fornendo i parametri di input, se necessario, e ricevere una risposta.

Gli esempi in questa pagina illustrano come eseguire le operazioni di esecuzione comuni con l'API. Per saperne di più, inclusi i requisiti di autorizzazione speciali, consulta la guida Eseguire una funzione.

In questi esempi, i segnaposto scriptId vengono utilizzati per indicare dove fornire l'ID del progetto di script. Segui questi passaggi per trovare l'ID script:

  1. Nel progetto Apps Script, in alto a sinistra, fai clic su Impostazioni progetto .
  2. Accanto a "ID script", fai clic su Copia.

Esegue una funzione

La seguente richiesta scripts.run chiama una funzione di Apps Script denominata listFolderContent, passandogli l'ID della cartella di Google Drive e un numero intero MAX_SIZE come argomenti.folderId La funzione viene eseguita in modalità di sviluppo, il che significa che viene eseguita la versione della funzione salvata più di recente, indipendentemente dalla versione di cui è stato eseguito il deployment come eseguibile.

Di seguito è riportato il protocollo di richiesta. La guida Eseguire funzioni mostra come implementare una richiesta di esecuzione in diverse lingue utilizzando le librerie client delle API di Google.

POST https://script.googleapis.com/v1/scripts/scriptId:run
{
  "function": "listFolderContent",
  "parameters": [
    folderId,
    MAX_SIZE
  ],
  "devMode": true
}

La risposta a questa richiesta, una volta completata la funzione di Apps Script chiamata, contiene i risultati dell'esecuzione o una risposta di errore. In questo esempio, la funzione restituisce correttamente un array di nomi di file:

{
  "response": {
    "result": [
      "fileTitle1",
      "fileTitle2",
      "fileTitle3"
    ]
  },
}

Se la funzione ha riscontrato un errore durante l'esecuzione di Apps Script, la risposta potrebbe essere simile alla seguente:

{
  "response": {
    "error": {
      "code": 3,
      "message": "ScriptError",
      "details": [{
        "@type": "type.googleapis.com/google.apps.script.v1.ExecutionError",
        "errorMessage": "The script enountered an exeception it could not resolve.",
        "errorType": "ScriptError",
        "scriptStackTraceElements": [{
          "function": "listFolderContent",
          "lineNumber": 14
        }]
      }]
    }
  }
}