Administración de proyectos

La API de Apps Script te permite crear y modificar proyectos de Apps Script desde tu app. En los ejemplos de esta página, se muestra cómo se pueden realizar algunas operaciones comunes de administración de proyectos con la API.

NOTA: La API de Apps Script debe estar habilitada antes de usarla.

En estos ejemplos, los marcadores de posición scriptId se usan para indicar dónde proporcionarías el ID del proyecto de la secuencia de comandos. Sigue los pasos que se indican a continuación para encontrar el ID de la secuencia de comandos:

  1. En el proyecto de Apps Script, en la parte superior izquierda, haz clic en Configuración del proyecto .
  2. Junto a "ID de la secuencia de comandos", haz clic en Copiar.

Cree un nuevo proyecto de Apps Script

Con la siguiente solicitud projects.create, se crea una secuencia de comandos independiente nueva.

POST https://scriptmanagement.googleapis.com/v1/projects/
{
  "title": "My Script"
}

Recupera metadatos del proyecto

Con la siguiente solicitud projects.get, se obtienen los metadatos del proyecto de la secuencia de comandos.

GET https://scriptmanagement.googleapis.com/v1/projects/scriptId

La respuesta consta de un objeto como el siguiente:

{
  "scriptId": "scriptId",
  "title": "My Title",
  "parentId": "parentId",
  "createTime": "2017-10-02T15:01:23.045123456Z",
  "updateTime": "2017-10-02T15:01:23.045123456Z",
  "creator": { "name": "Grant" },
  "lastModifyUser": { "name": "Grant" },
}

Cómo recuperar archivos del proyecto

Con la siguiente solicitud projects.getContent, se obtiene el contenido del proyecto de la secuencia de comandos, incluidos la fuente del código y los metadatos de cada archivo de secuencia de comandos.

GET https://scriptmanagement.googleapis.com/v1/projects/scriptId/content

La respuesta consta de un objeto Content, como el siguiente:

{
  "scriptId": "scriptId",
  "files": [{
    "name": "My Script",
    "type": "SERVER_JS",
    "source": "function hello(){\nconsole.log('Hello world');}",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z",
    "functionSet": {
      "values": [
        "name": "helloWorld"
      ]
    }
  }, {
    "name": "appsscript",
    "type": "JSON",
    "source": "{\"timeZone\":\"America/New_York\",\"exceptionLogging\":\"CLOUD\"}",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z"
  }]
}

Actualiza los archivos del proyecto

La siguiente solicitud projects.updateContent actualiza el contenido del proyecto de secuencia de comandos especificado. Este contenido se almacena como la versión HEAD y se usa cuando la secuencia de comandos se ejecuta como un proyecto ejecutable de la API.

PUT https://scriptmanagement.googleapis.com/v1/projects/scriptID/content
{
  "files": [{
    "name": "index",
    "type": "HTML",
    "source": "<html> <header><title>HTML Page</title></header> <body> My HTML </body> </html>"
  }, {
    "name": "My Script",
    "type": "SERVER_JS",
    "source": "function hello(){\nconsole.log('Hello world');}",
  }, {
    "name": "appsscript",
    "type": "JSON",
    "source": "{\"timeZone\":\"America/New_York\",\"exceptionLogging\":\"CLOUD\"}",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z"
  }]
}

La respuesta consta de un objeto Content, como el siguiente:

{
  "scriptId": "scriptId",
  "files": [{
    "name": "index",
    "type": "HTML",
    "source": "<html> <header><title>HTML Page</title></header> <body> My HTML </body> </html>",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z"
  }, {
    "name": "My Script",
    "type": "SERVER_JS",
    "source": "function hello(){\nconsole.log('Hello world');}",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z",
    "functionSet": {
      "values": [
        "name": "helloWorld"
      ]
    }
  }, {
    "name": "appsscript",
    "type": "JSON",
    "source": "{\"timeZone\":\"America/New_York\",\"exceptionLogging\":\"CLOUD\"}",
    "lastModifyUser": {
      "name": "Grant",
      "email": "grant@example.com",
    },
    "createTime": "2017-10-02T15:01:23.045123456Z",
    "updateTime": "2017-10-02T15:01:23.045123456Z"
  }]
}