API Gateway の endpoint にアクセスしたら LINE に PUSH してみます。
ブラウザには SUCCESS という文字列を返してみます。
手順
- LINE BOT を作ります
- 環境変数にアクセストークンを設定します
- Lambda Function と API Gatewayを作ります
index.js/************************************ require('https') ************************************/ var https = require('https'); var CHANNEL_ACCESS_TOKEN = process.env.token; var USER_ID = "ID"; var text = "hello!!"; /************************************ exports.handler ************************************/ exports.handler = async function(event) { var body = event['body']; var jobj = JSON.parse(body); var results = await getData(); var json = returnJson(results); return json; } //Promise function getData() { return new Promise(resolveFunc); } /************************************ https.request ************************************/ function resolveFunc(callback) { var req = https.request(getOptions(), function(){ callback("SUCCESS"); }); req.write(getPostData()); req.end(); }; /************************************ getOptions ************************************/ function getOptions() { var options = { "method": 'POST', "host": 'api.line.me', "path": '/v2/bot/message/push', "headers": { "Content-type": "application/json", 'Content-Length': Buffer.byteLength(getPostData()), "Authorization": " Bearer " + CHANNEL_ACCESS_TOKEN } } return options; } /************************************ getPostData() ************************************/ function getPostData() { var data = { "to": USER_ID, "messages": [{ "type": "text", "text": text, }] }; var postData = JSON.stringify(data); return postData; } //JSONを返す function returnJson(results) { const response = { body: results, }; return response; } |