LINE Developer의 관리 화면의 "검증"버튼에서 연결 확인 성공
11380 단어 LINEmessagingAPILinelinebotNode.js
관리 화면의 "검증"버튼 위치
이 페이지의 페이지
이것입니다.
지금까지는 성공하거나 하지 않거나...
지금까지의 코드에서는 이런 느낌에 접속 확인시의 통신을 판단하고 있었습니다.
(일부 발췌)
app.post('/webhook', line.middleware(config), (req, res) => {
console.log(req.body.events);
//ここのif分はdeveloper consoleの"接続確認"用なので削除して問題ないです。
if(req.body.events[0].replyToken === '00000000000000000000000000000000' && req.body.events[1].replyToken === 'ffffffffffffffffffffffffffffffff'){
res.send('Hello LINE BOT!(POST)');
console.log('疎通確認用');
return;
}
Promise
.all(req.body.events.map(handleEvent))
.then((result) => res.json(result));
});
조금 전(2020년 9월 정도?)에서는, 성공하거나 하지 않거나 해서 너무 많이 맞추지 않았다
그러자 최근(2020년 11월 현재) 전혀 성공하지 못했습니다.
다만, 그 검증 이외는 보통으로 움직이고, 그 if문소하면 지워서 보통으로 검증 성공하기 때문에 괜찮다고 생각했습니다만, 이번 이것을 해소해 보려고 하고, 성공했으므로 공유해 다
검증 성공한 소스 코드
완성 코드입니다만, 채널 시크릿이나 액세스 토큰은 각각 치환 부탁합니다
'use strict';
const express = require('express');
const line = require('@line/bot-sdk');
const PORT = process.env.PORT || 3000;
const config = {
channelSecret: '作成したBOTのチャンネルシークレット',
channelAccessToken: '作成したBOTのチャンネルアクセストークン'
};
const app = express();
app.get('/', (req, res) => res.send('Hello LINE BOT!(GET)')); //ブラウザ確認用(無くても問題ない)
app.post('/webhook', line.middleware(config), (req, res) => {
console.log(req.body.events);
// 空っぽの場合、検証ボタンをクリックしたときに飛んできた"接続確認"用
if (req.body.events.length == 0) {
res.send('Hello LINE BOT! (HTTP POST)'); // LINEサーバーに返答します
console.log('検証イベントを受信しました!'); // ターミナルに表示します
return; // これより下は実行されません
}
Promise
.all(req.body.events.map(handleEvent))
.then((result) => res.json(result));
});
const client = new line.Client(config);
async function handleEvent(event) {
if (event.type !== 'message' || event.message.type !== 'text') {
return Promise.resolve(null);
}
return client.replyMessage(event.replyToken, {
type: 'text',
text: event.message.text //実際に返信の言葉を入れる箇所
});
}
app.listen(PORT);
console.log(`Server running at ${PORT}`);
받는 데이터의 events는 검증시 비어있었습니다.
또, 이전에는 성공하거나 하지 않았거나 했습니다만, 거의 거의 검증이 정확하게 되어 있을 것 같았습니다!
이렇게 함으로써 검증 버튼으로부터의 통신인지, 보통 BOT에게 말한 통신인지를 알게 되었습니다.
Reference
이 문제에 관하여(LINE Developer의 관리 화면의 "검증"버튼에서 연결 확인 성공), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tkyko13/items/db9ea1636d2c04e7c976텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)