Administración de proyectos

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 realizar algunas operaciones comunes de administración de proyectos con la API.

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

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

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

Crea un nuevo proyecto de Apps Script

El siguiente archivo projects.create crea una nueva secuencia de comandos independiente.

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

Cómo recuperar metadatos del proyecto

El siguiente archivo projects.get obtiene los metadatos del proyecto de la secuencia de comandos.

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

La respuesta consta de un objeto. como esta:

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

Recupera archivos de proyecto

El siguiente comando projects.getContent obtiene el contenido del proyecto de secuencia de comandos, incluidos el código fuente y metadatos para cada archivo de secuencia de comandos.

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

La respuesta consta de un elemento Content objeto 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

El siguiente archivo projects.updateContent request actualiza el contenido del proyecto de secuencia de comandos especificado. Este contenido es se almacena como la versión HEAD y se utiliza cuando la secuencia de comandos se ejecuta como una API ejecutable.

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