Como executar funções do Apps Script

Com a API Apps Script (antiga API Apps Script Execution), é possível executar remotamente uma função em um projeto de script a que você tem acesso. Seu app pode chamar uma determinada função do Apps Script, fornecendo parâmetros de entrada, se necessário, e receber uma resposta retornada.

Os exemplos nesta página ilustram como algumas operações de execução comuns podem ser realizadas com a API. Para mais informações, incluindo requisitos de autorização especiais, consulte o guia Como executar uma função.

Nesses exemplos, os marcadores scriptId são usados para indicar onde você forneceria o ID do projeto de script. Siga as etapas abaixo para encontrar o ID do script:

  1. No canto superior esquerdo do projeto do Apps Script, clique em Configurações do projeto .
  2. Ao lado de "ID do script", clique em Copiar.

Executar uma função

A solicitação scripts.run a seguir chama uma função do Apps Script chamada listFolderContent, passando o folderId do Drive e um MAX_SIZE do número inteiro como argumentos. A função é executada no modo de desenvolvimento, o que significa que a versão salva mais recentemente da função será executada, independentemente da versão implantada como executável.

Confira abaixo o protocolo da solicitação. O guia Como executar funções mostra como implementar uma solicitação de execução em diferentes linguagens usando as bibliotecas de cliente da API do Google.

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

A resposta a essa solicitação, depois que a função chamada do Apps Script é concluída, contém os resultados da execução ou uma resposta de erro. Neste exemplo, a função retorna com êxito uma matriz de nomes de arquivos:

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

Se a função encontrou um erro durante a execução do Apps Script, a resposta teria esta aparência:

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