Apps Komut Dosyası'ndaki gelişmiş hizmetler, deneyimli geliştiricilerin belirli herkese açık Google API'lerine, HTTP arayüzlerini kullanmaktan daha az kurulumla bağlanmasına olanak tanır. Gelişmiş hizmetler, temel olarak bu Google API'lerinin etrafında ince sarmalayıcılardır. Bu hizmetler, Apps Script'in yerleşik hizmetlerine çok benzer şekilde çalışır. Örneğin, otomatik tamamlama özelliği sunarlar ve Apps Script yetkilendirme akışını otomatik olarak yönetir. Ancak, komut dosyasında kullanabilmek için bir gelişmiş hizmeti etkinleştirmeniz gerekir.
Hangi Google API'lerinin gelişmiş hizmet olarak kullanılabildiğini görmek için Referansta Gelişmiş Google Hizmetleri bölümüne bakın. Gelişmiş hizmet olarak kullanılamayan bir Google API'sini kullanmak istiyorsanız diğer harici API'ler gibi bu API'ye bağlanmanız yeterlidir.
Gelişmiş hizmetler mi HTTP mi?
Gelişmiş Google hizmetlerinin her biri herkese açık bir Google API'si ile ilişkilendirilir.
Apps Komut Dosyası'nda bu API'lere gelişmiş hizmetler aracılığıyla veya doğrudan UrlFetch
kullanarak API isteğinde bulunarak erişebilirsiniz.
Gelişmiş hizmet yöntemini kullanıyorsanız Apps Komut Dosyası, yetkilendirme akışını yönetir ve otomatik tamamlama desteği sunar. Ancak bu özelliği kullanabilmek için gelişmiş hizmeti etkinleştirmeniz gerekir. Ayrıca bazı gelişmiş hizmetler, API'de bulunan işlevlerin yalnızca bir alt kümesini sağlar.
API'ye doğrudan erişmek için UrlFetch
yöntemini kullanıyorsanız Google API'yi harici API olarak kabul etmiş olursunuz. Bu yöntemle API'nin tüm yönleri kullanılabilir. Ancak bu yöntemde API yetkilendirmesini kendiniz yapmanız gerekir. Ayrıca gerekli tüm başlıkları oluşturmanız ve API yanıtlarını ayrıştırmanız gerekir.
Genel olarak, mümkün olduğunda gelişmiş bir hizmet kullanmak en kolayıdır ve UrlFetch
yöntemini yalnızca gelişmiş hizmet ihtiyacınız olan işlevi sağlamadığında kullanın.
Şartlar
Gelişmiş bir hizmeti kullanabilmek için aşağıdaki koşulları karşılamanız gerekir:
- Komut dosyası projenizde gelişmiş hizmeti etkinleştirmeniz gerekir.
Komut dosyanızın kullandığı Cloud Platform (GCP) projesinde gelişmiş hizmete karşılık gelen API'nin etkinleştirildiğinden emin olmanız gerekir.
Komut dosyası projeniz, 8 Nisan 2019'da veya sonrasında oluşturulmuş bir varsayılan GCP projesi kullanıyorsa gelişmiş hizmeti etkinleştirip komut dosyası projesini kaydetmenizin ardından API otomatik olarak etkinleştirilir. Henüz yapmadıysanız Google Cloud ve Google API'leri Hizmet Şartları'nı da kabul etmeniz istenebilir.
Komut dosyası projenizde standart bir GCP projesi veya eski bir varsayılan GCP projesi kullanılıyorsa GCP projesinde gelişmiş hizmetin ilgili API'sini manuel olarak etkinleştirmeniz gerekir. Bu değişikliği yapmak için GCP projesine düzenleme erişiminiz olmalıdır.
Daha fazla bilgi için Cloud Platform projelerini inceleyin.
Gelişmiş hizmetleri etkinleştirme
Gelişmiş bir Google hizmetini kullanmak için aşağıdaki talimatları uygulayın:
- Apps Komut Dosyası projesini açın.
- Sol kısımdan Düzenleyici'yi tıklayın.
- Sol tarafta, Hizmetler'in yanındaki Hizmet ekle'yi tıklayın .
- Gelişmiş bir Google hizmetini seçin ve Ekle'yi tıklayın.
Etkinleştirdiğiniz gelişmiş hizmetler otomatik tamamlamada kullanılabilir.
Yöntem imzaları nasıl belirlenir?
Gelişmiş hizmetler genellikle ilgili herkese açık API'lerle aynı nesneleri, yöntem adlarını ve parametreleri kullanır. Ancak yöntem imzaları, Apps Komut Dosyası'nda kullanılmak üzere çevrilir. Komut dosyası düzenleyicinin otomatik tamamlama işlevi genellikle başlamak için yeterli bilgi sağlar ancak aşağıdaki kurallarda, Apps Script'in herkese açık bir Google API'sinden yöntem imzasını nasıl oluşturduğu açıklanmaktadır.
Google API'lerine gönderilen istekler; yol parametreleri, sorgu parametreleri, istek gövdesi ve/veya medya yükleme eki dahil olmak üzere çeşitli veri türlerini kabul edebilir. Bazı gelişmiş hizmetler, belirli HTTP istek üstbilgilerini de kabul edebilir (ör. Takvim gelişmiş hizmeti).
Google Apps Komut Dosyası'ndaki ilgili yöntem imzasında aşağıdaki bağımsız değişkenler bulunur:
- JavaScript nesnesi olarak istek gövdesi (genellikle bir kaynak).
- Ayrı bağımsız değişkenler olarak yol veya gerekli parametreler.
- Medya yükleme eki,
Blob
bağımsız değişkeni olarak. - Parametre adlarını değerlerle eşleyen bir JavaScript nesnesi olarak isteğe bağlı parametreler.
- Üstbilgi adlarını üstbilgi değerleriyle eşleyen bir JavaScript nesnesi olarak HTTP istek üstbilgileri.
Yöntemde belirli bir kategoride öğe yoksa imzanın bu kısmı atlanır.
Dikkat etmeniz gereken bazı özel istisnalar vardır:
- Medya yüklemeyi kabul eden yöntemler için
uploadType
parametresi otomatik olarak ayarlanır. - Google API'de
delete
adlı yöntemler, JavaScript'te ayrılmış bir kelime olduğu için Apps Komut Dosyası'ndaremove
olarak adlandırılır.delete
- Bir gelişmiş hizmet HTTP istek başlıklarını kabul edecek şekilde yapılandırılmışsa ve bir istek başlıkları JavaScript nesnesi ayarlarsanız isteğe bağlı parametreler JavaScript nesnesini de ayarlamanız gerekir (isteğe bağlı parametreler kullanmıyorsanız boş bir nesneye ayarlayın).
Gelişmiş hizmetler için destek
Gelişmiş hizmetler, Apps Komut Dosyası'nda Google API'lerinin kullanılmasını sağlayan ince sarmalayıcılardır. Bu nedenle, bu API'leri kullanırken karşılaşılan sorunlar genellikle Apps Script ile ilgili değil, temel API ile ilgilidir.
Gelişmiş bir hizmeti kullanırken sorunla karşılaşırsanız ilgili API'nin destek talimatları kullanılarak sorun bildirilmelidir. Bu destek talimatlarının bağlantıları, Apps Script Referans bölümündeki her gelişmiş hizmet kılavuzunda sağlanır.