Bir komut dosyası için kullanıcı arayüzü derlerseniz, komut dosyasını web uygulaması. Örneğin, kullanıcıların randevularını web uygulaması olarak sunulması önerilir. Böylece kullanıcılar buna doğrudan tarayıcılarından erişebilir.
Hem bağımsız komut dosyaları hem de uygulamalara Google Workspace bağlı komut dosyaları dönüştürülebilir web uygulamaları (aşağıdaki şartları karşıladığı sürece)
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 döndürür
HtmlOutput
nesne veya a İçerik hizmetiTextOutput
nesnesini ifade eder.
İ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, uygulamaya HTTP gönderdiğinde
POST
isteği, Apps Komut Dosyası bunun yerine doPost(e)
sürümünü çalıştırır. Her iki durumda da e
argüman, herhangi bir öğeyle ilgili bilgi içerebilen bir etkinlik parametresini
istek parametreleridir. Etkinlik nesnesinin yapısı tabloda gösterilir
aşağıda bulabilirsiniz:
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 aktarabilirsiniz
aşağıdaki gibi bir URL'ye ekleyin:
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'ı tıklayın > Yeni dağıtım.
- "Tür seçin"in yanında "Dağıtım türlerini etkinleştir"i tıklayın. Web uygulaması.
- "Dağıtım" altındaki alanlara web uygulamanızla ilgili bilgileri girin. yapılandır."
- Dağıt'ı tıklayın.
Web uygulaması URL'sini, uygulamanızı kullanmak istediğiniz kişilerle paylaşabilirsiniz. bu verilere erişim izni vermiş olmanız gerekir.
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ındaki Dağıt > Test et dağıtımları başlıklı makaleyi inceleyin.
- "Tür seçin"in yanında Dağıtım türlerini etkinleştir 'i tıklayın > Web uygulaması.
- 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 bitiyor ve yalnızca düzenleme erişimi olan kullanıcılar tarafından erişilebilir komut dosyasına aktaracağım. Uygulamanın bu örneği her zaman en son kaydedileni çalıştırır ve yalnızca geliştirme sırasında test etmek için tasarlanmıştır.
İzinler
Web uygulamasının izinleri, yürütme yöntemini nasıl seçtiğinize bağlı olarak farklılık gösterir uygulama:
- Uygulamayı benim olarak çalıştır: Bu durumda komut dosyası her zaman yürütülür siz olarak, web uygulamasına kimin eriştiğine bakılmaksızın komut dosyasının sahibi olarak.
- 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ı bir sonraki işlemi gerçekleştirdiğinde web uygulamasının komut dosyası sahibinin e-postasını göstermesine neden olur. erişim izni verir.
Web uygulamanızı Google Sites'a yerleştirme
Bir web uygulamasını Google Sites'a yerleştirmek için öncelikle
dağıtıldı. Ayrıca
Deploy
iletişim kutusunda Dağıtılan URL'yi seçmeniz gerekir.
Bir Sites'a web uygulaması yerleştirmek için şu adımları uygulayın:
- Web uygulamasını eklemek istediğiniz Google Sites sayfasını açın.
- Ekle > Yerleştirme URL'si.
- 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. Yayınladığınızda önce web uygulamasını yetkilendirmeniz gerekebilir. normal bir şekilde çalışır. Yetkisiz web uygulamaları, şu kullanıcılara yetkilendirme istemleri sunar: gösterir.
Web Uygulamaları ve Tarayıcı Geçmişi
Apps Komut Dosyası web uygulamasının birden fazla sayfayı simüle etmesi tercih edilebilir. veya URL parametreleri aracılığıyla kontrol edilen dinamik kullanıcı arayüzüne sahip bir web uygulamasıdır. Bunu iyi bir şekilde yapmak için uygulamanın durumunu temsil eden bir durum nesnesi açın ve durumu tarayıcı geçmişine uygulamanızda gezinen kullanıcıdır. Ayrıca geçmişteki etkinlikleri dinleyebilirsiniz. Böylece web kullanıcı önceki ekran görüntüsünde ileri ve geri gittiğinde, uygulamanın doğru tarayıcı düğmeleri. Yükleme zamanında URL parametrelerini sorgulayarak, URL parametrelerini Kullanıcı arayüzünü bu parametrelere göre dinamik bir şekilde derler. Böylece, uygulamanın belirli bir durumda başlatılmasını sağlar.
Apps Komut Dosyası, yardımcı olmak için iki eşzamansız istemci tarafı JavaScript API'si sağlar tarayıcı geçmişine bağlı web uygulamaları oluşturmada:
google.script.history
tarayıcı geçmişi değişikliklerine dinamik yanıt vermeye olanak tanıyan yöntemler sunar. Bu içerir: tarayıcıya durum aktarma (tanımlayabileceğiniz basit nesneler) geçmiş, geçmiş yığınındaki en üst durumu değiştirme ve bir işleyici ayarlama geri çağırma işlevini kullanabilir.google.script.url
, geçerli sayfanın URL parametrelerini ve URL parçasını alma anlamına gelir. daha iyi olur.
Bu geçmiş API'leri yalnızca web uygulamaları tarafından kullanılabilir. Bunlar: Kenar çubukları, iletişim kutuları veya eklentiler için desteklenir. Bu işlev aynı zamanda şurada kullanılması önerilmez: Google Sites sitelerine yerleştirilmiş web uygulamaları.