[Node.js request] LINE Notifyでテキスト/画像を送信

動作確認環境

・Mac OS X(10.14 Mojave)
・Node.js v8.8.0
・npm v5.5.1
・request v2.88.0


コード

例外処理ちゃんとしてない(考えてない)ので実運用時には各自で考慮してください。

const fs = require('fs');
const request = require('request');

const LINE_NOTIFY_URL = 'https://notify-api.line.me/api/notify';

class Line {
  constructor (token) {
    this.session = request.defaults({
      url: LINE_NOTIFY_URL,
      headers: {Authorization: 'Bearer '+ token},
    });
  }

  send (msg, fpath=null) {
    let data = {message: msg};
    if (fpath !== null) {
      data["imageFile"] = fs.createReadStream(fpath);
    }
    let r = this.session.post({formData: data}, function (error, response, body) {
      // コールバック
    });
  }
}


使用例

const LINE_TOKEN = "YourLineNotifyToken";
line = new Line(LINE_TOKEN);
line.send("hoge");
line.send("fuga", "test.png");


注意事項

sleep噛ませる時は、↓のツイートを参考にしてください


参考(axios)を使う例

めだかさんがgistでサンプルコード公開してくださってます


参考サイト


今回は使ってないけど、↓のようなモジュールもあるみたい。ただし、更新が2017年で停止している模様(LINE NotifyのAPI仕様が変わっておらず、更新不要なだけかも)


おわりに

有料(¥100)にしてるけど、これで内容は全部です。募金してくれる人がいれば、ジュース代としていただけると嬉しい。コードは、インデントくずれが起きたりするようなので、コピペ時には注意してください。


マガジン


コメント用


干し芋


続きをみるには

残り 0字

¥ 100

サポート頂けると励みになります BTC,BCH: 39kcicufyycWVf8gcGxgsFn2B8Nd7reNUA LTC: LUFGHgdx1qqashDw4WxDcSYQPzd9w9f3iL MONA: MJXExiB7T7FFXKYf9SLqykrtGYDFn3gnaM