勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

GASとChatworkを連携してメッセージを送信する方法

  Google Apps Script Google

Google Apps Scriptの勉強として「Chatwork」と連携させてみたい。具体的にはGAS上のスクリプトからマイチャットや指定したルームに何らかのメッセージを送信してみたかった。調べてみるとライブラリで簡単に対応できる模様。以下に対応方法をメモ。

 

Chatwork側の作業

まずAPIトークンを発行する必要がある。Chatworkにログインし、「ページ上部メニュー内の一番右にある人物アイコン」→「サービス連携」→「左側メニュー内のAPI Token」→「パスワードを入力」→「表示ボタンをクリック」と進むとトークンが発行されるのでメモしておく。

尚、APIのリファレンスは以下になる。

https://developer.chatwork.com/ja/

 

GAS側の作業

ライブラリの追加

Chatwork APIと簡単に連携が取られるライブラリがあるので以下スクリプトIDから追加する。

1nf253qsOnZ-RcdcFu1Y2v4pGwTuuDxN5EbuvKEZprBWg764tjwA5fLav

マイチャットに送信する場合

function sendMessage(){
	//APIトークンを指定する
	const client = ChatWorkClient.factory({token: 'xxxxxxxxxx'});

	//メッセージ内容
	const message = "テストです。\n改行\nテストです。";

	//マイチャットにメッセージを送る
	client.sendMessageToMyChat(message);
}

指定のルームに送信する場合

function sendMessage(){
	//APIトークンを指定する
	const client = ChatWorkClient.factory({token: 'xxxxxxxxxx'});

	//メッセージ内容
	const message = "テストです。\n改行\nテストです。";

	//ルームID
	const room_id = 'xxxxxxxxxx';

	//メッセージを送る
	client.sendMessage(
		{
			room_id: room_id,
			body: message
		}
	);
}

Chatworkで何らかのルームを開くと「https://www.chatwork.com/#!rid123456789」みたいなURLになるが「123456789」の部分がルームIDになる。

注意点

メッセージはAPIトークンを発行したアカウントから送信される。もちろん送信者名もそのアカウントで設定されている名前になる。

また、Chatwork APIへはライブラリからUrlFetchAppでリクエストしているので利用制限に注意。ライブラリのソースは以下を参照。

https://github.com/cw-shibuya/chatwork-client-gas/blob/master/client.js

 

参考サイト

https://www.indetail.co.jp/blog/171222/

https://tonari-it.com/gas-chatwork-send-message-mychat/

 - Google Apps Script Google

  関連記事

GASとGoogleカレンダを連携し暦通りではない店休日を取得する方法
GASとGoogleカレンダを連携し暦通りではない店休日を取得する方法

小売店等のサイトで営業日カレンダーみたいなものを表示させる際に今まではPHPで管 ...

GASとLINEを連携させて通知メッセージを送る方法のメモ
GASとLINEを連携させて通知メッセージを送る方法のメモ

Google Apps ScriptとLINEを連携させ、LINEに何らかの通知 ...

GASを使ってみて感じたメリットとデメリット
GASを使ってみて感じたメリットとデメリット

Google Apps Scriptを色々勉強した中で感じたメリットとデメリット ...

GASでGoogleカレンダーと連携してイベントの取得・追加・削除
GASでGoogleカレンダーと連携してイベントの取得・追加・削除

Google Apps Scriptの勉強としてGoogleカレンダーと連携させ ...

GASを使って任天堂ホームページ更新情報のRSSを取得する方法
GASを使って任天堂ホームページ更新情報のRSSを取得する方法

GASを使ってRSSを取得してみたい。今回はニンテンドーホームページ更新情報とい ...