Techpit:テックピット
  前のパートに戻る 完了して次のパートへ  

  3-2 実際にGASを書いてみよう

実際にGASを書いてみよう


このパートでは実際にGASを書いてslackにテキストを表示するところまでやっていきます。

学習キーワード


- var
- 変数
- 関数
- JavaScript


実際にGoogle Apps Scriptでslackにメッセージを送るためのコードを書こう


これからコードを書いていきますが、一気に理解しようとすると苦しくなるので1つ1つ時間を掛けて理解するようにしていきましょう。コードは読むだけではなく何度も繰り返して書いて理解していくものなので焦らずに進めましょう。

前回のパートで作成したファイルを使用します。 コード.gsの拡張子はGoogle Apps Scriptの略です。 まず以下のコードを追加してください。

変数postUrlには先ほど発行したIncoming WebHooksのURLを入れてください。

functionとは日本語で関数と言います。 関数は何かまとまったことを複数の箇所で実行をしたい時に使用します。以下が書式になります。

関数については以下を参考にしてください。

変数とは何かの値を保持しておくための入れ物と覚えておくと良いでしょう。どうして変数が必要なのか以下に簡単な例を示しました。

例えば、コードのあらゆる箇所で人の名前を使う箇所があるとします。(文法はあまり気にしないでください。)

上記のようにtechpitという文字を3箇所で使用しています。 このtechpitという文字の頭文字を大文字にしたいという要望があったとします。その場合は、3箇所のtTに変更します。

ですが、これが全部で100箇所あるとします。 100箇所全てを変更するのは大変ですよね?

そこで変数が役に立ちます。 下記のように変更します。

=は一般的には~と等しいという意味がありますが、プログラミングでは代入といった意味になります。 上記の例でいうとcompanyNameという変数にtechpitという文字列を代入するといった意味になります。

このようにすると1行目の箇所を変更するだけで他の箇所も反映されます。今はあまり実用性を感じることができないかもしれませんが、実際にもう少し規模のあるアプリケーションをコーディングすることになった場合など有り難みを感じます。

変数については以下を参考にしてください。

変数の使用方法ですが、var 変数名で変数を定義します。 GASでは変数を定義する時varを使用します。(varとはvariableの略で変数という意味です。)

その後、コード.gsに以下のコードを追加してください。

以下のコードをみてください。

ここではslackに送信するデータの形式に合わせるためにJSON.strigfyを使用してjson形式にしています。何かデータの送信をしたりする時はこのようにjsonの形式に変換することが多いです。

JSON.strigfyについては以下を参考にしてみてください。

また複数のデータを扱いたい時はオブジェクトというデータの形式を使用します。

書式は以下のようになります。

オブジェクトについては以下を参考にしてください。

また変数名にpayloadという単語を使用しています。データ伝送におけるデータ本体のことを意味します。ここで送るデータはslackに表示されるユーザー名、アイコン、テキストメッセージです。

続いて以下のコードについて解説します。

上記のコードは主に送信するデータの形式などを指定しています。 HTTPメソッドはPOST、contentTypeはapplication/json、palyloadは先ほど定義した変数のpayloadが入ります。 contentTypeとはメールやフォームなどで送る際に どのような種類のファイルかという情報のことを言います。 ここではjsonという形式でデータを送信するといった意味になります。

参考)Content-Typeの一覧

UrlFetchAppはGoogle Apps Scriptが提供しているもので、POST処理ができます。fetchの第一引数にurl、第二引数に先ほど設定したオプションを追加しています。

以上でslackに送る準備ができました。 次のパートでは実際にslackに通知するところまで進めます。

議論
2 質問