Spotify 格式错误 Json
Spotify Malformed Json
https://api.spotify.com/v1/me/player/play
端点不断抛出错误
Client error: PUT https://api.spotify.com/v1/me/player/play?device_id=b3be3728123923782d72b3c0b5e7e3d91b9dfb10
resulted in a 400 Bad Request
response: { "error" : { "status" : 400, "message" : "Malformed 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 作为没有表单参数的完整请求正文发送。
https://api.spotify.com/v1/me/player/play
端点不断抛出错误
Client error:
PUT https://api.spotify.com/v1/me/player/play?device_id=b3be3728123923782d72b3c0b5e7e3d91b9dfb10
resulted in a400 Bad Request
response: { "error" : { "status" : 400, "message" : "Malformed 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 作为没有表单参数的完整请求正文发送。