Ich benutze Flask Ask um meine Alexa Skill zu entwickeln. Ich möchte verschiedenen Benutzern unterschiedliche Berechtigungen erteilen. Dazu muss ich auf die UserID zugreifen. Ich habe jetzt seit Tagen gesucht. Ich habe die Dokumentation von Flask Ask gelesen und es gab nicht genügend Informationen über den Zugriff auf UserID.Zugriff auf UserID von Alexa Skill mit Flask Ask Library?
Antwort
Nach dem amazon dev documentation für die Anfrage Format: „Standard-Anforderungstypen (LaunchRequest, IntentRequest und SessionEndedRequest) umfassen das Sitzungsobjekt
Anfragen von Schnittstellen wie Audioplayer und PlaybackController werden nicht im Rahmen gesendet. einer Sitzung, so dass sie das Sitzungsobjekt nicht enthalten. Die Objekte context.System.user und context.System.application stellen die gleichen Benutzer- und Anwendungsinformationen wie die gleichen Objekte innerhalb der Sitzung bereit - siehe Kontextobjekt. "
Also ich denke, Sie verwenden keine Standardanforderung. Daher müssen Sie vom Kontextobjekt aus auf die Benutzer-ID zugreifen. Die documentation für Flask-ask wurde aktualisiert, um zu erklären, wie man darauf zugreifen kann.
Kurz gesagt, Sie sollten dies tun:
from flask_ask import context
uid = context.System.user.userId
Dank Porchez Es hat perfekt funktioniert. Prost –
- 1. Alexa skill Rest API
- 2. Amazon Alexa Skill S3 Einschränkungen
- 3. Alexa Media Playback Skill
- 4. Alexa Skill Kit vs Alexa Voice Service
- 5. Holen Sie sich den Standort von Alexa Skills Kit (ASK)
- 6. Alexa Node Skill Fragen/Aufforderungen
- 7. Alexa Skill, Audiowiedergabe dauert Zeit
- 8. Alexa Skill - Update Intent programmgesteuert
- 9. Alexa Skill link account mit Strava
- 10. Kann Alexa Alexa Skill nicht mit Lambda bereitstellen
- 11. HTTPS funktioniert nicht mit benutzerdefinierten Alexa Skill
- 12. Alexa Skill Webservice Anruf nicht
- 13. Erhalten von Postleitzahl mit Python 2.7 in Alexa Skill
- 14. Alexa Skills Kit (ASK) und Äußerungen
- 15. Alexa Skill Certification - Validierung Amazon Anfrage
- 16. Alexa Skill Builder Beta: baut für immer
- 17. Alexa skill und Azure AD authentication
- 18. Wie kann ich Alexa Flash Skill testen?
- 19. Stellen Sie Alexa Skill auf AWS Lambda mit "Alexa-App" Abhängigkeit
- 20. Wie benutze ich SSML in Alexa Skill + Lambda + Js
- 21. Lambda-Funktion funktioniert nicht bei Alexa Skill Aufruf
- 22. Alexa skill state ändert sich nicht mit SessionEndedRequest
- 23. nur eingebaute Äußerungen arbeiten ASK
- 24. Alexa Skill Set zum Senden von benutzerdefinierten Direktiven an mein alexa-fähiges Gerät
- 25. Amazon Alexa benutzerdefinierte Fähigkeit und Smart Home Skill. Steuergeräte
- 26. Alexa Ich kann deinen OAuth Skill nicht verknüpfen
- 27. Respone.say funktioniert nicht in Promise für Alexa Skill
- 28. Alexa Skill - Wie Slot-Wert in Lambda-Funktion abrufen
- 29. Alexa Skill - Keep Intent lebendig für den Dialog
- 30. Java haben Alexa Custom Skill fragen nach fehlenden Slots
[Es ist in ihrer vollen Dokumentation] (https://alexatutorial.com/flask-ask/requests.html). 'UserId' befindet sich in einem 'Session'-Objekt. – spicypumpkin
Ich habe diese Dokumentation durchgelesen. Dabei spielt es keine Sache zurück, wenn ich verwenden ‚uid = session.user.userId‘ infact es gibt einen Fehler Attribute: ‚NoneType‘ Objekt hat kein Attribut ‚Session‘ –
und wenn ich versuche, 'Frage zurückzukehren (session.user.userId) 'es gibt einen internen Fehler 500 auf meiner Alexa Test Registerkarte –