Como executar funções do Apps Script

A API Apps Script (e antes a API Apps Script Execution) 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 retornada.

Os exemplos nesta página mostram 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 Executar uma função.

Nesses exemplos, o marcador de posição scriptId é usado para indicar onde você forneceria o ID do projeto de script. Siga as etapas abaixo para encontrar o ID do script:

  1. No projeto do Apps Script, clique em Configurações do projeto no canto superior esquerdo.
  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 a ela o folderId do Drive e um número inteiro MAX_SIZE como argumentos. A função é executada no modo de desenvolvimento, ou seja, a versão salva mais recentemente é executada, independente da versão implantada como um executável.

O protocolo de solicitação é mostrado abaixo. O guia Execução de 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 do Apps Script chamada é 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 assim:

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