2012-04-01 86 views
1

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

我tryed通过一些PARAMS作为artwork_url没有成功以下这种方法:

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

我试图从的SoundCloud网站上传的轨道一份附图片,工作正常,图像可在artwork_url领域。
无论如何,尝试将图像传递到此字段,同时创建一个API不工作的新轨道,而不会出错。

我试图通过URL也没有运气。

+0

你可以编辑你的问题,以显示你描述的那种情况吗? – dldnh 2012-04-01 09:23:48

+0

上面的情况可行,但没有图像上传,如果我想要图像显示我必须从网站上传我的曲目,而不是使用API​​。 – 2012-04-01 09:39:59

+0

您提到了一个“正常工作”和“图像可用”的案例 - 我的意思是这种情况。这两种不同的代码方式如何? – dldnh 2012-04-01 09:42:14

回答

3

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

这里的问题是,您正在使用轨道[artwork_url]参数,它是只读的。如果您想上传作品,请使用曲目[artwork_data]参数。例如:

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

这应该工作得很好。

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); 
}); 

干杯。