前提・実現したいこと
node.jsで外部依存モジュールを使用しないLINE BOTを作りたいです
###質問の内容
ネットでコピペして持ってきたのですが、
GASで実行すると
「構文エラー。(行 18、ファイル「コード」」
とエラーが発生します。
また、awsのlambdaで実行するとタイムアウトが発生します。
node.jsの初心者で、ググっても全くわからないです。
よろしくお願いします
該当のソースコード
'use strict'; const http = require('http'); const https = require('https'); const crypto = require('crypto'); const HOST = 'api.line.me'; const REPLY_PATH = '/v2/bot/message/reply';//リプライ用 const CH_SECRET = 'チャンネルシークレットを入力'; //Channel Secretを指定 const CH_ACCESS_TOKEN = 'トークンを入力'; //Channel Access Tokenを指定 const SIGNATURE = crypto.createHmac('sha256', CH_SECRET); const PORT = 3000; /** * httpリクエスト部分 */ const client = (replyToken,SendMessageObject)=>{ let postDataStr = JSON.stringify({ replyToken: replyToken, messages: SendMessageObject }); let options = { host: HOST, port: 443, path: REPLY_PATH, method: 'POST', headers: { 'Content-Type': 'application/json; charset=UTF-8', 'X-Line-Signature': SIGNATURE, 'Authorization': `Bearer ${CH_ACCESS_TOKEN}`, 'Content-Length': Buffer.byteLength(postDataStr) } }; return new Promise((resolve, reject) => { let req = https.request(options, (res) => { let body = ''; res.setEncoding('utf8'); res.on('data', (chunk) => { body += chunk; }); res.on('end', () => { resolve(body); }); }); req.on('error', (e) => { reject(e); }); req.write(postDataStr); req.end(); }); }; http.createServer((req, res) => { if(req.url !== '/' || req.method !== 'POST'){ res.writeHead(200, {'Content-Type': 'text/plain'}); res.end(''); } let body = ''; req.on('data', (chunk) => { body += chunk; }); req.on('end', () => { if(body === ''){ console.log('bodyが空です。'); return; } let WebhookEventObject = JSON.parse(body).events[0]; //メッセージが送られて来た場合 if(WebhookEventObject.type === 'message'){ let SendMessageObject; if(WebhookEventObject.message.type === 'text'){ SendMessageObject = [{ type: 'text', text: WebhookEventObject.message.text }]; } client(WebhookEventObject.replyToken, SendMessageObject) .then((body)=>{ console.log(body); },(e)=>{console.log(e)}); } res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('success'); }); }).listen(PORT); console.log(`Server running at ${PORT}`);
###エラーメッセージ
GASの場合
エラーメッセージ 構文エラー。(行 18、ファイル「コード」
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。