使用soundcloud track API上传图片

时间:2012-04-01 09:18:03

标签: curl soundcloud

我想知道在使用soundcloud API时是否可以上传图片。

我尝试将一些参数作为artwork_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无法正常工作的新轨道,而不会出错。

我也尝试过传递网址,但没有运气。

2 个答案:

答案 0 :(得分:4)

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

这里的问题是您正在使用track [artwork_url]参数,该参数是只读的。如果您要上传图稿,请使用曲目[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'

这应该可以正常工作。

答案 1 :(得分: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);
});

干杯。