Ubuntu

Trying to connect LineBot

1 +{
2 + // IntelliSense를 사용하여 가능한 특성에 대해 알아보세요.
3 + // 기존 특성에 대한 설명을 보려면 가리킵니다.
4 + // 자세한 내용을 보려면 https://go.microsoft.com/fwlink/?linkid=830387을(를) 방문하세요.
5 + "version": "0.2.0",
6 + "configurations": [
7 + {
8 + "type": "pwa-node",
9 + "request": "launch",
10 + "name": "Launch Program",
11 + "skipFiles": [
12 + "<node_internals>/**"
13 + ],
14 + "program": "${workspaceFolder}/index.js"
15 + }
16 + ]
17 +}
...\ No newline at end of file ...\ No newline at end of file
1 +{
2 + // IntelliSense를 사용하여 가능한 특성에 대해 알아보세요.
3 + // 기존 특성에 대한 설명을 보려면 가리킵니다.
4 + // 자세한 내용을 보려면 https://go.microsoft.com/fwlink/?linkid=830387을(를) 방문하세요.
5 + "version": "0.2.0",
6 + "configurations": [
7 + {
8 + "type": "pwa-node",
9 + "request": "launch",
10 + "name": "Launch Program",
11 + "skipFiles": [
12 + "<node_internals>/**"
13 + ],
14 + "program": "${workspaceFolder}/playlistbyid.js"
15 + }
16 + ]
17 +}
...\ No newline at end of file ...\ No newline at end of file
...@@ -16,6 +16,6 @@ service.videos.list({ ...@@ -16,6 +16,6 @@ service.videos.list({
16 if(video.length ==0){ 16 if(video.length ==0){
17 console.log('검색된 동영상이 없습니다.'); 17 console.log('검색된 동영상이 없습니다.');
18 } else { 18 } else {
19 - console.log(JSON.stringify(response.data.items[0],null,4)); 19 + console.log(JSON.stringify(response.data.items[0],null,4)); // 콘솔에 출력
20 } 20 }
21 }) 21 })
...\ No newline at end of file ...\ No newline at end of file
......
1 -api를 통해 얻어온 유튜브 영상 제목 모두 혹은 랜덤하게 한개 를 라인을 통해 사용자에게 보낼 예정 1 +내가 할 일 : ( api를 통해 얻어온 유튜브 영상 제목 모두 ) or ( 랜덤하게 한개 ) 를 라인을 통해 사용자에게 보내는 방법 찾기
2 +
3 +
2 4
3 ex) 5 ex)
4 사용자: 슬픈 노래 추천해줘 6 사용자: 슬픈 노래 추천해줘
......
...@@ -13,6 +13,11 @@ const sslport = 23023; ...@@ -13,6 +13,11 @@ const sslport = 23023;
13 const bodyParser = require('body-parser'); 13 const bodyParser = require('body-parser');
14 var app = express(); 14 var app = express();
15 app.use(bodyParser.json()); 15 app.use(bodyParser.json());
16 +
17 +/// ----
18 +var { google } = require('googleapis');
19 +/// ----
20 +
16 app.post('/hook', function (req, res) { 21 app.post('/hook', function (req, res) {
17 22
18 var eventObj = req.body.events[0]; 23 var eventObj = req.body.events[0];
...@@ -53,18 +58,60 @@ function trans(replyToken, message) { ...@@ -53,18 +58,60 @@ function trans(replyToken, message) {
53 // 위에 PAPAGO API부분은 추후 API를 연동시킬 때 맞춰서 작성하기 쉽도록 템플릿을 남겨놓았습니다. 자세한 정보는 교수님 학습 자료의 experiment의 trans 폴더를 참고하세요. 58 // 위에 PAPAGO API부분은 추후 API를 연동시킬 때 맞춰서 작성하기 쉽도록 템플릿을 남겨놓았습니다. 자세한 정보는 교수님 학습 자료의 experiment의 trans 폴더를 참고하세요.
54 // (현재 코드에선 PAPAGO API의 작동 결과는 반영되지 않습니다.) 59 // (현재 코드에선 PAPAGO API의 작동 결과는 반영되지 않습니다.)
55 //↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 60 //↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
61 + // var sendMessage;
62 +
63 + // --------
56 if (message=="노래 추천해줘") 64 if (message=="노래 추천해줘")
57 { 65 {
58 var sendMessage = "아이유의 노래를 추천드립니다."; 66 var sendMessage = "아이유의 노래를 추천드립니다.";
67 + console.log(typeof(sendMessage));
68 + console.log(sendMessage);
69 +
59 } 70 }
60 else 71 else
61 { 72 {
62 - var sendMessage = "무슨 말인지 못알아먹겠습니다"; 73 + // var sendMessage = "무슨 말인지 못알아먹겠습니다";
74 +
75 + // --------
76 + var service = google.youtube('v3');
77 + service.videos.list({
78 + key: 'AIzaSyBInggOtXxPFYIRee0Xs3vb5iZ9YE9_518',
79 + part: 'snippet,statistics',
80 + id: 'p5iu1V30myk', // 동영상 Id
81 + fields: 'items(snippet(title))'
82 + }, function(err, response) {
83 + if (err) {
84 + console.log('The API returned an error: ',err);
85 + return;
86 + }
87 +
88 + var video = response.data.items;
89 + if(video.length ==0){
90 + console.log('검색된 동영상이 없습니다.');
91 + } else {
92 + // var sendMessage ="123";
93 + // console.log(JSON.stringify(response.data.items[0].snippet.title));// 콘솔에 출력
94 + // console.log(JSON.stringify(response.data.items[0].snippet));// 콘솔에 출력
95 + // console.log(JSON.stringify(response.data.items[0]));// 콘솔에 출력
96 + // console.log(JSON.stringify(response.data));// 콘솔에 출력
97 +
98 +
99 + var sendMessage = JSON.stringify(response.data.items[0].snippet.title);
100 + // sendMessage = response.data.items[0].snippet.title;
101 + console.log(sendMessage);
102 + console.log(typeof (sendMessage));
103 + }
104 + })
105 + // // --------
63 } 106 }
64 //↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 107 //↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
108 +
65 109
110 + console.log("11111");
66 console.log(body.message); 111 console.log(body.message);
67 - 112 + console.log("11111");
113 + // console.log(typeof(response.data.items[0].snippet.title));
114 +
68 request.post( 115 request.post(
69 { 116 {
70 url: TARGET_URL, 117 url: TARGET_URL,
...@@ -85,7 +132,6 @@ function trans(replyToken, message) { ...@@ -85,7 +132,6 @@ function trans(replyToken, message) {
85 }); 132 });
86 } 133 }
87 }); 134 });
88 -
89 } 135 }
90 136
91 try { 137 try {
......
This diff is collapsed. Click to expand it.
...@@ -9,7 +9,14 @@ ...@@ -9,7 +9,14 @@
9 "author": "", 9 "author": "",
10 "license": "ISC", 10 "license": "ISC",
11 "dependencies": { 11 "dependencies": {
12 + "destroyer": "0.0.0",
12 "express": "^4.17.1", 13 "express": "^4.17.1",
13 - "request": "^2.88.2" 14 + "googleapis": "^74.2.0",
15 + "http": "0.0.1-security",
16 + "oauth2": "0.0.1",
17 + "opn": "^6.0.0",
18 + "request": "^2.88.2",
19 + "server-destroy": "^1.0.1",
20 + "url": "^0.11.0"
14 } 21 }
15 } 22 }
......