【问题标题】:Spotify Web-API & Transfer User's Playback : malformed JSONSpotify Web-API & Transfer User's Playback : 格式错误的 JSON
【发布时间】:2018-04-24 09:16:55
【问题描述】:

我一直在使用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 命令......从控制台执行时效果很好。所以,是的......我有点困惑,那里。

谁能指出问题出在哪里的正确方向?

提前致谢

【问题讨论】:

    标签: javascript json spotify


    【解决方案1】:

    正如doc 中指定的,您应该传递一个字符串数组作为第一个参数

    试试这个:

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

    【讨论】:

    • 该死,我应该更加关注并坚持预期的类型而不是文档中参数的描述,我猜-_-谢谢队友;)
    猜你喜欢
    • 2018-02-10
    • 2020-02-19
    • 1970-01-01
    • 2018-07-19
    • 2018-08-12
    • 1970-01-01
    • 2018-05-18
    • 2019-06-25
    • 1970-01-01
    相关资源
    最近更新 更多