Administración de proyectos

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

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

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

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

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

Cree un nuevo proyecto de Apps Script

La siguiente solicitud projects.create crea una nueva secuencia de comandos independiente.

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

Recuperar metadatos del proyecto

La siguiente solicitud projects.get obtiene los metadatos del proyecto.

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

La respuesta consta de un objeto como este:

{
  "scriptId": "scriptId",
  "title": "My Title",
  "parentId": "parentId",
  "projectOrigin": "APPS_SCRIPT_IDE",
  "cloudProject": "cloudProject",
  "encryptedCloudProjectToken": "token",
  "securityZone": "STANDARD",
  "createTime": "2017-10-02T15:01:23.045123456Z",
  "updateTime": "2017-10-02T15:01:23.045123456Z",
  "creator": { "name": "Grant" },
  "lastModifyUser": { "name": "Grant" },
}

Recuperar archivos del proyecto

La siguiente solicitud projects.getContent obtiene el contenido del proyecto de la secuencia de comandos, lo que incluye la fuente del código y los metadatos de cada archivo.

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

La respuesta consta de un objeto Content como este:

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

Actualizar 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 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 este:

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