我一直在使用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 消息格式错误。
我也尝试喂Spotify Web-API Console带有上面 deviceIds_JSON 输出的请求正文,它为我提供了一个curl命令......从控制台执行时完美运行。所以,是的...我有点困惑。
任何人都可以指出问题可能出在哪里的正确方向吗?
提前致谢<3
最佳答案
如 doc 中所述您应该传递一个字符串数组作为第一个参数
试试这个:
var deviceIds = [id]
spotifyApi.transferMyPlayback(deviceIds)
.then(...)
关于javascript - Spotify Web-API & 传输用户的播放 : malformed JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49997821/