2016-12-11 1 views
3

Ich habe einen Actions on Google-Webhook (Actions SDK) bereitgestellt und interagiere mit ihm über den Simulator. Ich bekomme jedoch die Fehlermeldung: "Aktion: Aktion Name reagiert nicht sofort. Versuchen Sie es bald erneut." Wie kann ich dieses Problem beheben?Die Aktion reagiert momentan nicht. Fehler

Dies sind die Schritte, die ich unternommen habe, um diesen Fehler zu erzeugen.

Bereitstellen von Webhook. Ich habe überprüft, dass es öffentlich zugänglich ist, verwendet HTTPS und ist in der Lage, die example request zu behandeln. Es setzt auch den Antwortkopf Google-Assistant-API-Version.

Punkt action.json zu den öffentlich zugänglichen Webhook, Vorschau dann die Aktion:

gactions --verbose preview --action_package=action.json -invocation_name="action name" 

den Simulator starten:

gactions --verbose simulate 

eine Interaktion Simulieren:

Finished checking for updates -- no updates available 
Reading credentials from: creds.data 
User TTS (CTRL-C to stop): 
talk to action name 
Sending POST request to: https://assistant.googleapis.com/v1/assistant:converse 
Request body: 
{ 
    "query": "talk to action name" 
} 

Response body: 
{ 
    "response": "action name isn’t responding right now. Try again soon.\n", 
    "audioResponse": "...", 
    "debugInfo": {} 
} 

Obwohl die Nachricht zeigt an, dass die Aktion nicht reagiert, kann ich von meinen Webhook-Protokollen sehen, dass es i s reagiert erfolgreich mit einem HTTP-Statuscode von 200 und erzeugt eine JSON-Antwort, die der example responses sehr ähnlich ist.

Was kann getan werden, um dieses Problem zu debuggen?

Nebenbei bemerkt sieht es so aus, als ob die tatsächliche Anfrage, die ich bekomme, nicht ganz mit der Dokumentation übereinstimmt. Hier ist ein Beispiel einer tatsächlichen Anfrage:

{"user":{"user_id":"..."},"conversation":{"conversation_id":"...","type":1},"inputs":[{"intent":"assistant.intent.action.MAIN","raw_inputs":[{"input_type":2,"query":"talk to action name"}],"arguments":[]}]} 

Beachten Sie, dass conversation.type eine ganze Zahl ist, kein String. Zusätzlich wird conversation_token bereitgestellt und somit ist die conversation_token in der Antwort, die ich erzeuge, null.

Antwort

1

Sie können weitere Debug-Informationen mit der Web Simulator erhalten. Befolgen Sie die oben genannten Schritte, aber navigieren Sie nach der Vorschau der Aktion mit dem Befehl gactions zu Web Simulator und geben Sie denselben Text ein, den Sie im Befehlszeilensimulator eingegeben haben. Dadurch wird das Feld debugInfo in der JSON-Antwort ausgefüllt.