2017-01-08 5 views
0

Я использую api.ai webhook для Action on Google. Я выполняю запрос и ответ формат документированыОтвет Webhook не работает api.ai:Failed для разбора SDKОтвета от http_response Действия на Google

https://developers.google.com/actions/reference/webhook-format#response

Ответ, который я посылаю обратно из 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/1.1 200 ОК \ г \ nContent-Type: применение/JSON; кодировка = UTF-8 \ г \ nContent-Длина: 218 \ г \ nConnection: keep-alive \ r \ nDate: Sun, 08 Jan 2017 21:47:00 GMT \ r \ nServer: nginx/1.11.2 \ r \ nAccess-Control-Allow-Credentials: true \ r \ nAssistant- Код взаимодействия: 1 \ r \ nAssistant-Interaction-Error-Message: пустая речь ответ \ r \ nCache-control: no-cache = \ "set-cookie \" \ r \ nSet-Cookie: AWSELB = 9D5B4D210CCFFAF1BE1E0CD7C7E6FCBD7B46140CAA45DBF2953C1CA6A2C5B5AD15740DAC3D9FC21AE7E6356E101785BA33F8274D819A39085F4BDBBE52D3F44CD1BB461230; PATH =/\ r \ nX-Cache: Мисс из CloudFront \ г \ nVia: 1.1 51c76241371dfc20d25094a51b4759eb.cloudfront.net (CloudFront) \ г \ пХ-Amz-Cf-Id: bP2EaYL-00IkMABSCWhwbaDr5GU7sIgC02OB-31LGojecexWQayetQ == \ г \ п \ г \ п {\» message \ ": \" Пустой Речь ответ \ ", \" apiResponse \ ": {\" id \ ": \" ac3551e9-1f71-4f38-8ef7-efa8acff78aa \ ", \" timestamp \ ": \" 2017 -01-08T21: 47: 00.191Z \», \ "результат \": {}, \ "статус \": {\ "код \": 200, \ "ERRORTYPE \": \ "успех \"}, \ "sessionId \": \ "1483912013331 \"}} '"

Я не понимаю, что здесь не так.

UPDATE:

Я преобразовал мое сообщение в речи ASCII символов, но теперь Home реагирует со следующим сообщением.

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

Вместо того, что я посылаю в ответе, прилагаемом к речевой этикетке. Также JSON, показанный в симуляторе, не то, что я возвращаю из webhook.

+0

Вы пишете, что тестируете его с помощью «Веб-симулятора для дома Google». Я предполагаю, что вы попали на это с помощью страницы интеграции API.AI - потому что, если вы перешли прямо к веб-симулятору, это не сработает с реализацией API.AI. – Tom

+0

Да, вы правы, я прошел через API. Я нажал кнопку предварительного просмотра. Кроме того, приветственное сообщение после того, как я говорю «Поговорите с моим агентом», давая мне понять, что я нахожусь в нужном месте. – pyus13

+0

@Tom Обновлен вопрос, на самом деле мне нужно отправить речь в формате ASCII, но теперь возникли новые проблемы. – pyus13

ответ

0

Как вы поняли, ваша первая проблема была вероятной, потому что в тексте у вас были символы, отличные от ASCII.

С обновлением проблема, скорее всего, связана с тем, что вы указываете permissions_request, но не запрашиваете никаких разрешений. Если вы полностью опустите эту часть, нормальный поток диалога должен продолжаться, как вы ожидаете.

+1

Вы правы, спасибо. – pyus13