Soundcloud HTTP API - POST / track 422无法处理

时间:2015-08-22 19:29:05

标签: soundcloud

我正在尝试向/ tracks端点发送帖子请求以上传mp3音频。

在apigee控制台中,asset_data参数是标题。但是我不明白我应该用这个参数做什么。为什么我要在标题中发送原始数据?那将是在POST体内。

这是我的演示代码,HTML,上传功能是代码中唯一相关的部分(但同样的事情发生在这里https://apigee.com/console/soundcloud

  function upload(blob){
    var auth = "Bearer 1-122377-144392358-af3f9a82d0e0e";
    var myUrl = "https://api.soundcloud.com/tracks?client_id=30f3ce7853003c7bdf6445b7a15505d5";
    var fd3 = new FormData();
    fd3.append("track[title]", 'my title');
    fd3.append("track[asset_data]", blob);
    fd3.append("oauth_token", '1-122377-144392358-af3f9a82d0e0e');
    fd3.append("format", "json")
    fd3.append("Filename", "blob.mp3")
    $.ajax({
      type:"POST",
      beforeSend: function (request)
      {
          request.setRequestHeader("Authorization", auth);
      },
      url:myUrl,
      data:fd3,
      //timeout:10000,
        processData: false,
    contentType: false,
      success: function(data) {
        console.log("SOUNDCLOUD", data);
      },
      error: function(shr, status, data) {
        console.log("SOUNDCLOUD", shr.status, status, data);
      }

    });

  }

1 个答案:

答案 0 :(得分:1)

好吧我通过对官方javascript录制api进行网络嗅探来解决这个问题,并将其用作模板。但我不得不说api文档对这个端点不是很好。没有提到资产数据应该跟踪[asset_data]"

也需要修复apigee控制台。 asset_data不是标题。