如何解决Alexa 使用 python 获取用户电子邮件
我正在尝试使用 python 后端制作 Alexa 技能。 我正在使用亚马逊开发者控制台创建模型和代码后端。
我想检索用户电子邮件地址。 如果您能给我提供示例代码,我将不胜感激。我尝试了很多方法,但都没有奏效。
这是我尝试过的一些代码: https://github.com/alexa/alexa-skills-kit-sdk-for-python/tree/master/samples/GetDeviceAddress
我知道这是设备地址,但这也不起作用,我想如果我能得到地址,我就可以收到电子邮件。
网上提到的一切都是针对 Node 的,我想在 python 上做我的后端
解决方法
As specified in the official documentation 您需要对 ASK 进行 API 调用。
对于电子邮件,您需要调用 api_endpoint,后跟 /v2/accounts/~current/settings/Profile.email
对我来说端点是:https://api.eu.amazonalexa.com
因此完整的 url 变为:
https://api.eu.amazonalexa.com/v2/accounts/~current/settings/Profile.email
至于添加令牌以授权请求,可以通过使用请求库通过将标头传递给获取请求来完成。 You can learn more about that from here
最终的代码应该是这样的:
#Fetching access token accesstoken = str(handler_input.request_envelope.context.system.api_access_token) #Fetching user emailaddress from ASK API endpoint = "https://api.eu.amazonalexa.com/v2/accounts/~current/settings/Profile.email" api_access_token = "Bearer " + accesstoken headers = {"Authorization": api_access_token} r = requests.get(endpoint,headers=headers) email = r.json()
希望这会有所帮助,干杯!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。