AWS Lambda Nodejs で chatwork へ post 送信
AWS の SNS で拾った内容を Lambda 経由でチャットワークへ送信するプログラム作成しました。Python で Lambda 作成して Chatwork に送信する記事はよくありますが、敢えて Nodejs で挑戦しました。
外部のモジュール使わずにもらったデータをチャットワークのフォーマットに合わせて送信しているだけなので、特に問題なくできました。
Chatwork 準備
Chatwork API の利用は組織管理者への申請してトークン取得する必要があります。
ルーム ID は URL から取得できます。
API 用のトークンとルーム ID がわかったら、もうほぼ出来上がり🎉
Lambda Nodejs で chatwork 送信
Cloudwatch から Lambda 経由で Chatwork 送信
基本的ににやっていることは一緒ですが、CloudWatch が base64 で圧縮しているため、ひと手間が必要
ChatWork の API について
チャットワークは社内コミュニケーションツールとして復旧して来ましたが、より良く使うために開発者向けに API 公開されております。
API の利用申請 (opens new window)
チャットワークの API でできること一覧
エンドポイント | 説明 |
me | 自分の情報を取得 |
my/status | 自分の状態を取得 |
my/tasks | 自分のタスク一覧を取得 |
contacts | コンタクト一覧を取得 |
rooms | チャット一覧を取得・チャットを作成 |
rooms/{room_id} | チャットの情報を取得・変更・退席/削除 |
rooms/{room_id}/members | チャットのメンバー一覧を取得・チャットのメンバーを変更 |
rooms/{room_id}/messages | チャットのメッセージ一覧を取得・チャットにメッセージを投稿 |
rooms/{room_id}/messages/read | チャットのメッセージを既読に |
rooms/{room_id}/messages/unread | チャットのメッセージを未読に |
rooms/{room_id}/messages/{message_id} | チャットのメッセージを取得・変更・削除 |
rooms/{room_id}/tasks | チャットのタスク一覧を取得・チャットにタスクを追加 |
rooms/{room_id}/tasks/{task_id} | チャットのタスクの情報を取得 |
rooms/{room_id}/tasks/{task_id}/status | チャットのタスクの状態を変更 |
rooms/{room_id}/files | チャットのファイル一覧を取得・チャットにファイルをアップロード |
rooms/{room_id}/files/{file_id} | チャットのファイルの情報を取得 |
rooms/{room_id}/link | チャットへの招待リンクを取得・作成・変更・削除 |
incoming_requests | コンタクト承認依頼一覧を取得 |
incoming_requests/{request_id} | コンタクト承認依頼を承認・コンタクト承認依頼を拒否 |
参考 Chatwork エンドポイント一覧 (opens new window)