見出し画像

[GAS]チャットボットの作り方(入門編)

今回は、「Google chatへ通知を送信する」チャットボットを作成します。
(注意)無料版のGoogle chatでは作成できません!

・Google カレンダー
・Googleドライブ
・Gmail
・Google スプレッドシート
・Google フォームetc
これらのツールからの通知を管理するためにGASを利用することができます。

ーーーー使用例ーーーーーーーーーーーーー
・あなたがGoogleカレンダーを用いてスケジュールを管理しているとします。
しかし、スケジュールを見過ごし大事な用事を逃してしまうことがあるかもしれません。
GASを利用することで、GoogleチャットやLINEなどお好きなチャネルでメッセージを受け取ることができます。

・あなたがGmailで特定のメールの配信を確認したいと思っているとします。
しかし、メールの配信されたことに気づくことができないかもしれません。
GASを利用することで、GoogleチャットやLINEなどお好きなチャネルでメールの受信や本文を確認することができます。
ーーーーーーーーーーーーーーーーーーーー

その他にも、Gmailの本文や件名をスプレッドシートにまとめたり、スプレッドシートの内容をメールに含め自動送信したりすることができます。

この記事では基本的なGASの使い方をお伝えするために、Googleにメッセージを送信するチャットボットの作成方法を記載します

1.前準備


1-1.botの作成

Google chatを開いて「スペース」>「webhookを管理」>着信webhookに「bot」等の名前を付けます。

「スペース」を選びます。
「Webhookを管理」を選べます。
「bot」等の名前を付けてください


1-2. Google Apps Script(GAS)の作成

Google ドライブを開き「新規」>「その他」>「Google Apps Script(GAS)」を作成します。

Google ドライブを開き、「新規」を選びます。
「その他」を選びます。
「Google Apps Script」を選びます。

2.Google chatに通知を送信するbotを作成します。

2-1.メッセージを送信する

GAS上に以下のコードを入力してください。

//chatにメッセージを送信する
function sendChatMessage() {
  //投稿先指定
  const url =
    'https://chat.googleapis.com/・・・・・・・';
  //送信内容作成
  let message =
    { 'text': " 送信テスト " };
  let params = {
    'method': 'POST',
    'headers': {
      'Content-Type': 'application/json; charset=UTF-8'
    },
    'payload': JSON.stringify(message)
  };
  //送信
  UrlFetchApp.fetch(url, params);

}
5行目には、先ほどGoogle chat内の「webhookを管理」で作成した「bot」のURLを書きます。また、8行目の” ### ”が通知されます。用途に合わせた内容を入れたください。

2-2.実行画面

コードを実行すると以下のように通知がきます。

上で指定した言葉が送信されています。

3.通知の条件付け(配信時間や配信頻度、スレッド選択)

3-1.スレッドを指定したメッセージを送信する

Google chat 指定のスレッドに送信
 以下のコードを記載してください。

//chatにメッセージを送信する
function sendChatMessage() {
  //投稿先指定
  const url =
    'https://chat.googleapis.com/・・・・・・・';
  //送信内容作成
  let message =
  {
    'text': " 送信テスト ", "thread": {
      "name":
        "spaces/AAAA・・・・・・・・/threads/#######"
    }
  };
  let params = {
    'method': 'POST',
    'headers': {
      'Content-Type': 'application/json; charset=UTF-8'
    },
    'payload': JSON.stringify(message)
  };
  //送信
  UrlFetchApp.fetch(url, params);

}
このコードは2.で作成したコードの11行目のみを変えています。11行目では、Google chatの「spaces」以下を黄色マーカーに書きます。青マーカーには、指定するスレッドを書き込む必要があります。その為、Google chatのスペース内で、「Shift+Ctrl+C」>「HTMLを検索」で、「data-topic-id」と検索し、「data-topic-id="#"」と書かれているところを探し、#を青マーカに書き込みます。
2.で送信したスレッド内に通知が来ています。

3-2. 配信時間や配信頻度の設定
 GAS内の「トリガー」>「トリガーを追加」を開きます。

主に「イベントのソースを選択」にて、「時間主導型」と「カレンダーから」のどちらかを選択します。
「時間主導型」では、「時間ベース(時間・日付・週・月)」と「時間間隔」を希望に合わせてセットし保存します。
「カレンダーから」では、参照したい人のメールアドレスを入力することで、カレンダーに同期します。

まとめ


 今回はGASの基本的な使い方をチャットボットを作成することで学んできました。チャットボットを上手に活用し、あなたの仕事や日常が少しでも豊かになれば幸いです。
 今後も、GASを活用した幅広い活用方法を挙げていきますので、また見に来てください!
 


この記事が気に入ったらサポートをしてみませんか?