2

我想知道当我们使用 soundcloud API 时是否可以上传图像。

我尝试按照以下方法将一些参数作为artifact_url传递但没有成功:

curl -X POST "https://api.soundcloud.com/tracks.json" \
           -F 'oauth_token=valid_token' \
           -F 'track[asset_data]=@audio.wav' \
           -F 'track[title]=A nice track title' \
           -F 'track[sharing]=public' \
           -F 'track[artwork_url]=@image.jpg'

我尝试从 soundcloud 网站上传带有附加图像的曲目,工作正常并且图像在artwork_url现场可用。
无论如何,在创建 API 不起作用的新轨道时尝试将图像传递到该字段,而不会出现错误。

我也尝试传递 URL,但没有运气。

4

2 回答 2

4

对于任何前来的人,答案都在评论部分中找到了。不过,这可能并不明显,所以就到这里。

这里的问题是您正在使用 track[artwork_url] 参数,该参数是只读的。如果您想上传艺术品,请使用 track[artwork_data] 参数。例子:

curl -X POST "https://api.soundcloud.com/tracks.json" \
           -F 'oauth_token=valid_token' \
           -F 'track[asset_data]=@audio.wav' \
           -F 'track[title]=A nice track title' \
           -F 'track[sharing]=public' \
           -F 'track[artwork_data]=@image.jpg'

这应该工作得很好。

于 2012-04-04T16:32:54.680 回答
0

如果您使用的是https://github.com/thomasmodeneis/soundcloudnodejs 这就是您可以上传包含最常用字段(包括图像)的曲目的方法。

var track = {
 title: "My music",
 description: "My description",
 genre: "my genre",
 tag_list: "my tags with spaces",
 artwork_data: '/tmp/images/myimage.jpg',
 sharing: 'public',
 oauth_token: "MY_SOUNDCLOUD_TOKEN",
 asset_data: "/tmp/sound/mytrack.mp3",
};

其次是add方法:

soundcloudnodejs.addTrack(track, function (err, track) {
...
 console.log("addTrack, track: ", track);
 console.log("permalink_url --> " + track.permalink_url);
});

干杯。

于 2016-06-23T07:08:50.910 回答