Google-api-nodejs-client: Dialogflow V2 API ์ƒ˜ํ”Œ

์— ๋งŒ๋“  2018๋…„ 06์›” 01์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: googleapis/google-api-nodejs-client

์•ˆ๋…•ํ•˜์„ธ์š”!
Dialogflow V2 API ์ƒ˜ํ”Œ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‚˜์š”?
๊ฐ์‚ฌ!

question web

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@JustinBeck ์— dialogflow-nodejs-client-v2์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”๋ฐ, ์šฐ๋ฆฌ๊ฐ€ ๋ฐœ๊ฒฌ ํ•œ ํ•œ ๊ฐ€์ง€๋Š”, deps์˜ ํฌ๊ธฐ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์›น ํŒจํ‚น์„ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ์—†์ด๋Š” AWS Lambda์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

google-api-nodejs-client๋Š” ๋ชจ๋‘ Axios REST์ด๋ฏ€๋กœ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์œ„์น˜์—์„œ ๋™์ ์œผ๋กœ๋กœ๋“œ ๋œ protobuf ํŒŒ์ผ์ด ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ณต์žกํ•œ Webpack ๊ตฌ์„ฑ / ํŒŒ์ผ ๋ณต์‚ฌ ๋Œ€์‹  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

@joseparoli ์—ฌ๊ธฐ์— ๊ฐ„๋‹จํ•œ ์˜ˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๋ฐฉ๋ฒ•์„ ์•Œ์•„ ๋‚ด๊ธฐ ์œ„ํ•ด ๋‚˜์ด๊ฐ€ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฝ๋กœ ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ [projectId] (๋ถ€๋ชจ ๋งค๊ฐœ ๋ณ€์ˆ˜ ์ฐธ์กฐ) ์ผ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ˜ผ๋ž€ ์Šค๋Ÿฌ์› ์ง€๋งŒ URL ๊ฒฝ๋กœ์™€ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. / projects / [projectId]. ์ผ๋‹จ ๋‹น์‹ ์€ ๋ฌธ์„œ์˜ ์ƒ๋‹จ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

````
'์—„๊ฒฉํ•œ ์‚ฌ์šฉ';

const {google} = require ( 'googleapis');
const ๊ฒฝ๋กœ = require ( 'path');

async function runSample () {

const client = await google.auth.getClient ({
keyFile : path.join (__ dirname, 'key.json'),
๋ฒ”์œ„ : 'https://www.googleapis.com/auth/cloud-platform'
});

const dialogflow = google.dialogflow ({
๋ฒ„์ „ : 'v2',
์ธ์ฆ : ํด๋ผ์ด์–ธํŠธ
});

const ๊ฒฐ๊ณผ = await dialogflow.projects.getAgent ({
๋ถ€๋ชจ : 'projects /'
});

console.log (result.data);

}

if (๋ชจ๋“ˆ === require.main) {
runSample (). catch (console.error);
}

// ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๋ชฉ์ ์œผ๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ
module.exports = {runSample};
````

๋ชจ๋“  3 ๋Œ“๊ธ€

์ธ์‚ฌ๋ง! Dialogflow๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋Œ€์‹ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. :)
https://github.com/dialogflow/dialogflow-nodejs-client-v2

@JustinBeck ์— dialogflow-nodejs-client-v2์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”๋ฐ, ์šฐ๋ฆฌ๊ฐ€ ๋ฐœ๊ฒฌ ํ•œ ํ•œ ๊ฐ€์ง€๋Š”, deps์˜ ํฌ๊ธฐ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์›น ํŒจํ‚น์„ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ์—†์ด๋Š” AWS Lambda์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

google-api-nodejs-client๋Š” ๋ชจ๋‘ Axios REST์ด๋ฏ€๋กœ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์œ„์น˜์—์„œ ๋™์ ์œผ๋กœ๋กœ๋“œ ๋œ protobuf ํŒŒ์ผ์ด ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ณต์žกํ•œ Webpack ๊ตฌ์„ฑ / ํŒŒ์ผ ๋ณต์‚ฌ ๋Œ€์‹  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

@joseparoli ์—ฌ๊ธฐ์— ๊ฐ„๋‹จํ•œ ์˜ˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๋ฐฉ๋ฒ•์„ ์•Œ์•„ ๋‚ด๊ธฐ ์œ„ํ•ด ๋‚˜์ด๊ฐ€ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฝ๋กœ ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ [projectId] (๋ถ€๋ชจ ๋งค๊ฐœ ๋ณ€์ˆ˜ ์ฐธ์กฐ) ์ผ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ˜ผ๋ž€ ์Šค๋Ÿฌ์› ์ง€๋งŒ URL ๊ฒฝ๋กœ์™€ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. / projects / [projectId]. ์ผ๋‹จ ๋‹น์‹ ์€ ๋ฌธ์„œ์˜ ์ƒ๋‹จ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

````
'์—„๊ฒฉํ•œ ์‚ฌ์šฉ';

const {google} = require ( 'googleapis');
const ๊ฒฝ๋กœ = require ( 'path');

async function runSample () {

const client = await google.auth.getClient ({
keyFile : path.join (__ dirname, 'key.json'),
๋ฒ”์œ„ : 'https://www.googleapis.com/auth/cloud-platform'
});

const dialogflow = google.dialogflow ({
๋ฒ„์ „ : 'v2',
์ธ์ฆ : ํด๋ผ์ด์–ธํŠธ
});

const ๊ฒฐ๊ณผ = await dialogflow.projects.getAgent ({
๋ถ€๋ชจ : 'projects /'
});

console.log (result.data);

}

if (๋ชจ๋“ˆ === require.main) {
runSample (). catch (console.error);
}

// ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๋ชฉ์ ์œผ๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ
module.exports = {runSample};
````

์ฝ”๋“œ ์ƒ˜ํ”Œ์„ ๊ณต์œ  ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ถ”๋ก ์„ ๊ณต์œ  ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ-์ด์ œ TypeScript ์œ ํ˜•์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ํ•ญ์ƒ ์œ ํ˜•์ด ์ง€์ •๋œ ๋งค๊ฐœ ๋ณ€์ˆ˜ ๊ฐ์ฒด๋ฅผ๋ณด๊ณ  ์ด๋Ÿฌํ•œ ๋ฉ”์†Œ๋“œ์— ์ „๋‹ฌํ•ด์•ผํ•˜๋Š” ๋‚ด์šฉ์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. :)

@joseparoli ์ง€๊ธˆ์€ ์ด๊ฒƒ์„ ์ข…๋ฃŒํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋„์›€์ด ํ•„์š”ํ•˜๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”!

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