Apps Script API, uygulamanızdan Apps Script projeleri oluşturmanıza ve değiştirmenize olanak tanır. Bu sayfada yer alan örneklerde, API ile bazı yaygın proje yönetimi işlemlerinin nasıl yapılabileceği gösterilmektedir.
NOT: Apps Script API, kullanılmadan önce etkinleştirilmelidir.
Bu örneklerde, komut dosyası proje kimliğini nerede sağlayacağınızı belirtmek için scriptId yer tutucuları kullanılır. Komut dosyası kimliğini bulmak için aşağıdaki adımları uygulayın:
- Apps Script projesinde, sol üstte Proje Ayarları'nı tıklayın .
- "Komut dosyası kimliği"nin yanındaki Kopyala'yı tıklayın.
Yeni bir Apps Komut Dosyası projesi oluşturma
Aşağıdaki projects.create isteği yeni bir bağımsız komut dosyası oluşturur.
POST https://scriptmanagement.googleapis.com/v1/projects/
{ "title": "My Script" }
Proje meta verilerini alma
Aşağıdaki projects.get isteği, komut dosyası projesinin meta verilerini alır.
GET https://scriptmanagement.googleapis.com/v1/projects/scriptId
Yanıt, aşağıdaki gibi bir nesneden oluşur:
{ "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" }, }
Proje dosyalarını alma
Aşağıdaki projects.getContent isteği, her komut dosyası dosyasının kod kaynağı ve meta verileri dahil olmak üzere komut dosyası projesinin içeriğini alır.
GET https://scriptmanagement.googleapis.com/v1/projects/scriptId /content
Yanıt, aşağıdaki gibi bir İçerik nesnesinden oluşur:
{ "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" }] }
Proje dosyalarını güncelleme
Aşağıdaki projects.updateContent isteği, belirtilen komut dosyası projesinin içeriğini günceller. Bu içerik, HEAD sürümü olarak depolanır ve komut dosyası bir API yürütülebilir projesi olarak çalıştırıldığında kullanılır.
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" }] }
Yanıt, aşağıdaki gibi bir İçerik nesnesinden oluşur:
{ "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" }] }