到目前为止,我一直在使用spotify-web-api-js与Spotify Web API进行互动。
但是,当我尝试使用transferMyPlayback()方法更改设备时,我总是收到指向格式错误的JSON的错误响应。
response: "{\n \"error\" : {\n \"status\" : 400,\n \"message\" : \"Malformed json\"\n }\n}"
此方法采用包含设备ID的JSON数组。
这是我的代码:
var deviceIds = {}
deviceIds["device_ids"] = [id]
var deviceIds_JSON = JSON.stringify(deviceIds)
spotifyApi.transferMyPlayback(deviceIds_JSON)
.then(function(data){
console.log(data)
}, function(err){
console.log(err)
});
Console.log(deviceIds_JSON)给出如下内容:
{"device_ids":["948b56d03d394e0533f198152b852eef85799df2"]}
我已经尝试了几个操作JSON的东西,但最终总是出现错误400 - 格式错误的JSON消息。
我还尝试使用上面的deviceIds_JSON输出提供Spotify Web-API Console Request Body,这给了我一个curl命令......从控制台执行时效果很好。所以,是的...我在那里有点困惑。
任何人都可以指出我的问题可能在哪里?
提前致谢< 3
答案 0 :(得分:1)
如doc中所述,您应该传递一个字符串数组作为第一个参数
试试这个:
var deviceIds = [id]
spotifyApi.transferMyPlayback(deviceIds)
.then(...)