[英]Google Assistant Invalid response from webhook: Failed to translate JSON to ExecuteHttpResponse
First off, I'm new to Google Assistant so I have very little idea about what I am doing.首先,我是 Google Assistant 的新手,所以我对自己在做什么一无所知。 I am trying to make a webhook request with the code below in an external js file on a webserver:
我正在尝试使用以下代码在网络服务器上的外部 js 文件中发出 webhook 请求:
// Project Requirements
const { conversation } = require('@assistant/conversation');
const functions = require('firebase-functions');
// Constructor
const app = conversation();
// Search Function
app.handle('contacctSearch', async conv => {
// Get Intent Parameters
const query = $session.params.contactName.original;
const pageType = $session.params.pageType.original;
if (pageType.toUpperCase() == 'WHITE PAGES') {
const res = await fetch(`https://www.findyello.com/barbados/white-pages/?search=${query}`);
console.log(res);
// Parse res into text
const text = res;
conv.add(`Here is your first result. ${text}`);
}
else if (pageType.toUpperCase() =='YELLOW PAGES') {
const res = await fetch(`https://www.findyello.com/barbados/?search=${query}`);
console.log(res);
// Parse res into text
const text = res;
conv.add(`Here is your first result. ${text}`);
}
else if (pageType.toUpperCase() =='GOVERNMENT PAGES') {
const res = await fetch(`https://www.findyello.com/barbados/government/?search=${query}`);
console.log(res);
// Parse res into text
const text = res;
conv.add(`Here is your first result. ${text}`);
}
});
But, I am receiving an error: Invalid response from webhook: Failed to translate JSON to ExecuteHttpResponse..但是,我收到一个错误:来自 webhook 的无效响应:无法将 JSON 转换为 ExecuteHttpResponse..
{
"responseJson": "// console.log('Working!');\r\n\r\n// Project Requirements\r\nconst { conversation }
= require('@assistant/conversation');\r\nconst functions = require('firebase-functions');\r\n\r\n//
Constructor\r\nconst app = conversation();\r\n\r\n// Search Function\r\napp.handle('contacctSearch',
async conv => {\r\n\r\n // Get Intent Parameters\r\n const query =
$session.params.contactName.original;\r\n const pageType = $session.params.pageType.original;\r\n
if (pageType.toUpperCase() == 'WHITE PAGES') {\r\n const res = await
fetch(`https://www.findyello.com/barbados/white-pages/?search=${query}`);\r\n
console.log(res);\r\n // Parse res into text\r\n const text = res;\r\n
conv.add(`Here is your first result. ${text}`);\r\n } \r\n \r\n else if
(pageType.toUpperCase() =='YELLOW PAGES') {\r\n const res = await
fetch(`https://www.findyello.com/barbados/?search=${query}`);\r\n console.log(res);\r\n
// Parse res into text\r\n const text = res;\r\n conv.add(`Here is your first result.
${text}`);\r\n } \r\n \r\n else if (pageType.toUpperCase() =='GOVERNMENT PAGES') {\r\n
const res = await fetch(`https://www.findyello.com/barbados/government/?search=${query}`);\r\n
console.log(res);\r\n // Parse res into text\r\n const text = res;\r\n
conv.add(`Here is your first result. ${text}`);\r\n }\r\n });\r\n"
}
Any help would be amazing!任何帮助都会很棒!
It seems to me that your file is not being understood as code, but rather a plain text file.在我看来,您的文件并未被理解为代码,而是纯文本文件。 There are several things to change:
有几件事要改变:
app.handle('contacctSearch', async conv => {
// ...
})
exports.fulfillment = app
firebase deploy --only functions
It will be a function in the format, with your project's ID:它将是 function 格式,您的项目 ID:
https://us-central1-MY_PROJECT_ID.cloudfunctions.net/fulfillment
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.