Web Uygulamaları

Bir komut dosyası için kullanıcı arayüzü oluşturursanız komut dosyasını web uygulaması olarak yayınlayabilirsiniz. Örneğin, kullanıcıların bir destek ekibinin üyeleriyle randevu almasına olanak tanıyan bir komut dosyasını, kullanıcıların doğrudan tarayıcılarından erişebilmesi için web uygulaması olarak sunmak en iyi seçenektir.

Hem bağımsız komut dosyaları hem de Google Workspace uygulamalara bağlı komut dosyaları, aşağıdaki koşulları karşılamaları koşuluyla web uygulamalarına dönüştürülebilir.

Web uygulamalarıyla ilgili şartlar

Aşağıdaki koşulları karşılayan komut dosyaları web uygulaması olarak yayınlanabilir:

İstek parametreleri

Kullanıcı bir uygulamayı ziyaret ettiğinde veya program uygulamaya HTTP GET isteği gönderdiğinde Apps Komut Dosyası, doGet(e) işlevini çalıştırır. Bir program uygulamayı HTTP POST isteği gönderdiğinde, Apps Komut Dosyası bunun yerine doPost(e) öğesini çalıştırır. Her iki durumda da e bağımsız değişkeni, istek parametreleri hakkında bilgi içerebilen bir etkinlik parametresini temsil eder. Etkinlik nesnesinin yapısı aşağıdaki tabloda gösterilmiştir:

Alanlar
e.queryString

URL'nin sorgu dizesi kısmının değeri veya sorgu dizesi belirtilmemişse null

name=alice&n=1&n=2
e.parameter

İstek parametrelerine karşılık gelen anahtar/değer çiftleri nesnesi. Birden çok değeri olan parametreler için yalnızca ilk değer döndürülür.

{"name": "alice", "n": "1"}
e.parameters

e.parameter benzeri ancak her anahtar için bir değer dizisi olan nesne

{"name": ["alice"], "n": ["1", "2"]}
e.pathInfo

/exec veya /dev'den sonraki URL yolu. Örneğin, URL yolu /exec/hello ile bitiyorsa yol bilgisi hello olur.

e.contextPath Kullanılmaz, her zaman boş dizedir.
e.contentLength

POST istekleri için istek gövdesinin uzunluğu veya GET istekleri için -1

332
e.postData.length

e.contentLength ile aynı

332
e.postData.type

POST gövdesinin MIME türü

text/csv
e.postData.contents

POST gövdesinin içerik metni

Alice,21
e.postData.name

Her zaman "postData" değeri

postData

Örneğin, username ve age gibi parametreleri aşağıda gösterildiği gibi bir URL'ye iletebilirsiniz:

https://script.google.com/.../exec?username=jsmith&age=21

Ardından parametreleri aşağıdaki gibi gösterebilirsiniz:

function doGet(e) {
  var params = JSON.stringify(e);
  return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}

Yukarıdaki örnekte doGet(e) aşağıdaki çıkışı döndürür:

{
  "queryString": "username=jsmith&age=21",
  "parameter": {
    "username": "jsmith",
    "age": "21"
  },
  "contextPath": "",
  "parameters": {
    "username": [
      "jsmith"
    ],
    "age": [
      "21"
    ]
  },
  "contentLength": -1
}

Komut dosyasını web uygulaması olarak dağıtma

Bir komut dosyasını web uygulaması olarak dağıtmak için aşağıdaki adımları uygulayın:

  1. Komut dosyası projesinin sağ üst tarafındaki Dağıt > Yeni dağıtım'ı tıklayın.
  2. "Türü seçin"in yanındaki Dağıtım türlerini etkinleştir'i > Web uygulaması tıklayın.
  3. "Yayın yapılandırması" altındaki alanlara web uygulamanızla ilgili bilgileri girin.
  4. Dağıt'ı tıklayın.

Erişim izni vermeniz koşuluyla, web uygulaması URL'sini, uygulamanızı kullanmak istediğiniz kişilerle paylaşabilirsiniz.

Web uygulaması dağıtımını test etme

