2017-09-23 53 views
2

我目前正在嘗試從使用PHP的Alexa Skill Management API獲取技能列表。我的訪問令牌目前用於獲取用戶個人資料信息,我99%確定我給了我的技能開發賬戶許可的正確範圍。請求的方法GET不允許用於URL Amazon Skill Management API

// 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); 

上面的代碼返回錯誤: 請求GET方法是不允許的URL/V0 /技能/。

我確信我只是犯了一些愚蠢的錯誤。任何幫助,將不勝感激。

回答

2

我試過同樣的POSTMAN,但與POST而不是GET,看起來很好(我有一個未經授權的錯誤,這是因爲令牌丟失)。這意味着您嘗試連接的API不是GET方法,而是發佈。所以請嘗試請求類型作爲POST。請參閱同一個API下面我與郵差

enter image description here

嘗試,以確保它是因爲與HTTP動詞GET的問題,我已複製與得到同樣的錯誤。請看下面的截圖,

enter image description here

請嘗試添加一行類似下面,讓您請求的POST,

curl_setopt($c, CURLOPT_POST, 1); 
+0

我還沒有機會嘗試這個,但文檔似乎與此相矛盾: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/skill-operations#list-skills – Optimus

+1

我應該信任官方文檔。同時基於我的調查,我堅信這將是一個POST。我沒有訪問令牌來試用它。試用後請讓我知道。我很想知道:) –

+0

我現在得到的響應是令牌無效/過期,雖然它是我用來獲取用戶配置文件信息的令牌,所以過期似乎不太可能。 – Optimus

相關問題