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:
doGet(e)
veyadoPost(e)
işlevi içeriyor.- İşlev bir HTML hizmeti
HtmlOutput
nesnesi veya İçerik hizmetiTextOutput
nesnesi döndürür.
İ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 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 |
{"name": ["alice"], "n": ["1", "2"]} |
e.pathInfo |
|
e.contextPath |
Kullanılmaz, her zaman boş dizedir. |
e.contentLength |
POST istekleri için istek gövdesinin uzunluğu veya GET istekleri için 332 |
e.postData.length |
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:
- Komut dosyası projesinin sağ üst tarafındaki Dağıt > Yeni dağıtım'ı tıklayın.
- "Tür seçin"in yanında Dağıtım türlerini etkinleştir'i > Web uygulaması'nı tıklayın.
- "Dağıtım yapılandırması" bölümündeki alanlara web uygulamanızla ilgili bilgileri girin.
- 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:
- Komut dosyası projesinin sağ üst tarafında, Dağıt > Dağıtımları test et'i tıklayın.
- "Tür seçin"in yanında Dağıtım türlerini etkinleştir > Web uygulaması'nı tıklayın.
- Web uygulaması URL'sinin altında Kopyala'yı tıklayın.
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:
- Web uygulamasını eklemek istediğiniz Google Sites sayfasını açın.
- Ekle > URL'yi yerleştir'i seçin.
- 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.