勉強したことのメモ

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とGmailを連携させて受信メール検索及びメール送信
GASとGmailを連携させて受信メール検索及びメール送信

Google Apps ScriptとGmailを連携させてみたい。「未読かつ特 ...

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

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

GoogleスプレッドシートとPHPを連携させデータを取得・追記する方法
GoogleスプレッドシートとPHPを連携させデータを取得・追記する方法

GoogleスプレッドシートとPHPプログラムを連携させたいという案件をたまに見 ...

GASを利用してGmailに届いたメール内容をGoogleスプレッドシートに記入する方法
GASを利用してGmailに届いたメール内容をGoogleスプレッドシートに記入する方法

WordPressのContact Form7から送信した内容をGmailで受け ...

GASで特定サイトをスクレイピングし、画像をGoogleドライブに保存
GASで特定サイトをスクレイピングし、画像をGoogleドライブに保存

Google Apps Scriptで特定のサイトにスクレイピングし、画像が掲載 ...