Showing
7 changed files
with
95 additions
and
6 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,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 | } | ... | ... |
-
Please register or login to post a comment