Komut dosyanızı web uygulaması olarak test etmek için aşağıdaki adımları uygulayın:

  1. Komut dosyası projesinin sağ üst kısmında Dağıtım > Dağıtım test et'i tıklayın.
  2. "Tür seçin"in yanında Dağıtım türlerini etkinleştir > Web uygulaması'nı tıklayın.
  3. Web uygulaması URL'sinin altında Kopyala'yı tıklayın.
  4. URL'yi tarayıcınıza yapıştırın ve web uygulamanızı test edin.

    Bu URL, /dev ile biter ve yalnızca komut dosyasına düzenleme erişimi olan kullanıcılar tarafından erişilebilir. Uygulamanın bu örneği her zaman en son kaydedilen kodu çalıştırır ve yalnızca geliştirme sırasında test etmek için tasarlanmıştır.

İzinler

Bir web uygulamasının izinleri, uygulamayı nasıl çalıştırmayı seçtiğinize bağlı olarak değişir:

  • Uygulamayı benim adıma çalıştır: Bu durumda komut dosyası, web uygulamasına kim erişirse erişsin her zaman komut dosyası sahibi olarak siz çalıştırırsınız.
  • Uygulamayı, web uygulamasına erişen kullanıcı olarak yürütme: Bu durumda komut dosyası, web uygulamasını kullanan etkin kullanıcının kimliği altında çalışır. Bu izin yaklaşımı, kullanıcı erişimi yetkilendirdiğinde web uygulamasının, komut dosyası sahibinin e-posta adresini göstermesine neden olur.

Web uygulamanızı Google Sites'e yerleştirme

Bir web uygulamasının Google Sites'e yerleştirilebilmesi için önce yayılması gerekir. Deploy iletişim kutusundaki Dağıtılan URL'ye de ihtiyacınız vardır.

Bir web uygulamasını bir Siteler sayfasına yerleştirmek için aşağıdaki adımları izleyin:

  1. Web uygulamasını eklemek istediğiniz Sites sayfasını açın.
  2. Ekle > URL'yi yerleştir'i seçin.
  3. Web uygulaması URL'sini yapıştırın ve EKLE'yi tıklayın.

Web uygulaması, sayfanın önizlemesinde bir çerçeve içinde görünür. Sayfayı yayınladığınızda, sitenin normal şekilde yürütülmesi için sitenizi görüntüleyen kişilerin web uygulamasını yetkilendirmesi gerekebilir. Yetkisiz web uygulamaları kullanıcıya yetkilendirme istemleri gösterir.

Web Uygulamaları ve Tarayıcı Geçmişi

Apps Komut Dosyası web uygulamasının çok sayfalı bir uygulamayı simüle etmesi veya URL parametreleriyle kontrol edilen dinamik kullanıcı arayüzüne sahip bir uygulama simülasyonu yapması istenebilir. Bunu iyi bir şekilde yapmak için uygulamanın kullanıcı arayüzünü veya sayfasını temsil edecek bir durum nesnesi tanımlayabilir ve kullanıcı uygulamanızda gezinirken durumu tarayıcı geçmişine gönderebilirsiniz. Ayrıca, kullanıcı tarayıcı düğmeleriyle ileri geri gezinirken web uygulamanızın doğru kullanıcı arayüzünü göstermesi için geçmiş etkinliklerini de dinleyebilirsiniz. URL parametrelerini yükleme sırasında sorgulayarak uygulamanızın kullanıcı arayüzünü bu parametrelere göre dinamik olarak oluşturmasını sağlayabilir, böylece kullanıcının uygulamayı belirli bir durumda başlatmasına olanak tanıyabilirsiniz.

Apps Komut Dosyası, tarayıcı geçmişine bağlı web uygulamaları oluşturmanıza yardımcı olmak için iki eşzamansız istemci tarafı JavaScript API'si sağlar:

  • google.script.history, tarayıcı geçmişi değişikliklerine dinamik yanıt vermenizi sağlayan yöntemler sunar. Bu işlemler arasında: Durumları (tanımlayabileceğiniz basit nesneler) tarayıcı geçmişine gönderme, geçmiş yığınındaki en üst durumu değiştirme ve geçmiş değişikliklerine yanıt vermek için bir dinleyici geri çağırma işlevi ayarlama yer alır.

  • google.script.url, mevcut sayfanın URL parametrelerini ve varsa URL parçasını alma olanağı sağlar.

Bu geçmiş API'leri yalnızca web uygulamaları tarafından kullanılabilir. Kenar çubukları, iletişim kutuları veya eklentilerde desteklenmez. Bu işlev, Google Sites'e yerleştirilmiş web uygulamalarında da kullanılmak üzere önerilmez.