[Sy] ChatWork に通知を送る( Web API + Node.js )
2018/02/01
先日 ChatWork に API を使ってメッセージを送るという記事を書きました。今回は同じことを Node.js でやってみます。
以前の記事はこちらです。
⇒ [Sy] ChatWork に通知を送る(Web API 利用)Node.js で通知を送ってみる
以下のコードを chatwork.js
として保存しておきます。
const chatwork = (params) => {
let https = require('https');
let host = 'api.chatwork.com';
let data = 'body=' + params['message'];
let options = {
hostname: host,
port: 443,
path: '/v2/rooms/' + params['roomId'] + '/messages',
method: 'POST',
headers: {
'X-ChatWorkToken': params['token'],
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': Buffer.byteLength(data)
}
};
let req = https.request(options, (res) => {
console.log('status code : ' + res.statusCode);
res.setEncoding('utf8');
res.on('data', (d) => {
console.log(d)
});
});
req.on('error', (e) => {
console.error(e)
;});
req.write(data);
req.end();
}
module.exports = chatwork;
(上記コードは以下に公開しています)
⇒ js-lib/chatwork.js at master · utano320/js-libchatwork.js
を別のファイルから require して使います。
例として、 test.js
を以下のように作成します。
const chatwork = require('./chatwork');
chatwork({
roomId: 'XXXXXXX',
token: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
message: 'Hello ChatWork!'
});
chatwork()
に渡すオブジェクトは、
- roomId : メッセージを送りたい room の URLにある
rid
の後ろの数字 - token:発行した APIトークン
- message : 送信するメッセージ
とします。
あとは実行すると、ChatWork に通知が送られます。
$ node test.js