我建立了一个自定义的webhook作为Dialogflow目的的实现端点。它正常工作时,我用生JSON回应,即:- Disable php-xdebug on PHP 7.3.0*
- Disable OPCache (opcache.enable=0 on php.ini, then restart PHP services)
- Set opcache.optimization_level=0x7FFFBBFF
,
但似乎无法使用“ Google行动”库工作。
他们网站上的代码暗示这应该有效:
{'fullfillmentText':'hi'}
但事实并非如此。 Google Home只是说我的应用程序没有响应。就目前情况而言,我的函数(使用Fn Project)必须返回JSON,并且如果我返回JSON作为响应,则它并不期望失败。也许有人可以阐明一些想法?
编辑1: 我正在使用Fn Project开源功能作为服务使用自定义Webhook。在此说明我的目的是演示如何使用项目,因此我不想使用嵌入式编辑器或Google Cloud Functions或firebase或任何其他默认选项。
这是其余的代码
app.intent('myintent', (conv) => {
conv.close('See you later!');
});
答案 0 :(得分:1)
尽管您正在创建XOR
对象,该对象将进行Intent处理程序的处理,并通过app
向其注册处理程序,但您并没有对"export"进行任何操作因此app.intent()
的方法是在触发Webhook时调用的。调用时,它将获取请求的正文,并将格式化响应的JSON。
例如,如果您使用的是Firebase函数,则可以将app
连接到要通过这些函数处理的对象上,例如
app
但是你不是。您正在使用其他框架。
该库附带了一些frameworks,它们是开箱即用的,但Fn Project并不是其中之一。从理论上讲,您可以创建自己的Framework object来为您完成此操作(this article的“框架”部分对此进行了简短的讨论,但没有详细介绍如何执行此操作。) / p>
您推测,最简单的选择就是read the JSON request and generate the JSON response而不使用Google动作库。或者,您可以查看multivocal之类的库,以了解利用其多框架支持是否更容易。