Esecuzione delle funzioni di Apps Script

L'API Apps Script (in precedenza API Apps Script Execution) ti 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 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 Eseguire una funzione.

In questi esempi, i segnaposto scriptId vengono utilizzati per indicare dove fornire l'ID progetto dello script. Segui i passaggi riportati di seguito 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, passando come argomenti folderId di Drive e un numero intero MAX_SIZE. La funzione viene eseguita in modalità di sviluppo, il che significa che viene eseguita la versione salvata più di recente della funzione, indipendentemente dalla versione di cui viene eseguito il deployment come file eseguibile.

Il protocollo di richiesta è mostrato di seguito. La guida sulle funzioni di esecuzione descrive come implementare una richiesta di esecuzione in diversi linguaggi utilizzando le librerie client dell'API Google.

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

La risposta a questa richiesta, al termine dell'esecuzione della funzione 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 rilevato un errore durante l'esecuzione di Apps Script, la risposta potrebbe avere il seguente aspetto:

{
  "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
        }]
      }]
    }
  }
}