Web Uygulamaları

Bir komut dosyası için kullanıcı arayüzü derlerseniz komut dosyasını bir web uygulaması olarak yayınlayabilirsiniz. Örneğin, kullanıcıların destek ekibi üyeleriyle randevular planlamasına olanak tanıyan bir komut dosyası, kullanıcıların doğrudan tarayıcılarından erişebilmeleri için web uygulaması olarak sunulmalıdır.

Hem bağımsız komut dosyaları hem de uygulamalara bağlı Google Workspace komut dosyaları, aşağıdaki şartları karşıladıkları sürece web uygulamalarına dönüştürülebilir.

Web uygulamaları için şartlar

Komut dosyası, aşağıdaki şartları karşılıyorsa 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 bölümünün değeri veya sorgu dizesi belirtilmediyse 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 ifadesinden 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 kullanılır

postData

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

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

Ardından, parametreleri aşağıdaki gibi görüntüleyebilirsiniz:

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 şu adımları izleyin:

  1. Komut dosyası projesinin sağ üst tarafındaki Dağıt > Yeni dağıtım'ı tıklayın.
  2. "Tür seçin"in yanında Dağıtım türlerini etkinleştir'i > Web uygulaması'nı tıklayın.
  3. "Dağıtım yapılandırması" bölümündeki 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ı bir web uygulaması olarak test etmek için aşağıdaki adımları uygulayın:

  1. Komut dosyası projesinin sağ üst tarafında, Dağıt > Dağıtımları 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ı için 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 yürütmeyi seçtiğinize bağlı olarak değişir:

  • Uygulamayı benim olarak çalıştır: Bu durumda komut dosyası, web uygulamasına kimin eriştiğine bakılmaksızın her zaman komut dosyasının sahibi olarak sizin adınıza yürütülür.
  • Uygulamayı, web uygulamasına erişen kullanıcı olarak çalıştır: 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'a yerleştirme

Bir web uygulamasını Google Sites'a yerleştirmek için önce uygulamanın dağıtılması gerekir. Ayrıca, Deploy iletişim kutusunda Dağıtılan URL'yi de girmeniz gerekir.

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 Google Sites sayfasını açın.
  2. Ekle > URL'yi yerleştir'i seçin.
  3. Web uygulaması URL'sini yapıştırın, ardından EKLE'yi tıklayın.

Web uygulaması, sayfa ö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 sunar.

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 uygulaması tercih edilebilir. Bunu iyi 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 aktarabilirsiniz. Ayrıca, kullanıcı tarayıcı düğmeleriyle ileri geri hareket ettiğinde 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 bir şekilde oluşturmasını sağlayabilirsiniz. Böylece, kullanıcının uygulamayı belirli bir durumda başlatmasını sağlayabilirsiniz.

Apps Komut Dosyası, tarayıcı geçmişine bağlı web uygulamaları oluşturmaya 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 verilmesine olanak tanıyan yöntemler sunar. Bu işlemler arasında tarayıcı geçmişine durumları (tanımlayabileceğiniz basit Nesneler) aktarma, geçmiş yığınındaki en üst durumu değiştirme ve geçmiş değişikliklerine yanıt vermek için bir işleyici geri çağırma işlevi ayarlama işlemleri yer alır.

  • google.script.url, varsa geçerli sayfanın URL parametrelerini ve URL parçasını alma yöntemlerini sağlar.

Bu geçmiş API'leri yalnızca web uygulamaları tarafından kullanılabilir. Kenar çubukları, iletişim kutuları veya eklentiler için desteklenmez. Bu işlevin Google Sites sitesine yerleştirilmiş web uygulamalarında kullanılması da önerilmez.