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 {
......
...@@ -4,6 +4,14 @@ ...@@ -4,6 +4,14 @@
4 "lockfileVersion": 1, 4 "lockfileVersion": 1,
5 "requires": true, 5 "requires": true,
6 "dependencies": { 6 "dependencies": {
7 + "abort-controller": {
8 + "version": "3.0.0",
9 + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
10 + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
11 + "requires": {
12 + "event-target-shim": "^5.0.0"
13 + }
14 + },
7 "accepts": { 15 "accepts": {
8 "version": "1.3.7", 16 "version": "1.3.7",
9 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", 17 "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
...@@ -13,6 +21,29 @@ ...@@ -13,6 +21,29 @@
13 "negotiator": "0.6.2" 21 "negotiator": "0.6.2"
14 } 22 }
15 }, 23 },
24 + "agent-base": {
25 + "version": "6.0.2",
26 + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
27 + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
28 + "requires": {
29 + "debug": "4"
30 + },
31 + "dependencies": {
32 + "debug": {
33 + "version": "4.3.1",
34 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
35 + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
36 + "requires": {
37 + "ms": "2.1.2"
38 + }
39 + },
40 + "ms": {
41 + "version": "2.1.2",
42 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
43 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
44 + }
45 + }
46 + },
16 "ajv": { 47 "ajv": {
17 "version": "6.12.2", 48 "version": "6.12.2",
18 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", 49 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
...@@ -29,6 +60,11 @@ ...@@ -29,6 +60,11 @@
29 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 60 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
30 "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" 61 "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
31 }, 62 },
63 + "arrify": {
64 + "version": "2.0.1",
65 + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
66 + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug=="
67 + },
32 "asn1": { 68 "asn1": {
33 "version": "0.2.4", 69 "version": "0.2.4",
34 "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", 70 "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
...@@ -57,6 +93,11 @@ ...@@ -57,6 +93,11 @@
57 "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", 93 "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
58 "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" 94 "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug=="
59 }, 95 },
96 + "base64-js": {
97 + "version": "1.5.1",
98 + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
99 + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
100 + },
60 "bcrypt-pbkdf": { 101 "bcrypt-pbkdf": {
61 "version": "1.0.2", 102 "version": "1.0.2",
62 "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 103 "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
...@@ -65,6 +106,11 @@ ...@@ -65,6 +106,11 @@
65 "tweetnacl": "^0.14.3" 106 "tweetnacl": "^0.14.3"
66 } 107 }
67 }, 108 },
109 + "bignumber.js": {
110 + "version": "9.0.1",
111 + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz",
112 + "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA=="
113 + },
68 "body-parser": { 114 "body-parser": {
69 "version": "1.19.0", 115 "version": "1.19.0",
70 "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", 116 "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
...@@ -82,6 +128,11 @@ ...@@ -82,6 +128,11 @@
82 "type-is": "~1.6.17" 128 "type-is": "~1.6.17"
83 } 129 }
84 }, 130 },
131 + "buffer-equal-constant-time": {
132 + "version": "1.0.1",
133 + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
134 + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
135 + },
85 "bytes": { 136 "bytes": {
86 "version": "3.1.0", 137 "version": "3.1.0",
87 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", 138 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
...@@ -159,6 +210,11 @@ ...@@ -159,6 +210,11 @@
159 "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 210 "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
160 "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" 211 "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
161 }, 212 },
213 + "destroyer": {
214 + "version": "0.0.0",
215 + "resolved": "https://registry.npmjs.org/destroyer/-/destroyer-0.0.0.tgz",
216 + "integrity": "sha1-rwTVlXIN5PTg/gm7JzgjitekfqA="
217 + },
162 "ecc-jsbn": { 218 "ecc-jsbn": {
163 "version": "0.1.2", 219 "version": "0.1.2",
164 "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 220 "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
...@@ -168,6 +224,14 @@ ...@@ -168,6 +224,14 @@
168 "safer-buffer": "^2.1.0" 224 "safer-buffer": "^2.1.0"
169 } 225 }
170 }, 226 },
227 + "ecdsa-sig-formatter": {
228 + "version": "1.0.11",
229 + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
230 + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
231 + "requires": {
232 + "safe-buffer": "^5.0.1"
233 + }
234 + },
171 "ee-first": { 235 "ee-first": {
172 "version": "1.1.1", 236 "version": "1.1.1",
173 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 237 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
...@@ -188,6 +252,11 @@ ...@@ -188,6 +252,11 @@
188 "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 252 "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
189 "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" 253 "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
190 }, 254 },
255 + "event-target-shim": {
256 + "version": "5.0.1",
257 + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
258 + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="
259 + },
191 "express": { 260 "express": {
192 "version": "4.17.1", 261 "version": "4.17.1",
193 "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", 262 "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
...@@ -245,6 +314,11 @@ ...@@ -245,6 +314,11 @@
245 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 314 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
246 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" 315 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
247 }, 316 },
317 + "fast-text-encoding": {
318 + "version": "1.0.3",
319 + "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz",
320 + "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig=="
321 + },
248 "finalhandler": { 322 "finalhandler": {
249 "version": "1.1.2", 323 "version": "1.1.2",
250 "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", 324 "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
...@@ -284,6 +358,27 @@ ...@@ -284,6 +358,27 @@
284 "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 358 "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
285 "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" 359 "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
286 }, 360 },
361 + "gaxios": {
362 + "version": "4.3.0",
363 + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.0.tgz",
364 + "integrity": "sha512-pHplNbslpwCLMyII/lHPWFQbJWOX0B3R1hwBEOvzYi1GmdKZruuEHK4N9V6f7tf1EaPYyF80mui1+344p6SmLg==",
365 + "requires": {
366 + "abort-controller": "^3.0.0",
367 + "extend": "^3.0.2",
368 + "https-proxy-agent": "^5.0.0",
369 + "is-stream": "^2.0.0",
370 + "node-fetch": "^2.3.0"
371 + }
372 + },
373 + "gcp-metadata": {
374 + "version": "4.2.1",
375 + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.2.1.tgz",
376 + "integrity": "sha512-tSk+REe5iq/N+K+SK1XjZJUrFPuDqGZVzCy2vocIHIGmPlTGsa8owXMJwGkrXr73NO0AzhPW4MF2DEHz7P2AVw==",
377 + "requires": {
378 + "gaxios": "^4.0.0",
379 + "json-bigint": "^1.0.0"
380 + }
381 + },
287 "getpass": { 382 "getpass": {
288 "version": "0.1.7", 383 "version": "0.1.7",
289 "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 384 "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
...@@ -292,6 +387,69 @@ ...@@ -292,6 +387,69 @@
292 "assert-plus": "^1.0.0" 387 "assert-plus": "^1.0.0"
293 } 388 }
294 }, 389 },
390 + "google-auth-library": {
391 + "version": "7.1.0",
392 + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.1.0.tgz",
393 + "integrity": "sha512-X+gbkGjnLN3HUZP2W3KBREuA603BXd80ITvL0PeS0QpyDNYz/u0pIZ7aRuGnrSuUc0grk/qxEgtVTFt1ogbP+A==",
394 + "requires": {
395 + "arrify": "^2.0.0",
396 + "base64-js": "^1.3.0",
397 + "ecdsa-sig-formatter": "^1.0.11",
398 + "fast-text-encoding": "^1.0.0",
399 + "gaxios": "^4.0.0",
400 + "gcp-metadata": "^4.2.0",
401 + "gtoken": "^5.0.4",
402 + "jws": "^4.0.0",
403 + "lru-cache": "^6.0.0"
404 + }
405 + },
406 + "google-p12-pem": {
407 + "version": "3.0.3",
408 + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.0.3.tgz",
409 + "integrity": "sha512-wS0ek4ZtFx/ACKYF3JhyGe5kzH7pgiQ7J5otlumqR9psmWMYc+U9cErKlCYVYHoUaidXHdZ2xbo34kB+S+24hA==",
410 + "requires": {
411 + "node-forge": "^0.10.0"
412 + }
413 + },
414 + "googleapis": {
415 + "version": "74.2.0",
416 + "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-74.2.0.tgz",
417 + "integrity": "sha512-AF8RwmTbz8GGIza9LViokOUAsrEkB6gKwvIGXbgWEWzZO1+DRsbKSstHotDgUA4zdXhVtGkOW7uqNs/wz4rYNA==",
418 + "requires": {
419 + "google-auth-library": "^7.0.2",
420 + "googleapis-common": "^5.0.2"
421 + }
422 + },
423 + "googleapis-common": {
424 + "version": "5.0.2",
425 + "resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-5.0.2.tgz",
426 + "integrity": "sha512-TL7qronKNZwE/XBvqshwzCPmZGq2gz/beXzANF7EVoO7FsQjOd7dk40DYrXkoCpvbnJHCQKWESq6NansiIPFqA==",
427 + "requires": {
428 + "extend": "^3.0.2",
429 + "gaxios": "^4.0.0",
430 + "google-auth-library": "^7.0.2",
431 + "qs": "^6.7.0",
432 + "url-template": "^2.0.8",
433 + "uuid": "^8.0.0"
434 + },
435 + "dependencies": {
436 + "uuid": {
437 + "version": "8.3.2",
438 + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
439 + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
440 + }
441 + }
442 + },
443 + "gtoken": {
444 + "version": "5.2.1",
445 + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.2.1.tgz",
446 + "integrity": "sha512-OY0BfPKe3QnMsY9MzTHTSKn+Vl2l1CcLe6BwDEQj00mbbkl5nyQ/7EUREstg4fQNZ8iYE7br4JJ7TdKeDOPWmw==",
447 + "requires": {
448 + "gaxios": "^4.0.0",
449 + "google-p12-pem": "^3.0.3",
450 + "jws": "^4.0.0"
451 + }
452 + },
295 "har-schema": { 453 "har-schema": {
296 "version": "2.0.0", 454 "version": "2.0.0",
297 "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", 455 "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
...@@ -306,6 +464,11 @@ ...@@ -306,6 +464,11 @@
306 "har-schema": "^2.0.0" 464 "har-schema": "^2.0.0"
307 } 465 }
308 }, 466 },
467 + "http": {
468 + "version": "0.0.1-security",
469 + "resolved": "https://registry.npmjs.org/http/-/http-0.0.1-security.tgz",
470 + "integrity": "sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g=="
471 + },
309 "http-errors": { 472 "http-errors": {
310 "version": "1.7.2", 473 "version": "1.7.2",
311 "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", 474 "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
...@@ -328,6 +491,30 @@ ...@@ -328,6 +491,30 @@
328 "sshpk": "^1.7.0" 491 "sshpk": "^1.7.0"
329 } 492 }
330 }, 493 },
494 + "https-proxy-agent": {
495 + "version": "5.0.0",
496 + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
497 + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
498 + "requires": {
499 + "agent-base": "6",
500 + "debug": "4"
501 + },
502 + "dependencies": {
503 + "debug": {
504 + "version": "4.3.1",
505 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
506 + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
507 + "requires": {
508 + "ms": "2.1.2"
509 + }
510 + },
511 + "ms": {
512 + "version": "2.1.2",
513 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
514 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
515 + }
516 + }
517 + },
331 "iconv-lite": { 518 "iconv-lite": {
332 "version": "0.4.24", 519 "version": "0.4.24",
333 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 520 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
...@@ -346,11 +533,21 @@ ...@@ -346,11 +533,21 @@
346 "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 533 "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
347 "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" 534 "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
348 }, 535 },
536 + "is-stream": {
537 + "version": "2.0.0",
538 + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
539 + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw=="
540 + },
349 "is-typedarray": { 541 "is-typedarray": {
350 "version": "1.0.0", 542 "version": "1.0.0",
351 "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 543 "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
352 "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" 544 "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
353 }, 545 },
546 + "is-wsl": {
547 + "version": "1.1.0",
548 + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
549 + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0="
550 + },
354 "isstream": { 551 "isstream": {
355 "version": "0.1.2", 552 "version": "0.1.2",
356 "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 553 "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
...@@ -361,6 +558,14 @@ ...@@ -361,6 +558,14 @@
361 "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 558 "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
362 "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" 559 "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
363 }, 560 },
561 + "json-bigint": {
562 + "version": "1.0.0",
563 + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
564 + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
565 + "requires": {
566 + "bignumber.js": "^9.0.0"
567 + }
568 + },
364 "json-schema": { 569 "json-schema": {
365 "version": "0.2.3", 570 "version": "0.2.3",
366 "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 571 "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
...@@ -387,6 +592,33 @@ ...@@ -387,6 +592,33 @@
387 "verror": "1.10.0" 592 "verror": "1.10.0"
388 } 593 }
389 }, 594 },
595 + "jwa": {
596 + "version": "2.0.0",
597 + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz",
598 + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==",
599 + "requires": {
600 + "buffer-equal-constant-time": "1.0.1",
601 + "ecdsa-sig-formatter": "1.0.11",
602 + "safe-buffer": "^5.0.1"
603 + }
604 + },
605 + "jws": {
606 + "version": "4.0.0",
607 + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz",
608 + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==",
609 + "requires": {
610 + "jwa": "^2.0.0",
611 + "safe-buffer": "^5.0.1"
612 + }
613 + },
614 + "lru-cache": {
615 + "version": "6.0.0",
616 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
617 + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
618 + "requires": {
619 + "yallist": "^4.0.0"
620 + }
621 + },
390 "media-typer": { 622 "media-typer": {
391 "version": "0.3.0", 623 "version": "0.3.0",
392 "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 624 "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
...@@ -430,11 +662,26 @@ ...@@ -430,11 +662,26 @@
430 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", 662 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
431 "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" 663 "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
432 }, 664 },
665 + "node-fetch": {
666 + "version": "2.6.1",
667 + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
668 + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
669 + },
670 + "node-forge": {
671 + "version": "0.10.0",
672 + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz",
673 + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA=="
674 + },
433 "oauth-sign": { 675 "oauth-sign": {
434 "version": "0.9.0", 676 "version": "0.9.0",
435 "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", 677 "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
436 "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" 678 "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
437 }, 679 },
680 + "oauth2": {
681 + "version": "0.0.1",
682 + "resolved": "https://registry.npmjs.org/oauth2/-/oauth2-0.0.1.tgz",
683 + "integrity": "sha1-fOkerI4vEuyS4KxwjftI74jU0t0="
684 + },
438 "on-finished": { 685 "on-finished": {
439 "version": "2.3.0", 686 "version": "2.3.0",
440 "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 687 "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
...@@ -443,6 +690,14 @@ ...@@ -443,6 +690,14 @@
443 "ee-first": "1.1.1" 690 "ee-first": "1.1.1"
444 } 691 }
445 }, 692 },
693 + "opn": {
694 + "version": "6.0.0",
695 + "resolved": "https://registry.npmjs.org/opn/-/opn-6.0.0.tgz",
696 + "integrity": "sha512-I9PKfIZC+e4RXZ/qr1RhgyCnGgYX0UEIlXgWnCOVACIvFgaC9rz6Won7xbdhoHrd8IIhV7YEpHjreNUNkqCGkQ==",
697 + "requires": {
698 + "is-wsl": "^1.1.0"
699 + }
700 + },
446 "parseurl": { 701 "parseurl": {
447 "version": "1.3.3", 702 "version": "1.3.3",
448 "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 703 "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
...@@ -482,6 +737,11 @@ ...@@ -482,6 +737,11 @@
482 "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", 737 "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
483 "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" 738 "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
484 }, 739 },
740 + "querystring": {
741 + "version": "0.2.0",
742 + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
743 + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
744 + },
485 "range-parser": { 745 "range-parser": {
486 "version": "1.2.1", 746 "version": "1.2.1",
487 "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 747 "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
...@@ -580,6 +840,11 @@ ...@@ -580,6 +840,11 @@
580 "send": "0.17.1" 840 "send": "0.17.1"
581 } 841 }
582 }, 842 },
843 + "server-destroy": {
844 + "version": "1.0.1",
845 + "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz",
846 + "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0="
847 + },
583 "setprototypeof": { 848 "setprototypeof": {
584 "version": "1.1.1", 849 "version": "1.1.1",
585 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", 850 "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
...@@ -655,6 +920,27 @@ ...@@ -655,6 +920,27 @@
655 "punycode": "^2.1.0" 920 "punycode": "^2.1.0"
656 } 921 }
657 }, 922 },
923 + "url": {
924 + "version": "0.11.0",
925 + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
926 + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
927 + "requires": {
928 + "punycode": "1.3.2",
929 + "querystring": "0.2.0"
930 + },
931 + "dependencies": {
932 + "punycode": {
933 + "version": "1.3.2",
934 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
935 + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
936 + }
937 + }
938 + },
939 + "url-template": {
940 + "version": "2.0.8",
941 + "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz",
942 + "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE="
943 + },
658 "utils-merge": { 944 "utils-merge": {
659 "version": "1.0.1", 945 "version": "1.0.1",
660 "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 946 "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
...@@ -679,6 +965,11 @@ ...@@ -679,6 +965,11 @@
679 "core-util-is": "1.0.2", 965 "core-util-is": "1.0.2",
680 "extsprintf": "^1.2.0" 966 "extsprintf": "^1.2.0"
681 } 967 }
968 + },
969 + "yallist": {
970 + "version": "4.0.0",
971 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
972 + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
682 } 973 }
683 } 974 }
684 } 975 }
......
...@@ -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 }
......