L'API Apps Script ti consente di creare e modificare progetti Apps Script dalla tua app. Gli esempi in questa pagina mostrano come alcune operazioni comuni di gestione del progetto possono essere eseguite con l'API.
NOTA: l'API Apps Script deve essere attivata prima dell'utilizzo.
In questi esempi, i segnaposto scriptId vengono utilizzati per indicare dove fornire l'ID progetto dello script. Segui i passaggi riportati di seguito per trovare l'ID script:
- Nel progetto Apps Script, fai clic su Impostazioni progetto in alto a sinistra.
- 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" }
Recuperare i metadati del 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 di 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 memorizzati come versione HEAD e vengono utilizzati quando lo script viene eseguito come progetto eseguibile dell'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" }] }