Gelişmiş Google hizmetleri

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 bir komut dosyasında kullanabilmek için ileri seviye hizmeti etkinleştirmeniz gerekir.

Gelişmiş hizmet olarak hangi Google API'lerinin kullanılabildiğini görmek için Referans bölümündeki Gelişmiş Google Hizmetleri bölümünü bulun. Gelişmiş hizmet olarak kullanılamayan bir Google API'sini kullanmak istiyorsanız diğer tüm harici API'ler gibi bu API'ye bağlanmanız yeterlidir.

Gelişmiş hizmetler mi yoksa HTTP mi?

Gelişmiş Google hizmetlerinin her biri, herkese açık bir Google API'siyle 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 temelde harici bir API olarak ele alırsınız. Bu yöntemle API'nin tüm yönleri kullanılabilir. Ancak 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:

  1. Komut dosyası projenizde gelişmiş hizmeti etkinleştirmeniz gerekir.
  2. Gelişmiş hizmete karşılık gelen API'nin, komut dosyanızın kullandığı Cloud Platform (GCP) projesinde etkinleştirildiğinden emin olmanız gerekir.

    Komut dosyanız 8 Nisan 2019'da veya sonrasında oluşturulmuş bir varsayılan GCP projesi kullanıyorsa gelişmiş hizmeti etkinleştirip komut dosyası projesini kaydettikten sonra 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 projelerine bakın.

Gelişmiş hizmetleri etkinleştirme

Gelişmiş bir Google hizmetini kullanmak için aşağıdaki talimatları uygulayın:

  1. Apps Komut Dosyası projesini açın.
  2. Sol tarafta Düzenleyici'yi tıklayın.
  3. Sol tarafta, Hizmetler'in yanındaki Hizmet ekle'yi tıklayın.
  4. Gelişmiş bir Google hizmetini seçin ve Ekle'yi tıklayın.

Etkinleştirdiğiniz gelişmiş hizmetler otomatik tamamlama özelliğinde 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 gibi ç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:

  1. JavaScript nesnesi olarak istek metni (genellikle bir kaynak).
  2. Ayrı bağımsız değişkenler olarak yol veya gerekli parametreler.
  3. Medya yükleme eki, Blob bağımsız değişkeni olarak.
  4. Parametre adlarını değerlerle eşleyen bir JavaScript nesnesi olarak isteğe bağlı parametreler.
  5. Ü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ı'nda remove 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.