AWS lambda node、標準のhttpsモジュールで、chatwork APIにpostしたいと思ったが、検索してもrequest-promiseを追加しろみたいな話しかなく、AWS lambdaの標準パッケージでサクッと試したいだけだったのにサクっといかなかった。
https://nodejs.org/api/https.html#https_https_request_options_callback
公式にはgetの記述しかないのでpostができないのか、と思ったらできた。
writeにたどりつかなかった……
(参考)
https://qastack.jp/programming/6158933/how-is-an-http-post-request-made-in-node-js
const https = require('https');
const querystring = require('querystring');
exports.handler = function(event, context){
var postMessage = 'テスト'
var post_data = querystring.stringify({body:postMessage});
let options = {
host: 'api.chatwork.com',
path: '/v2/rooms/{roomid}/messages',
port: 443,
headers: {
'X-ChatWorkToken': '{X-ChatWorkToken}',
'Content-Type': 'application/x-www-form-urlencoded',
},
method: 'POST',
};
var post_req = https.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('Response: ' + chunk);
context.succeed();
});
res.on('error', function (e) {
console.log("Got error: " + e.message);
context.done(null, 'FAILURE');
});
});
post_req.write(post_data);
post_req.end();
};