GASとChatworkを連携してメッセージを送信する方法
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
参考サイト
関連記事
-
GASで特定サイトをスクレイピングし、画像をGoogleドライブに保存
Google Apps Scriptで特定のサイトにスクレイピングし、画像が掲載 ...
-
GASとGoogleアナリティクスを連携させ昨日分のアクセス数TOP3位のページタイトル及び合計アクセス数を取得する方法
GASとGoogleアナリティクスを連携させて「昨日分のアクセス数TOP3位のペ ...
-
GASで「小説家になろう」サイトの更新通知をLINEに送る方法
Google Apps Scriptの勉強として「小説家になろう」サイトの特定小 ...
-
GASとGmailを連携させて受信メール検索及びメール送信
Google Apps ScriptとGmailを連携させてみたい。「未読かつ特 ...
-
GoogleスプレッドシートとPHPを連携させデータを取得・追記する方法
GoogleスプレッドシートとPHPプログラムを連携させたいという案件をたまに見 ...