[英]Spotify Malformed Json
https://api.spotify.com/v1/me/player/play
端點不斷拋出錯誤
客戶端錯誤:
PUT https://api.spotify.com/v1/me/player/play?device_id=b3be3728123923782d72b3c0b5e7e3d91b9dfb10
導致400 Bad Request
響應:{ "error" : { "status" : "400: "message格式錯誤的 json" } }`
這是我的代碼:
$client = new GuzzleHttp\Client();
$res = $client->request('PUT', 'https://api.spotify.com/v1/me/player/play?device_id=".$request->device_id', [
"headers" => [
"Authorization" => ["Bearer " . $session_owner->spotify_token],
"Content-Type" => "application/x-www-form-urlencoded",
],
"form_params" => [
"uris" => ["spotify:track:" . $request->spotify_song_id]
]
]);
到目前為止,這是給我這個問題的唯一端點。 如果我注釋掉context_uri
行,則最后一個活動設備上最后一首曲目的播放會正確開始。
這是該行翻譯的內容:
"form_params": {
"uris": ["spotify:track:2Hy7ypRUKL4OPqtNlzBHWM"]
}
Spotify 要求請求正文是 JSON 字符串,但您正在發送 URL 編碼的表單數據。
將內容類型更改為application/json
並將form_params
為json
:
"headers" => [
"Authorization" => ["Bearer " . $session_owner->spotify_token],
"Content-Type" => "application/json",
],
"json" => [
"context_uri" => "spotify:track:" . $request->spotify_song_id,
]
Guzzle 現在將 JSON 作為完整的請求正文發送,沒有表單參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.