Alexa 使用 python 获取用户电子邮件

Alexa fetching user email using python

我正在尝试使用 python 后端制作 Alexa 技能。 我正在使用亚马逊开发人员控制台创建模型和代码后端。

我想检索用户电子邮件地址。 如果您能向我提供示例代码,我将不胜感激。我尝试了很多方法,但 none 都有效。

这是我试过的一些代码: 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

至于添加令牌以授权请求,可以通过将 header 传递给 get 请求使用请求库来完成。 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()

希望这对您有所帮助,干杯!