python - Alexa Lambda 函数获取用户的全名

标签 python python-3.x aws-lambda alexa alexa-skill

使用 Alexa Custom 技能和 AWS Lambda 函数,我希望能够从他们的账户中获取用户名。我已经设置了权限和帐户链接并验证了它是否有效。但是,没有可用于 python 3.6 方法的资源来检索实际用户信息。

这个页面有我需要使用的方法(get_profile_name()): https://github.com/alexa/alexa-skills-kit-sdk-for-python/blob/master/docs/en/SERVICE_CLIENTS.rst#upsserviceclient

但是,它没有提供有关如何在 Lambda 函数内访问该方法的信息。

我的主要功能运行于:

def lambda_handler(event, context):

事件只有来自自定义 Alexa 技能的用户输入的 JSON,其中不包含名称,所以我一直在研究如何访问任何具有 get_profile_name() 的内容

我能找到的唯一例子是: https://forums.developer.amazon.com/questions/181267/new-sdk-and-python-36-progressive-response-sample.html

使用

handler_input.service_client_factory.get_profile_name()

但我无法弄清楚 handler_input 与我的“事件”有何不同

我认为只要取个名字就很简单,但这很复杂。以前有人这样做过吗?

最佳答案

请参阅the Alexa Customer Profile API documentation获取客户的姓名、电子邮件地址和电话号码。

本文档详细介绍了请求流程——以下是本文档中获取电话号码的示例: 主机:api.amazonalexa.com 接受:应用程序/json 授权:不记名 MQEWY...6fnLok 获取 https://api.amazonalexa.com/v2/accounts/~current/settings/Profile.name

请注意,您必须获取访问 token 才能用作请求的一部分(该页面上还详细介绍了如何获取 token )。

如果 ASK Python SDK 不包含对 Alexa Customer Profile API 的内置支持,您似乎可以按照详细说明创建 RESTful 请求。

关于python - Alexa Lambda 函数获取用户的全名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53274213/

相关文章:

python - Pandas 将不同索引级别上的 .groupby().sum() 合并到一个结果数据帧中

amazon-web-services - AWS 转换进入 IoT Analytics 管道的数据时出现 Lambda 函数权限错误

node.js - 从具有相同跟踪 ID 的代码中调用 lambda?

python - 使用搜索和调用 next() 读取文件时有没有办法返回?

python-3.x - 如何重命名列表中列中的值?

amazon-web-services - 我应该如何使用 sam build 注入(inject)环境变量

python - 如何根据频率将列表中的元素分组到元组中

python - 如何将没有定界符的固定宽度数字表加载到 Pandas 中?

python - 通过同一垂直线中的圆进行圆识别和画线

java - 斯坦福 CoreNLP 的去标记化