Webhook响应无法正常工作api.ai:无法解析来自http_response操作的SDKResponse

时间:2017-01-08 22:00:40

标签: dialogflow actions-on-google

我正在使用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 \ nConnection:keep-alive \ r \ n日期:2017年1月8日星期日21:47:00   GMT \ r \ n服务器:nginx / 1.11.2 \ r \ nAccess-Control-Allow-Credentials:   真\ r \ nAssistant相互作用位错误代码:   1 \ r \ nAssistant-Interaction-Error-Message:空话   响应\ r \ nCache-control:no-cache = \" set-cookie \" \ r \ nSet-Cookie:   AWSELB = 9D5B4D210CCFFAF1BE1E0CD7C7E6FCBD7B46140CAA45DBF2953C1CA6A2C5B5AD15740DAC3D9FC21AE7E6356E101785BA33F8274D819A39085F4BDBBE52D3F44CD1BB461230; PATH = / \ r \ NX-缓存:   来自cloudfront \ r \ nVia的小姐:1.1   51c76241371dfc20d25094a51b4759eb.cloudfront.net   (CloudFront的)\ r \ NX-AMZ-CF-ID:   bP2EaYL-00IkMABSCWhwbaDr5GU7sIgC02OB-31LGojecexWQayetQ == \ r \ n \ r \ N {\"消息\":\"空   言语   响应\" \" apiResponse \":{\" ID为\":\" ac3551e9-1f71-4f38-8ef7-efa8acff78aa \&#34 ; \"时间戳\":\" 2017-01-08T21:47:00.191Z \" \"结果\":{}, \"状态\":{\"代码\":200,\" ERRORTYPE \":\"成功\" },\"的sessionId \":\" 1483912013331 \"}}'"

我在这里没有弄错。

更新

我已将语音转换为ASCII字符,但现在Home正在响应以下消息。

I'll just need to get your from Google. Is that ok?

而不是我在附加到语音标签的响应中发送的内容。此外,模拟器中显示的JSON不是我从webhook返回的内容。

1 个答案:

答案 0 :(得分:0)

正如您所知,您的第一个问题可能是因为您的文字中包含非ASCII字符。

通过更新,问题可能是因为您指定了permissions_request但未要求任何权限。如果完全省略此部分,则正常的对话流应该按预期继续。