はじめに
本記事では、実際にGASを用いたChatWork自動API連携の紹介します。
今回、作成する仕組みは、毎日定刻に定型文を送るbotになります。
具体的な利用シーンとしては、朝会や終会の連絡、お昼時間のアナウンス等に利用できると思います。
準備すること
過去の記事で前準備作業はまとめていますので、参考下さい。

手順
- GoogleSpreadSheetsを新規作成する
- スクリプトエディタ(GAS)を開く
- コードを埋め込む
- ChatWrokライブラリを設定する
- ウェブアプリケーションとして登録する
- ChatWrokのwebhookに登録する
- 実行テスト
- 定刻に実行する設定をする
- 動作確認
- 完了
GoogleSpreadSheetsを新規作成する
GoogleDriveのTOPページからSpreadSheetsを新規作成します。
(+新規 > Googleスプレッドシート)

スクリプトエディタ(GAS)を開く
作成したSpreadSheetsにてGASを開きます。
(ツール > スクリプトエディタ)

コードを埋め込む
開かれたGASに下記、サンプルコードを埋め込んでいきます。

サンプルコード
// チャット通知
function chatNotify() {
var client = ChatWorkClient.factory({token: "XXXXXXXXXXXX"}); // ①Chatwork API トークンを記載
client.sendMessage({
room_id: XXXXXXXXXXXX, // ②チャットを通知したいチャットのIDを記載
body:
"[toall]" + '\n' +
"おはようございます。" + '\n' +
"本日もより良い1日を!"});
// ③送信メッセージを記載
// 送信するチャットに改行を入れたいときは「\n」を使いましょう。
}
可変項目
下記3点を変更いただければサンプルコードを活用いただけます。
- APIトークン
- 送信先ルームID
- 送信メッセージ内容
ChatWrokライブラリを設定する
ChatWorkと連携するために専用ライブラリを設定します。
(ライブラリ > +ボタン)
1.開かれた「ライブラリの追加」にあるスクリプトID欄にIDを入力し、検索ボタンを押下
2.バージョンを選択し、追加ボタンを押下
3.ライブラリ欄にChatWorkClientが追加されていることを確認し、完了

スクリプトID: 1nf253qsOnZ-RcdcFu1Y2v4pGwTuuDxN5EbuvKEZprBWg764tjwA5fLav
バージョン: 18
ウェブアプリケーションとして登録する
作成したプログラムをウェブアプリケーションとして利用できるように登録していきます。
(デプロイ > 新しいデプロイ > ⚙マーク > ウェブアプリ)
1.開かれた「新しいデプロイ」にある新しい説明文に適当な名前をつける
2.その他は参考画像通りに選択する
3.デプロイボタンを押下する




ChatWrokのwebhookに登録する
実際にChatWorkと連携するためにChatWorkにWebhookの設定も行っていきます。
(アカウント情報 > サービス連携 > Webhook > 新規作成)
1.Webhookの新規作成の名前に適当な名前をつける
2.URLにウェブアプリケーションを登録した際のウェブアプリURLをコピペする
3.その他は参考画像通りに選択する
4.作成ボタンを押下する



実行テスト
実際にプログラムを実行して、正常に動くか確認します。
※初回実行時にアクセス権限を求められるのでアカウント認証を行ってください。


定刻に実行する設定をする
定刻通りに作成したプログラムを実行するために、GASのトリガーに時間設定を行います。
1.GASの左メニューにあるトリガーを選択
2.トリガーを追加ボタンを押下
3.実行したい時間を設定
4.保存ボタンを押下し、完了



動作確認
定刻になって正常に実行されていることを確認します。
完了
以上、定刻に定型文を送るbotの完成です。
まとめ
いかがだったでしょうか?
今回作成した定刻に定型文を送るbotの仕組みを活用して、毎日行う作業をbotに任せることができると思いますので、是非参考にしていただけたら嬉しいです。
次回、メンションされた投稿を拾い上げる仕組みを作成していきますので、お楽しみに。
