google.script.run sınıfı (İstemci Tarafı API'sı)

google.script.run, sunucu tarafı Apps Komut Dosyası işlevlerini çağırabilen HTML hizmeti sayfalarında bulunan eşzamansız bir istemci tarafı JavaScript API'sidir. Google Dokümanlar, E-Tablolar veya Formlar'daki iletişim kutularıyla ya da kenar çubuklarıyla istemci tarafı kodundan etkileşimde bulunmak için google.script.host aracını kullanın. Daha fazla bilgi için HTML hizmetinde sunucu işlevleriyle iletişim kurma kılavuzuna bakın.

Yöntemler

YöntemDönüş türüKısa açıklama
myFunction(...) (herhangi bir sunucu tarafı işlevi) void Sunucu tarafı Apps Komut Dosyası işlevini ilgili adla yürütür.
withFailureHandler(function) google.script.run Sunucu tarafı işlevi bir istisna gönderirse çalışacak bir geri çağırma işlevi ayarlar.
withSuccessHandler(function) google.script.run Sunucu tarafı işlevi başarıyla döndürülürse çalışacak bir geri çağırma işlevi ayarlar.
withUserObject(object) google.script.run Bir nesneyi başarı ve hata işleyicilerine ikinci bir parametre olarak iletecek şekilde ayarlar.

Ayrıntılı belgeler

myFunction(...) (herhangi bir sunucu tarafı işlevi)

Sunucu tarafı Apps Komut Dosyası işlevini ilgili adla yürütür.

Code.gs

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

function doSomething() {
  Logger.log('I was called!');
}

Index.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script>
      google.script.run.doSomething();
    </script>
  </head>
  <body>
  </body>
</html>

Parametreler

AdTürAçıklama
...Çoğu tür yasaldır ancak form dışında Date, Function veya DOM öğesi değildir. Açıklamaya bakınYasal parametreler; Number, Boolean, String veya null gibi temel JavaScript öğelerinin yanı sıra temel öğelerden, nesnelerden ve dizilerden oluşan JavaScript nesneleri ve dizileridir. Sayfa içindeki bir form öğesi de parametre olarak yasaldır ancak işlevin tek parametresi olmalıdır. Bir Date, Function, form dışında DOM öğesi veya başka bir yasak türü (nesnelerin veya dizilerin içindeki yasaklı türler dahil) iletmeye çalışırsanız istekler başarısız olur. Döngüsel başvurular oluşturan nesneler de başarısız olur ve dizilerdeki tanımlanmamış alanlar null olur. Sunucuya iletilen bir nesnenin, orijinalin kopyası haline geleceğini unutmayın. Bir sunucu işlevi, bir nesneyi alır ve özelliklerini değiştirirse istemcideki özellikler etkilenmez.

Return

void: Bu yöntem eşzamansız olup doğrudan döndürmez. Bununla birlikte, sunucu tarafı işlevi, başarı işleyiciye aktarılan bir parametre olarak istemciye bir değer döndürebilir. Ayrıca, döndürme türleri, parametre türleriyle aynı kısıtlamalara tabidir ancak form öğesi yasal bir döndürme türü değildir.


withFailureHandler(function)

Sunucu tarafı işlevi bir istisna gönderirse çalışacak bir geri çağırma işlevi ayarlar. Error nesnesi işleve ilk bağımsız değişken olarak, kullanıcı nesnesi (varsa) ise ikinci bağımsız değişken olarak aktarılır. Hata işleyicisi olmadığında hatalar JavaScript konsoluna kaydedilir. Bunu geçersiz kılmak için withFailureHandler(null) yöntemini çağırın veya hiçbir şey yapmayan bir hata işleyici sağlayın.

Code.gs

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

function getUnreadEmails() {
  // 'got' instead of 'get' will throw an error.
  return GmailApp.gotInboxUnreadCount();
}

Index.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script>
      function onFailure(error) {
        var div = document.getElementById('output');
        div.innerHTML = "ERROR: " + error.message;
      }

      google.script.run.withFailureHandler(onFailure)
          .getUnreadEmails();
    </script>
  </head>
  <body>
    <div id="output"></div>
  </body>
</html>

Parametreler

AdTürAçıklama
functionFunctionSunucu tarafı işlevi istisna döndürürse çalışacak bir istemci tarafı geri çağırma işlevi; Error nesnesi işleve ilk bağımsız değişken olarak ve kullanıcı nesnesi (varsa) ikinci bağımsız değişken olarak aktarılır

Return

google.script.run - zincirleme için bu "komut dosyası çalıştırıcı"


withSuccessHandler(function)

Sunucu tarafı işlevi başarıyla döndürülürse çalışacak bir geri çağırma işlevi ayarlar. Sunucunun döndürülen değeri, işleve ilk bağımsız değişken olarak ve kullanıcı nesnesi (varsa) ikinci bağımsız değişken olarak aktarılır.

Code.gs

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

function getUnreadEmails() {
  return GmailApp.getInboxUnreadCount();
}

Index.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script>
      function onSuccess(numUnread) {
        var div = document.getElementById('output');
        div.innerHTML = 'You have ' + numUnread
            + ' unread messages in your Gmail inbox.';
      }

      google.script.run.withSuccessHandler(onSuccess)
          .getUnreadEmails();
    </script>
  </head>
  <body>
    <div id="output"></div>
  </body>
</html>

Parametreler

AdTürAçıklama
functionFunctionSunucu tarafı işlevi başarıyla döndürülürse çalıştırılacak bir istemci tarafı geri çağırma işlevi; sunucunun döndürülen değeri, ilk bağımsız değişken olarak işleve iletilir ve kullanıcı nesnesi (varsa) ikinci bağımsız değişken olarak aktarılır

Return

google.script.run - zincirleme için bu "komut dosyası çalıştırıcı"


withUserObject(object)

Bir nesneyi başarı ve hata işleyicilerine ikinci bir parametre olarak iletecek şekilde ayarlar. User sınıfıyla karıştırılmaması gereken bu "kullanıcı nesnesi", geri çağırma işlevlerinin istemcinin sunucuyla iletişim kurduğu bağlama yanıt vermesine olanak tanır. Kullanıcı nesneleri sunucuya gönderilmediğinden, sunucu çağrıları için parametreler ve döndürülen değerlerle ilgili kısıtlamalara tabi olmazlar. Bununla birlikte, kullanıcı nesneleri new operatörüyle oluşturulan nesneler olamaz.

Code.gs

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

function getEmail() {
  return Session.getActiveUser().getEmail();
}

Index.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script>
      function updateButton(email, button) {
        button.value = 'Clicked by ' + email;
      }
    </script>
  </head>
  <body>
    <input type="button" value="Not Clicked"
      onclick="google.script.run
          .withSuccessHandler(updateButton)
          .withUserObject(this)
          .getEmail()" />
    <input type="button" value="Not Clicked"
      onclick="google.script.run
          .withSuccessHandler(updateButton)
          .withUserObject(this)
          .getEmail()" />
  </body>
</html>

Parametreler

AdTürAçıklama
objectObjectbaşarı ve hata işleyicilerine ikinci bir parametre olarak iletilecek bir nesnedir. Kullanıcı nesneleri sunucuya gönderilmediğinden, sunucu çağrıları için parametreler ve döndürülen değerler üzerindeki kısıtlamalara tabi olmazlar. Bununla birlikte, kullanıcı nesneleri new operatörüyle oluşturulan nesneler olamaz.

Return

google.script.run - zincirleme için bu "komut dosyası çalıştırıcı"