Alexa Skill - gewusst Wie: Abrufen von Slot-Wert in der Lambda-Funktion
Ich bin die Entwicklung einer Alexa Fähigkeit, mit einer Absicht, die enthält ein Slot mit mehreren möglichen Werten.
Meinem Schlitz definiert ist, mit "name" : "Channel"
, "type" : "LIST_OF_CHANNELS"
und Werte
- iqram
- ingrid
- phil
- clyde
Wie Kriege ich das ausgesprochen slot Wert für meine Lambda-Funktion? Es ist die "abrufen Wert von slot von äußerung Teil" ich bin auf der Suche geantwortet haben. Dank so viel.
//retrieve value of slot from utterance
var c = intent.slots.Channel.value;
//append value to end of URL that references API
fetchEnseParse("/channel/" + c, function(body) {
//continuation of this function is below
Du musst angemeldet sein, um einen Kommentar abzugeben.
var c = this.event.request.intent.slots.slotname.value
Dies sollte Ihnen geben, was Sie suchen.
In dem Fall, dass die lambda erhält, können Sie es hier finden...
Dem Ereignis übergeben wird zu Ihrem lambda-handler.
Für mich unten gearbeitet:
wo
slot-name
istChannel
.Sagen wir, dass u sagte alexa, das Wort "Münze" und Sie programmiert dieses als synonym von bitcoin (die wichtigsten objectname).
Nun u bekommen kann Ergebnisse der 2.
Erstens: Sie bekommen die original-Wert "bitcoin", das ist der ursprüngliche Wert/abgestimmt Wert
Oder zweitens: Sie bekommen das gesprochene Wert "Münze"
Ersten (bitcoin):
Zweiten (Münze):
Vorsichtig: yourslotname ist nicht die Slottype! Es ist der name
Es ist nicht sicher, schauen Sie einfach bei
this.event.request.intent.slots.<yourslot>.value
Dieser Wert hat nur der 'äußerung' und es kann nicht sein, was du suchst
Musste ich tiefer in das Objekt ein und schauen Sie bei den Auflösungen Objekt und überprüfen die Autorität Objekt hat den status
code=="ER_SUCCESS_MATCH"
Hier mein java-code, was auch geklappt hat - man kann ziemlich viel tun, die gleiche in Nodejs