2017-01-05 3 views
-1

Ich habe diese question here gefragt, aber es kann ein wenig zu tief sein für alle durch zu lesen, aber ich nehme meine grundlegende Frage reduziert werden könnte:zwei api Anrufe in benutzerdefinierten alexa Geschick

es möglich ist, zwei separate API-Aufrufe innerhalb des gleichen Stücks JS-Code zu tun, wenn Sie eine benutzerdefinierte Alexa-Fähigkeit schreiben?

Hier ist meine Logik

  1. Anruf Dampf api,
  2. erhalten Details aus meiner Freundesliste
  3. Rückholeinzelheiten zu alexa

4.Create neue URL API mit zurück Freunde IDs

5.call neue URL, um Freunde Online-Status und Namen

6.Return diese Details zu alexa zu sortieren und Online-Status ermitteln

7.construct Sprachantwort

8.say Antwort

Ich habe es als Konstruktion der API-URL wie weit gekommen mit die Freunde-IDs, aber es scheint, dass mein zweiter API-Aufruf entweder nicht funktioniert oder ich gerade nicht richtig darauf zugreife.

irgendwelche Gedanken wären hilfreich.

Antwort

1

Ja, Ihr Code kann alles, was Sie wollen (einschließlich mehrerer externer API-Aufrufe) bei der Verarbeitung einer Alexa-Anfrage, aber Sie können nur eine Antwort an Alexa in Erfüllung seiner Anfrage zurückgeben.

Die Schritte wie diese

  1. Erhalten Anfrage von Alexa aufgeschlüsselt werden könnten,
  2. tun, was die Verarbeitung Sie wollen, mehrere externe API-Aufrufe, einschließlich, aber nehmen Sie nicht zu lange, da der Benutzer wartet!
  3. Formulieren Sie Ihre Antwort und geben Sie sie als Antwort auf # 1 an Alexa zurück.
  4. Verarbeitung fortsetzen, z. um einige Sitzungs- oder Benutzerdaten zu speichern, aber Sie können keine weiteren Daten an Alexa senden, da Sie bereits auf die Anfrage geantwortet haben.

Macht das alles klar?

+0

es tut Tom, danke. Jetzt weiß ich, dass es getan werden kann, es ist nur wie! Mir wurde gesagt, dass ich versuchen sollte, Versprechungen zu verwenden, um dies zu erreichen, und ich habe sie überprüft und habe ein Verständnis dafür, wie sie funktionieren, aber ich habe derzeit keine Ahnung, wie ich sie auf meinen Code anwenden kann. (der Code, mit dem ich in der Frage verlinkt habe). Irgendwelche Tipps auf dieser Front? –

+0

Das ist sehr unterschiedlich - das ist ein Detail der js-Implementierung. Sie müssen einige gute Ressourcen/Tutorials auf js bekommen. Zum Glück gibt es Tonnen davon! (Bitte markieren Sie die Antwort als akzeptiert.) – Tom

Verwandte Themen