我目前正在尝试使用 PHP 从 Alexa Skill Management API 获取技能列表。我的访问 token 当前可用于获取用户个人资料信息,并且我 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。
我确信我只是犯了一些愚蠢的错误。任何帮助将不胜感激。
最佳答案
我在 POSTMAN 中尝试了相同的操作,但使用 POST 而不是 GET,看起来不错(我收到了未经授权的错误,这只是因为缺少 token )。这意味着您尝试连接的 API 不是 GET 方法,而是 post 方法。所以请尝试请求类型为 POST。请参阅下面我用 POSTMAN 尝试过的相同 API
为了确保这是由于 HTTP 动词 GET 的问题造成的,我用 GET 重现了相同的错误。请看下面的截图,
请尝试添加如下一行以使您的请求成为 POST,
curl_setopt($c, CURLOPT_POST, 1);
关于php - URL Amazon Skill Management API 不允许使用请求的方法 GET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46380963/