URL Amazon Skill Management API不允许使用请求的方法GET

时间:2017-09-23 15:02:53

标签: php alexa-skills-kit alexa-skill

我目前正在尝试使用PHP从Alexa Skill Management API获取技能列表。我的访问令牌目前可以获取用户个人资料信息,我99%确定我为我的技能开发帐户提供了正确的权限范围。

// exchange the access token for list of skills
$c = curl_init('https://api.amazonalexa.com/v0/skills/');
curl_setopt($c, CURLOPT_HTTPHEADER, array('Authorization: ' . $access_token));
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_VERBOSE, 1);

$r = curl_exec($c);
curl_close($c);
var_dump($r);

上面的代码返回错误: URL / v0 / skills /.

不允许使用请求的方法GET

我确定我只是犯了一些愚蠢的错误。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

我在POSTMAN中尝试了相同的但是使用POST而不是GET并且看起来很好(我收到了一个未经授权的错误,这只是因为令牌丢失)。这意味着您尝试连接的API不是GET方法,而是发布。所以请尝试将请求类型作为POST。请参阅下面我使用POSTMAN尝试的相同API

enter image description here

为了确保它是由于HTTP动词GET的问题,我用GET重现了同样的错误。请参见下面的屏幕截图

enter image description here

请尝试添加如下所示的一行,以使您的请求成为POST,

curl_setopt($c, CURLOPT_POST, 1);