Syntax Error.

[Sy] ChatWork に通知を送る( Web API + Node.js )

2018/02/01

先日 ChatWorkAPI を使ってメッセージを送るという記事を書きました。今回は同じことを 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-lib

chatwork.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