Spotify Web-API & 传输用户的播放:格式错误 JSON

Spotify Web-API & Transfer User's Playback : malformed JSON

我一直在使用 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 请求正文,这为我提供了一个 curl 命令……从控制台执行时效果很好。所以,是的......我有点困惑,那里。

任何人都可以指出问题所在的正确方向吗?

提前致谢 <3

doc中所述,您应该传递一个字符串数组作为第一个参数

试试这个:

var deviceIds = [id]
spotifyApi.transferMyPlayback(deviceIds)
.then(...)