[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