Esecuzione delle funzioni di Apps Script

L'API Apps Script (e in precedenza l'API Apps Script Execution) ti consente di eseguire da remoto una funzione in un progetto di script a cui hai accesso. L'app può chiamare una determinata funzione Apps Script, fornendo i parametri di input, se necessario, e ricevere una risposta restituita.

Gli esempi in questa pagina illustrano come alcune operazioni di esecuzione comuni possono essere eseguite con l'API. Per ulteriori informazioni inclusi i requisiti di autorizzazione speciali, consulta la guida Esecuzione di una funzione.

In questi esempi, i segnaposto scriptId vengono utilizzati per indicare dove forniresti l'ID progetto di script. Per trovare l'ID script:

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

Esegue una funzione

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

Il protocollo di richiesta è mostrato di seguito. La guida relativa all'esecuzione delle funzioni mostra come implementare una richiesta di esecuzione in linguaggi diversi utilizzando le librerie client dell'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 chiamata della funzione Apps Script, 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 la 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
        }]
      }]
    }
  }
}