我正在使用api.ai网络钩子对谷歌的实现采取行动。我遵循这里记录的请求和响应格式。
我从webhook发回的回复是
{
"speech": "Ok I am doing the stuff",
"displayText": "Ok I am doing the stuff",
"data": {
"google": {
"expect_user_response": false,
"is_ssml": false,
"permissions_request": {
"opt_context": "",
"permissions": []
}
}
},
"contextOut": []
}当我在Google的网络模拟器上测试这个时,它是说“您的代理现在没有响应。请尽快再试”,使用下面的响应JSON
{
"response": "Car Bot isn’t responding right now. Try again soon.\n",
"audioResponse": "//NExAASW..."content_copy,
"debugInfo": {
"sharedDebugInfo": [
{
"name": "ExecutionResponse",
"debugInfo": "Failed to..."
}
]
}
} 响应中的调试信息是
“未能从SDKResponse中解析http_response:‘http_response/1.1 200 OK\r\n nContent Type: application/json;字符集=UTF-8\r\n内容-长度:218\r\n连接:保持-活动\r\\n nDate: Sun,2017年1月8日21:47:00 GMT\r\n服务器: nginx/1.11.2\r\nAccess-Control-Allow-Credentials: true\r\n助理-交互-代码:1\r\n助手-交互-错误-消息:空语音响应\r\n缓存-控制:no-缓存=\“设置-Cookie\\r\n set-Cookie: AWSELB=9D5B4D210CCFFAF1BE1E0CD7C7E6FCBD7B46140CAA45DBF2953C1CA6A2C5B5AD15740DAC3D9FC21AE7E6356E101785BA33F8274D819A39085F4BDBBE52D3F44CD1BB461230;PATH=/\response:来自CloudFront的想念\r\n nVia: 1.1 51c76241371dfc20d25094a51b4759eb.cloudfront.net (CloudFront)\r Id: bP2EaYL-00IkMABSCWhwbaDr5GU7sIgC02OB-31LGojecexWQayetQ==\r\n\r\n{\"message\":\"Empty语音响应\“,\"apiResponse\":{\"id\":\"ac3551e9-1f71-4f38-8ef7-efa8acff78aa\",\”时间戳“:\”2017-01-08T21:47:00.191Z“,\“结果\”:{},\“状态\”:{\“代码\”:200,\“错误类型\”:\“成功\”},\“sessionId\”:\“1483912013331\”}‘“
我不明白这是怎么回事。
更新:
我已将讲话中的信息转换为ASCII字符,但现在Home正在响应以下消息。
I'll just need to get your from Google. Is that ok?而不是我在语音标签上附上的回复中所发送的内容。另外,模拟器中显示的JSON并不是我从web钩子返回的内容。
发布于 2017-01-09 13:49:03
正如您所理解的,您的第一个问题很可能是因为您的文本中有非ASCII字符。
使用更新时,可能会出现问题,因为您指定的是permissions_request,而不是请求任何权限。如果您完全忽略了这个部分,正常的对话框流应该按照您的预期继续进行。
https://stackoverflow.com/questions/41538370
复制相似问题