我正在使用api.ai webhook for Google on Google . 我遵循此处记录的请求和响应格式
我从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": []
}
当我在Web模拟器上为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..."
}
]
}
}
响应中的调试信息是
“无法从http_response解析SDKResponse:'HTTP / 1.1 200 OK \ r \ nContent-Type:application / json; charset = UTF-8 \ r \ nContent-Length:218 \ r \ n \ nConnection:keep-alive \ r \ nDate:Sun,2017年1月8日21:47:00 GMT \ r \ n服务器:nginx / 1.11.2 \ r \ nAccess-Control-Allow-Credentials:true \ r \ nAssistant-Interaction-Error-Code:1 \ r \ nAssistant相互作用位差错消息:空的语音响应\ r \的nCache控制:无缓存= \ “的Set-Cookie \” \ r \ n设置-曲奇:AWSELB = 9D5B4D210CCFFAF1BE1E0CD7C7E6FCBD7B46140CAA45DBF2953C1CA6A2C5B5AD15740DAC3D9FC21AE7E6356E101785BA33F8274D819A39085F4BDBBE52D3F44CD1BB461230; PATH = / \ r \ NX-缓存:来自cloudfront \ r \ nVia:1.1 51c76241371dfc20d25094a51b4759eb.cloudfront.net(CloudFront)\ r \ n -n-Amz-Cf-Id:bP2EaYL-00IkMABSCWhwbaDr5GU7sIgC02OB-31LGojecexWQayetQ == \ r \ n \ r \ n {\“message \”: “空语音响应”,“apiResponse”:{\“id \”:\“ac3551e9-1f71-4f38-8ef7-efa8acff78aa \”,“timestamp \”:\“2017-01-08T21:47 :00.191Z \”,\ “结果\”:{},\ “状态\”:{\ “代码\”:200,\ “ERRORTYPE \”:\ “成功\”},\ “的sessionId \”:\ “1483 912013331 \ “}}'”
我不知道这里有什么问题 .
UPDATE:
我已将语音中的消息转换为ASCII字符,但现在Home正在响应以下消息 .
I'll just need to get your from Google. Is that ok?
而不是我在附加到语音标签的响应中发送的内容 . 此外,模拟器中显示的JSON不是我从webhook返回的内容 .
1 回答
正如您所知,您的第一个问题可能是因为您的文本中包含非ASCII字符 .
有了更新,问题可能是因为您指定了
permissions_request
但没有要求任何权限 . 如果完全省略此部分,则正常的对话流应该按预期继续 .