Yerleşik Google Hizmetleri

Google Apps Komut Dosyası, diğer Google sistemleri ile harici sistemlerde kullanılabilir. Bu hizmetler JavaScript'in standardına benzer genel nesneler olarak sağlanır Math nesnesini tanımlayın. Örneğin, Math tıpkı random() ve benzer yöntemler sunar. PI gibi sabit değerler, Apps Komut Dosyası'nın E-tablo hizmeti, openById(id), sınıflar (alt nesneler) Range ve DataValidationCriteria.

Google Workspace Ürünleri kontrol eden hizmetlerin referans dokümanları, bu sitenin kenar çubuğundaki "Referans" başlığı altındaki "Google Workspace Hizmetler" bölümünde toplanmıştır. Kamu hizmetleri kullanıcı arayüzleri oluşturmak, XML'yi ayrıştırmak veya günlük verilerini yazma gibi) verilerin toplanması "Komut Dosyası Hizmetleri" içinde bölümüne bakın.

Modern JavaScript özellikleri

Apps Komut Dosyası, iki JavaScript çalışma zamanını destekler: modern V8 çalışma zamanı ve Mozilla'nın Rhino JavaScript yorumcusu.

V8 çalışma zamanı, modern ECMAScript söz dizimini ve özelliklerini destekler. Rhino çalışma zamanı, eski JavaScript 1.6 standardının yanı sıra 1.7 ve 1.8'deki birkaç özelliği temel alır. Komut dosyanızla kullanmak istediğiniz çalışma zamanını özgürce seçebilirsiniz ancak V8 çalışma zamanı kesinlikle önerilir.

Her çalışma zamanı, kullanabileceğiniz JavaScript sınıflarını ve nesneleri ve komut dosyası gibi ve gelişmiş Google hizmetleri üzerinden kullanılabilir. Komut dosyalarınızda Array, Date, RegExp gibi yaygın nesnelerin yanı sıra Math ve Object küresel nesneleri kullanılabilir.

Otomatik tamamlamayı kullanma

Komut dosyası düzenleyici, "içerik yardımı" sağlar yaygın olarak bilinen "otomatik tamamlama", global nesnelerin yanı sıra yöntemler ve enum'ları da ortaya çıkaran komut dosyasının mevcut bağlamında geçerli olur. Otomatik tamamlama önerileri gösteriliyor global nesne, numaralandırma veya yöntemden sonra gelen her nokta için otomatik olarak komutu Apps Komut Dosyası sınıfını döndürür. Örneğin:

  • Bir global nesnenin tam adını yazarsanız veya otomatik tamamlamadan bir nesne seçip . (nokta) yazarsanız ilgili sınıfın tüm yöntemlerini ve enum'larını görürsünüz.
  • Birkaç karakter yazarsanız geçerli tüm filtreleri görürsünüz önerilere yer verebilirsiniz.

Global nesneleri anlama

Her hizmet en az bir genel (üst düzey) nesne sağlar. Örneğin, Gmail hizmetine yalnızca GmailApp nesnesinden erişilir. Bazı hizmetler birden fazla global nesne sağlar. Örneğin, temel hizmet dört global nesne içerir: Browser, Logger, MimeType ve Session.

Arama yöntemleri

Neredeyse tüm yerleşik veya yerleşik ya da küresel gelişmiş hizmetlere, veya Apps Komut Dosyası sınıfını döndürür. Komut dosyaları şu biçimde yöntem çağrıları yapar:

GlobalObjectName.methodName(argument1, argument2, ..., argumentN);

Örneğin, bir komut dosyası sendEmail(recipient, subject, body) aşağıdaki gibi bir yöntem kullanabilirsiniz:

GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');

Bir yöntem başka bir Apps Komut Dosyası sınıfı döndürürse tek bir uygulamada zincir yöntem çağrısı oluşturabilirsiniz satırında görünür. (İade türleri hem otomatik tamamlamada hem de bir yöntemin referans dokümanlarında gösterilir.) Örneğin, DocumentApp.create() Document değerini döndürür; dolayısıyla, aşağıdaki iki kod bölümü eşdeğerdir:

var doc = DocumentApp.create('New document');
var body = doc.getTab('t.0').asDocumentTab().getBody();
body.appendParagraph('New paragraph.');

// Same result as above.
DocumentApp.create('New document').getTab('t.0').asDocumentTab().getBody()
    .appendParagraph('New paragraph.');

Alt sınıflara erişme

Her hizmet, genel nesnelerin erişebildiği üst düzeyden erişilemeyen bir veya daha fazla alt sınıf içerir. new anahtar kelimesini şu amaçlarla kullanamazsınız: bu sınıfları, Date; Bir alt sınıfa, yalnızca o sınıfı döndüren bir yöntemi çağırarak erişebilirsiniz. Belirli bir sınıfa nasıl erişeceğinizden emin değilseniz hizmetin referans dokümanlarının kök sayfasını ziyaret edin ve istediğiniz sınıfı döndüren bir yöntem arayın.

Arayüzler

Bazı hizmetler, "arayüzler" olarak etiketlenmiş özel sınıflar içerir referans belgelerden bahsedeceğim. Bunlar, tam türü önceden belirleyemeyen yöntemler için dönüş türü olarak kullanılan genel sınıflardır. Örneğin, Doküman hizmeti yöntemi Body.getChild(childIndex), genel bir Element nesnesi döndürür. Element, başka bir sınıfı (muhtemelen Paragraph veya Table) temsil eden bir arayüzdür. Arayüz nesneleri nadiren kendi başlarına yararlıdır. Bunun yerine, nesneyi belirli bir sınıfa geri yayınlamak için genellikle Element.asParagraph() gibi bir yöntemi çağırmak istersiniz.

Sıralamalarla çalışma

Çoğu hizmet, adlandırılmış değerlerden oluşan birkaç enum (listelenmiş tür) içerir. Örneğin, Drive hizmeti, bir dosyaya veya klasöre hangi kullanıcıların erişimi olduğunu belirlemek için Access ve Permission adlı enum'ları kullanır. Neredeyse her durumda bu enumlara genel nesne üzerinden erişirsiniz. Örneğin, Folder.setSharing(accessType, permissionType) şöyle görünür:

// Creates a folder that anyone on the Internet can read from and write to. (Domain administrators can
// prohibit this setting for Google Workspace users.)
var folder = DriveApp.createFolder('Shared Folder');
folder.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);