HTML Hizmeti: HTML Oluşturma ve Sunma

HTML hizmeti, sunucu tarafındaki Apps Komut Dosyası işlevleriyle etkileşime girebilen web sayfaları yayınlamanıza olanak tanır. Özellikle web uygulamaları oluşturmak veya Google Dokümanlar, E-Tablolar ve Formlar'a özel kullanıcı arayüzleri eklemek için kullanışlıdır. Hatta e-postanın gövdesini oluşturmak için bile kullanabilirsiniz.

HTML dosyaları oluşturma

Apps Komut Dosyası projenize HTML dosyası eklemek için aşağıdaki adımları uygulayın:

  1. Apps Komut Dosyası düzenleyiciyi açın.
  2. Sol tarafta, Dosya ekle > HTML'yi tıklayın.

HTML dosyasında standart HTML, CSS ve istemci tarafı JavaScript'in büyük bir bölümünü yazabilirsiniz. Sayfa, HTML5'in bazı gelişmiş özellikleri kullanılamasa da HTML5 olarak sunulur. Bu durum, Kısıtlamalar bölümünde açıklanmıştır.

Dosyanız, şablonlu HTML bölümünde açıklandığı gibi, sayfa kullanıcıya gönderilmeden önce sunucuda işlenen şablonlu küçük komut dosyaları da içerebilir. Bu, PHP'ye benzer bir işlemdir.

HTML'yi web uygulaması olarak sunma

HTML hizmetiyle bir web uygulaması oluşturmak için kodunuzda komut dosyasına sayfayı nasıl sunacağını söyleyen bir doGet() işlev bulunmalıdır. İşlev, bu örnekte gösterildiği gibi bir HtmlOutput nesnesi döndürmelidir.

Code.gs

function doGet() {   return HtmlService.createHtmlOutputFromFile('Index'); }

Index.html

<!DOCTYPE html> <html>   <head>     <base target="_top">   </head>   <body>     Hello, World!   </body> </html>

Bu temel çerçeve oluşturulduktan sonra yapmanız gereken tek şey komut dosyanızın bir sürümünü kaydetmek ve ardından komut dosyanızı bir web uygulaması olarak dağıtmaktır.

Komut dosyası web uygulaması olarak dağıtıldıktan sonra Google Sites'a da yerleştirebilirsiniz.

HTML'yi Google Dokümanlar, E-Tablolar, Slaytlar veya Formlar kullanıcı arayüzü olarak sunma

HTML hizmeti, komut dosyanız dosyaya bağlı ise Google Dokümanlar, E-Tablolar, Slaytlar veya Formlar'da iletişim kutusu ya da kenar çubuğu gösterebilir. (Google Formlar'da özel kullanıcı arayüzleri yalnızca formu değiştirmek için açan bir düzenleyiciye görünür, formu yanıtlamak için açan bir kullanıcıya görünmez.)

Bir web uygulamasının aksine, doküman, e-tablo veya form için kullanıcı arayüzü oluşturan bir komut dosyasının özellikle bir doGet() işlevine ihtiyacı yoktur ve komut dosyanızın bir sürümünü kaydetmeniz veya dağıtmanız gerekmez. Bunun yerine, kullanıcı arayüzünü açan işlev, etkin doküman, form veya e-tablo için HTML dosyanızı HtmlOutput nesnesi olarak Ui nesnesinin showModalDialog()) veya showSidebar() yöntemlerine iletmelidir.

Bu örneklerde kolaylık sağlamak için birkaç ek özellik bulunur: onOpen() işlevi, arayüzü açmayı kolaylaştıran bir özel menü oluşturur ve HTML dosyasındaki düğme, arayüzü kapatmak için close() google.script.host API'sinin özel bir yöntemini çağırır.

Code.gs

// Use this code for Google Docs, Slides, Forms, or Sheets. function onOpen() {   SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.       .createMenu('Dialog')       .addItem('Open', 'openDialog')       .addToUi(); }  function openDialog() {   var html = HtmlService.createHtmlOutputFromFile('Index');   SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.       .showModalDialog(html, 'Dialog title'); }

Index.html

<!DOCTYPE html> <html>   <head>     <base target="_top">   </head>   <body>     Hello, World!     <input type="button" value="Close"         onclick="google.script.host.close()" />   </body> </html>

Bu kullanıcı arayüzünü ilk kez görüntülemek istediğinizde onOpen() işlevini komut dosyası düzenleyicisinde manuel olarak çalıştırmanız veya Dokümanlar, E-Tablolar ya da Formlar düzenleyicisinin penceresini yeniden yüklemeniz (bu işlem komut dosyası düzenleyicisini kapatır) gerektiğini unutmayın. Bundan sonra, dosyayı her açtığınızda özel menü birkaç saniye içinde görünür. Arayüzü görmek için Diyalog > Aç'ı seçin.