javascript - Spotify Web-API & 传输用户的播放 : malformed JSON

标签 javascript json spotify

我一直在使用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/

相关文章:

javascript - Spotify javascript API - 获取播放列表中歌曲的类型

javascript - 更改我的 phpmyadmin 共享服务器中的时区

javascript - Jquery下如何将数据传递给函数

ios - 卡顿和轨道开始多次播放

javascript - Node.js 与 MongoDB 驱动程序 - 尝试使用键周围的引号获取有效的 JSON 输出

java - 从 Java 对象重置值

ios - 如何在 Spotify 登录时处理 Facebook 的两步验证?

javascript - Bootstrap SelectPicker 在初始化时复制选择列表

javascript - Http 请求在 Node.JS 中不起作用?

javascript - 传递给函数的默认变量值会破坏 IE11 中的脚本,但似乎不是必需的