2017-04-25 1 views
-1

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?

+0

[Es ist in ihrer vollen Dokumentation] (https://alexatutorial.com/flask-ask/requests.html). 'UserId' befindet sich in einem 'Session'-Objekt. – spicypumpkin

+0

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‘ –

+0

und wenn ich versuche, 'Frage zurückzukehren (session.user.userId) 'es gibt einen internen Fehler 500 auf meiner Alexa Test Registerkarte –

Antwort

1

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 
+0

Dank Porchez Es hat perfekt funktioniert. Prost –

Verwandte Themen