dialogflow를 V2 API로 만들면 Webhook의 응답으로 문자 깨짐을 만난 이야기.
3646 단어 람다dialogflowGoogleAssistant
문제 개요
Dialogflow에서 V2 API가 공식이 되었기 때문에 V2 API로 전환하면 Webhook의 응답이 깨지게 되었습니다.
구성
Google Assistant → Dialogflow → AWS API Gateway → AWS Lambda
해결
Lambda에서 설정하는 응답의 헤더에 "charset=UTF8"을 추가하면 해결했다. 1
Lambda의 index.js (before) var response_json = {
fulfillmentText:"こんにちは"
};
var response = {
statusCode: 200,
headers: { "Content-type": "application/json" },
body: JSON.stringify(response_json)
};
context.succeed(response);
Lambda의 index.js(after) var response_json = {
fulfillmentText:"こんにちは"
};
var response = {
statusCode: 200,
headers: { "Content-type": "application/json; charset=UTF-8" },
body: JSON.stringify(response_json)
};
context.succeed(response);
덧붙여 API Gateway의 설정으로 헤더에 추가해도 해결할 수 없어, 원인을 찾아내기까지 상당히 시간이 걸려 버렸다. ↩
Reference
이 문제에 관하여(dialogflow를 V2 API로 만들면 Webhook의 응답으로 문자 깨짐을 만난 이야기.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/aoriso/items/a16a981d00d041c8f6a2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Google Assistant → Dialogflow → AWS API Gateway → AWS Lambda
해결
Lambda에서 설정하는 응답의 헤더에 "charset=UTF8"을 추가하면 해결했다. 1
Lambda의 index.js (before) var response_json = {
fulfillmentText:"こんにちは"
};
var response = {
statusCode: 200,
headers: { "Content-type": "application/json" },
body: JSON.stringify(response_json)
};
context.succeed(response);
Lambda의 index.js(after) var response_json = {
fulfillmentText:"こんにちは"
};
var response = {
statusCode: 200,
headers: { "Content-type": "application/json; charset=UTF-8" },
body: JSON.stringify(response_json)
};
context.succeed(response);
덧붙여 API Gateway의 설정으로 헤더에 추가해도 해결할 수 없어, 원인을 찾아내기까지 상당히 시간이 걸려 버렸다. ↩
Reference
이 문제에 관하여(dialogflow를 V2 API로 만들면 Webhook의 응답으로 문자 깨짐을 만난 이야기.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/aoriso/items/a16a981d00d041c8f6a2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
var response_json = {
fulfillmentText:"こんにちは"
};
var response = {
statusCode: 200,
headers: { "Content-type": "application/json" },
body: JSON.stringify(response_json)
};
context.succeed(response);
var response_json = {
fulfillmentText:"こんにちは"
};
var response = {
statusCode: 200,
headers: { "Content-type": "application/json; charset=UTF-8" },
body: JSON.stringify(response_json)
};
context.succeed(response);
Reference
이 문제에 관하여(dialogflow를 V2 API로 만들면 Webhook의 응답으로 문자 깨짐을 만난 이야기.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/aoriso/items/a16a981d00d041c8f6a2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)