Eseguire funzioni Google Apps Script

L'API Google Apps Script 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 Apps Script, fornendo i parametri di input, se necessario, e ricevere una risposta.

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

In questi esempi, il segnaposto scriptId viene utilizzato 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, in alto a sinistra, fai clic su Impostazioni progetto .
  2. Accanto a "ID script", fai clic su Copia.

Esegue una funzione

La seguente chiamata di richiesta scripts.run chiama una funzione Apps Script denominata listFolderContent, passandole Google Drive folderId e un numero intero MAX_SIZE come argomenti. 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 è stato eseguito il deployment come eseguibile.

Il protocollo di richiesta è mostrato di seguito. La guida Esegui funzioni mostra come implementare una richiesta di esecuzione in diverse lingue utilizzando le librerie client 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 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
        }]
      }]
    }
  }
}