Showing
7 changed files
with
94 additions
and
5 deletions
.vscode/launch.json
0 → 100644
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 |
Youtube API/.vscode/launch.json
0 → 100644
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 | ... | ... |
... | @@ -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,17 +58,59 @@ function trans(replyToken, message) { | ... | @@ -53,17 +58,59 @@ 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 | //↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ |
65 | 108 | ||
109 | + | ||
110 | + console.log("11111"); | ||
66 | console.log(body.message); | 111 | console.log(body.message); |
112 | + console.log("11111"); | ||
113 | + // console.log(typeof(response.data.items[0].snippet.title)); | ||
67 | 114 | ||
68 | request.post( | 115 | request.post( |
69 | { | 116 | { |
... | @@ -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 | } | ... | ... |
-
Please register or login to post a comment