Como executar funções do Apps Script

A API Apps Script (antes chamada de API Execution do Apps Script) permite 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.

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 especiais de autorização, consulte o guia Como executar uma função.

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

  1. No projeto do Apps Script, no canto superior esquerdo, 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, transmitindo o folderId do Drive e um número inteiro MAX_SIZE como argumentos. A função é executada no modo de desenvolvimento, o que significa que a versão mais recente salva da função é executada, independentemente de qual versão é implantada como um executável.

O protocolo de solicitação é mostrado abaixo. O guia Como executar funções mostra como implementar uma solicitação de execução em diferentes idiomas 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 uma matriz de nomes de arquivos:

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

Se a função encontrar um erro durante a execução do Apps Script, a resposta poderá ser semelhante a esta:

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