Go Alexa技能测试返回访问被拒绝错误

Go Alexa技能测试返回访问被拒绝错误,go,aws-lambda,alexa,Go,Aws Lambda,Alexa,我正在编写Go,测试Alexa技能,并希望检索用户的Amazon帐户名和其他字段。我在alexa开发者控制台中正确设置了权限。我已启用所有权限 我的函数在AWS Lambda和Alexa测试中运行,与其他函数一样 代码如下: func callAmazonAPI(apiEndpoint string, apiToken string) (string, error) { //url := apiEndpoint + "/v2/accounts/~current/settings/Prof

我正在编写Go,测试Alexa技能,并希望检索用户的Amazon帐户名和其他字段。我在alexa开发者控制台中正确设置了权限。我已启用所有权限

我的函数在AWS Lambda和Alexa测试中运行,与其他函数一样

代码如下:

func callAmazonAPI(apiEndpoint string, apiToken string) (string, error) {
    //url := apiEndpoint + "/v2/accounts/~current/settings/Profile.name"
    url := "https://api.amazonalexa.com/v2/accounts/~current/settings/Profile.name"

    // Create a Bearer string by appending string access token
    var bearer = "Bearer " + apiToken

    // Create a new request using http
    req, err := http.NewRequest("GET", url, nil)

    req.Header.Add("Authorization", bearer)
    req.Header.Add("Accept", "application/json")
    req.Header.Add("Host", "api.amazonalexa.com")

    // Send req using http Client
    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        return "Error in callAMazonAPI!", err
    }

    body, _ := ioutil.ReadAll(resp.Body)
    return string([]byte(body)), err
}
它没有返回错误。它返回的是:

{"code":"ACCESS_DENIED","message":"Access denied with reason: ACCESS_NOT_REQUESTED"}

根据Alexa文档,我应该可以访问帐户信息。

仅仅因为您在Alexa控制台中定义了您想要的权限,并不意味着用户实际上已经将这些权限授予了您。您需要实际使用权限卡向用户请求权限,然后用户需要接受权限卡,然后使用api发出请求。您提供的代码只是试图访问API,我看不出您在哪里向客户请求权限我只是在Alexa控制台中进行测试。在阅读帮助时,听起来就像在测试控制台时,您被授予了权限。不是这样吗?我不是100%确定,但我知道一些权限在测试控制台中根本不起作用