【问题标题】:How to access UserID of Alexa Skill by using Flask Ask Library?如何使用 Flask Ask Library 访问 Alexa Skill 的 UserID?
【发布时间】:2017-04-25 06:18:56
【问题描述】:

我正在使用 Flask Ask 来开发我的 Alexa Skill。我想给不同的用户不同的权限。为此,我必须访问用户 ID。我已经找了好几天了。我已经阅读了 Flask Ask 的文档,但没有足够的信息来访问 UserID。

【问题讨论】:

  • It's in their full documentationUserId 位于 session 对象中。
  • 我已经阅读了这个文档。当我使用 'uid = session.user.userId' 时它不返回任何东西,事实上它返回一个错误 AttributeError: 'NoneType' object has no attribute 'session'
  • 当我尝试返回 question(session.user.userId) 时,我的 Alexa 测试选项卡上出现内部错误 500

标签: python flask alexa-skills-kit alexa-skill


【解决方案1】:

根据亚马逊开发者documentation 的请求格式:“标准请求类型(LaunchRequest、IntentRequest 和 SessionEndedRequest)包括会话对象。

来自 AudioPlayer 和 PlaybackController 等接口的请求不会在会话上下文中发送,因此它们不包含会话对象。 context.System.user 和 context.System.application 对象提供与会话中的相同对象相同的用户和应用程序信息 - 请参阅上下文对象。”

所以我猜你没有使用标准请求。因此,您需要从上下文对象访问 userId。 flask-ask 的 documentation 已更新,以说明如何访问它。

简而言之,你应该这样做:

from flask_ask import context    
uid = context.System.user.userId

【讨论】:

    猜你喜欢
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 2018-08-28
    • 2016-12-17
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    相关资源
    最近更新 更多