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

标签 php alexa-skills-kit

我目前正在尝试使用 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

enter image description here

为了确保这是由于 HTTP 动词 GET 的问题造成的,我用 GET 重现了相同的错误。请看下面的截图,

enter image description here

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

curl_setopt($c, CURLOPT_POST, 1);

关于php - URL Amazon Skill Management API 不允许使用请求的方法 GET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46380963/

相关文章:

php - "Method brand does not exist."

javascript - Api JS 代码似乎对 onclick 没有反应

amazon-web-services - AWS Cognito 和 Alexa 账户链接的正确访问 token URI 是什么?

mysql - 将查询结果保存到变量 Alexa Skills Json 中

php - 无法使用指定的键从数据库访问解码的 json 数据

php - 使用 PHP 为带有 .pfx 证书的 XML 文件签名

php - 使用 PHP 规范数据库的过程是什么?

amazon-web-services - 账户与azure AD关联后如何从Alexa获取accesstoken

audio - Alexa Skill静态音频文件实现

alexa-skills-kit - 如何在 Amazon Echo 中从偏移量播放 mp3 文件