Ubuntu

Trying to connect LineBot

{
// IntelliSense를 사용하여 가능한 특성에 대해 알아보세요.
// 기존 특성에 대한 설명을 보려면 가리킵니다.
// 자세한 내용을 보려면 https://go.microsoft.com/fwlink/?linkid=830387을(를) 방문하세요.
"version": "0.2.0",
"configurations": [
{
"type": "pwa-node",
"request": "launch",
"name": "Launch Program",
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}/index.js"
}
]
}
\ No newline at end of file
{
// IntelliSense를 사용하여 가능한 특성에 대해 알아보세요.
// 기존 특성에 대한 설명을 보려면 가리킵니다.
// 자세한 내용을 보려면 https://go.microsoft.com/fwlink/?linkid=830387을(를) 방문하세요.
"version": "0.2.0",
"configurations": [
{
"type": "pwa-node",
"request": "launch",
"name": "Launch Program",
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}/playlistbyid.js"
}
]
}
\ No newline at end of file
......@@ -16,6 +16,6 @@ service.videos.list({
if(video.length ==0){
console.log('검색된 동영상이 없습니다.');
} else {
console.log(JSON.stringify(response.data.items[0],null,4));
console.log(JSON.stringify(response.data.items[0],null,4)); // 콘솔에 출력
}
})
\ No newline at end of file
......
api를 통해 얻어온 유튜브 영상 제목 모두 혹은 랜덤하게 한개 를 라인을 통해 사용자에게 보낼 예정
내가 할 일 : ( api를 통해 얻어온 유튜브 영상 제목 모두 ) or ( 랜덤하게 한개 ) 를 라인을 통해 사용자에게 보내는 방법 찾기
ex)
사용자: 슬픈 노래 추천해줘
......
......@@ -13,6 +13,11 @@ const sslport = 23023;
const bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
/// ----
var { google } = require('googleapis');
/// ----
app.post('/hook', function (req, res) {
var eventObj = req.body.events[0];
......@@ -53,18 +58,60 @@ function trans(replyToken, message) {
// 위에 PAPAGO API부분은 추후 API를 연동시킬 때 맞춰서 작성하기 쉽도록 템플릿을 남겨놓았습니다. 자세한 정보는 교수님 학습 자료의 experiment의 trans 폴더를 참고하세요.
// (현재 코드에선 PAPAGO API의 작동 결과는 반영되지 않습니다.)
//↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
// var sendMessage;
// --------
if (message=="노래 추천해줘")
{
var sendMessage = "아이유의 노래를 추천드립니다.";
console.log(typeof(sendMessage));
console.log(sendMessage);
}
else
{
var sendMessage = "무슨 말인지 못알아먹겠습니다";
// var sendMessage = "무슨 말인지 못알아먹겠습니다";
// --------
var service = google.youtube('v3');
service.videos.list({
key: 'AIzaSyBInggOtXxPFYIRee0Xs3vb5iZ9YE9_518',
part: 'snippet,statistics',
id: 'p5iu1V30myk', // 동영상 Id
fields: 'items(snippet(title))'
}, function(err, response) {
if (err) {
console.log('The API returned an error: ',err);
return;
}
var video = response.data.items;
if(video.length ==0){
console.log('검색된 동영상이 없습니다.');
} else {
// var sendMessage ="123";
// console.log(JSON.stringify(response.data.items[0].snippet.title));// 콘솔에 출력
// console.log(JSON.stringify(response.data.items[0].snippet));// 콘솔에 출력
// console.log(JSON.stringify(response.data.items[0]));// 콘솔에 출력
// console.log(JSON.stringify(response.data));// 콘솔에 출력
var sendMessage = JSON.stringify(response.data.items[0].snippet.title);
// sendMessage = response.data.items[0].snippet.title;
console.log(sendMessage);
console.log(typeof (sendMessage));
}
})
// // --------
}
//↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
console.log("11111");
console.log(body.message);
console.log("11111");
// console.log(typeof(response.data.items[0].snippet.title));
request.post(
{
url: TARGET_URL,
......@@ -85,7 +132,6 @@ function trans(replyToken, message) {
});
}
});
}
try {
......
This diff is collapsed. Click to expand it.
......@@ -9,7 +9,14 @@
"author": "",
"license": "ISC",
"dependencies": {
"destroyer": "0.0.0",
"express": "^4.17.1",
"request": "^2.88.2"
"googleapis": "^74.2.0",
"http": "0.0.1-security",
"oauth2": "0.0.1",
"opn": "^6.0.0",
"request": "^2.88.2",
"server-destroy": "^1.0.1",
"url": "^0.11.0"
}
}
......