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;
}
|
