Dialogflow 자습서를 Actions on Google API v2 지원
5445 단어 actionsongoogledialogflow
소개
가볍게 Dialogflow를 만져 보려고 구그하면 Google 공식 같은 튜토리얼을 발견했기 때문에 시도해 보았는데, Actions on Google에서 에러가 되었으므로 대응을 메모해 둡니다.
시도한 튜토리얼은 이쪽.
Dialogflow로 처음 앱 빌드
※ 2018/07/10 시점의 정보이므로, 튜토리얼 페이지가 업데이트되면 이 기사는 불필요하게 됩니다.
Dialogflow란?
Google의 채팅봇 프레임워크, 괜찮을까. 옛날에는 Api.ai라는 이름이었습니다. Actions on Google, Slack 등과 연동하여 음성/텍스트 사용자 인터페이스를 만들 수 있습니다.
Dialogflow
그 외 나오는 서비스명등은 튜토리얼을 실시하는 분이라면 설명 불필요하다고 생각하므로, 설명은 생략.
튜토리얼에서 오류 발생
순조롭게 진행 중이었지만 '완료 빌드'에서 오류가 발생했습니다 (Actions on Google에서 답변이 반환되지 않았습니다). Fulfillment는 Webhook에서 Firebase의 Functions를 호출하는 곳입니다.
Firebase 콘솔에서 로그를 확인할 때 다음 줄이있었습니다.
Error: Dialogflow v2 is not currently supported
무엇이 문제였는가
로그에서 볼 수 있듯이 Dialogflow API가 v1에서 v2로 업그레이드되었습니다.
Dialogflow 의 페이지에 액세스하면 상부에 경고 표시되고 있었으므로 「헤ー」라고 생각해 즉[DISMISS] 하고 있었습니다만, 튜토리얼도 대응 미제였습니다.
v1에서 v2로의 마이그레이션에 대해서는 경고의 "Learn how to migrate your V1 agents here"의 링크도 괜찮습니다. 하고 있어 알기 쉽기 때문에, 이쪽을 참조하면 좋다고 생각합니다.
Actions on Google Node.js Client Library Version 1 Migration Guide
API v2에 대한 대응 코드
일단 튜토리얼을 움직인 곳이므로 v2 에서의 변경점은 본 기사에서는 해설하지 않습니다만, 대응한 튜토리얼의 코드를 실어 둡니다.
const functions = require('firebase-functions');
const { dialogflow } = require('actions-on-google');
// a. the action name from the make_name Dialogflow intent
const NAME_ACTION = 'make_name';
// b. the parameters that are parsed from the make_name intent
const COLOR_ARGUMENT = 'color';
const NUMBER_ARGUMENT = 'number';
const app = dialogflow();
// c. The function that generates the silly name
app.intent(NAME_ACTION, (conv => {
let number = conv.parameters[NUMBER_ARGUMENT];
let color = conv.parameters[COLOR_ARGUMENT];
conv.close('Alright, your silly name is ' +
color + ' ' + number +
'! I hope you like it. See you next time.');
}));
exports.sillyNameMaker = functions.https.onRequest(app);
요약
튜토리얼 등의 일본어 번역은 고맙습니다만, 최신에의 추종이 늦어지기 때문에 주의가 필요하네요. (튜토리얼 최종 갱신일이 2018/3/20, API v2로의 마이그레이션이 2018/4/16…
Reference
이 문제에 관하여(Dialogflow 자습서를 Actions on Google API v2 지원), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/noitak/items/4fac3b334601c7145a1f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)