LANG SELRCT

コードを書く場所についてはこちら

2018年3月28日水曜日

google.script.runの.withUserObject()で第2引数を渡してみる


.withUserObject()に渡した引数はサーバに送られず
成功/失敗の第2引数に渡されるようなので
リファレンスのコードを改造して this と 文字列を渡して試した


以下のようなボタンをクリックした時


そのボタンのvalueに.gsのコードからの戻り値と渡された文字列を入れる

というコードです


コード.gs
function doGet() {
  return HtmlService.createHtmlOutputFromFile("index");
}
意訳
この機能がやること
指定したHTMLファイルを表示する




index.html
<!DOCTYPE html>
<html>
<body>
  <input type="button" id="bt" value="click me">
  <script>
    var bt = document.getElementById("bt")
    bt.onclick = bt_clicked;

    function bt_clicked() {
      google.script.run
        .withSuccessHandler(updateButton)
        .withUserObject([this, "world"])
        .get_value();
    }

    function updateButton(value, array) {
      array[0].value = value + " " + array[1];
    }
  </script>
</body>
</html>
意訳
  


ボタン

idがbtの要素を取得して
クリックされたらbt_clickedを実行する

この機能がやること
.gsファイルのコードを実行する
成功したらonSuccessを実行する
サーバには送らずに第2引数で渡す
.gsで実行するコードはget_value()


この機能がやること
arrayの0番目はthisが渡されているので押されたボタン自身で、そのボタンのvalueにget_value()の戻り値  + " " + arrayの1番目である worldを入れる






参考

Class google.script.run (Client-side API)
https://developers.google.com/apps-script/guides/html/reference/run