Project management

L'API Google Apps Script consente di creare e modificare progetti Google Apps Script dalla tua app. Gli esempi in questa pagina mostrano come è possibile eseguire le operazioni di gestione dei progetti più comuni con l'API.

Per utilizzare l'API, devi prima abilitarla.

In questi esempi, il segnaposto scriptId viene utilizzato per indicare dove fornire l'ID progetto dello script. Segui i passaggi riportati di seguito per trovare l'ID script:

  1. Nel progetto Apps Script, in alto a sinistra, fai clic su Impostazioni progetto .
  2. Accanto a "ID script", fai clic su Copia.

Crea un nuovo progetto Apps Script

La seguente richiesta projects.create crea un nuovo script autonomo.

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

Recupera i metadati di progetto

La seguente richiesta projects.get recupera i metadati del progetto dello script.

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

La risposta è costituita da un oggetto come questo:

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

Recuperare i file di progetto

La seguente richiesta projects.getContent recupera i contenuti del progetto di script, inclusi il codice sorgente e i metadati per ogni file di script.

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

La risposta è costituita da un oggetto Content come questo:

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

Aggiorna i file di progetto

La seguente richiesta projects.updateContent aggiorna i contenuti del progetto di script specificato. Questi contenuti vengono archiviati come versione HEAD e vengono utilizzati quando lo script viene eseguito come progetto eseguibile 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 risposta è costituita da un oggetto Content come questo:

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