我正在尝试向/ 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);
}
});
}
答案 0 :(得分:1)
好吧我通过对官方javascript录制api进行网络嗅探来解决这个问题,并将其用作模板。但我不得不说api文档对这个端点不是很好。没有提到资产数据应该跟踪[asset_data]"
也需要修复apigee控制台。 asset_data不是标题。