如何使用 javascript 创建 Soundcloud 播放列表 ( set )?
Posted
技术标签:
【中文标题】如何使用 javascript 创建 Soundcloud 播放列表 ( set )?【英文标题】:How to Create a Soundcloud playlist ( set ) using javascript? 【发布时间】:2015-10-01 11:14:43 【问题描述】:我正在尝试将Soundcloud api
用于我的应用程序,用户可以在其中创建他/她自己的曲目播放列表。作为一个测试用例,我正在测试的示例几乎完全取自 Soundcloud 开发文档。下面是我的代码
<script src="http://connect.soundcloud.com/sdk.js"></script>
<script>
// initialize client with app credentials
SC.initialize(
client_id: 'MY_CLIENT_ID',
redirect_uri: 'http://localhost.local/~****/sc/callback.html'
);
// initiate auth popup and create new playlist
SC.connect(function()
SC.get('/me', function(me)
console.log(me.username);
);
var tracks = [12573606].map(function(id) return id: id ; );
SC.post('/playlists',
playlist: title: 'My Playlist', tracks: tracks
);
);
我已经在谷歌搜索了很多东西,但没有任何帮助,实际上我需要临时播放列表,所以当用户注销或关闭浏览器播放列表时也会删除。任何帮助都会很明显..thanx
【问题讨论】:
回调不能是本地的是我首先想到的。你能在公共环境中测试这个吗?或者将您的请求路由到您的公共 ip 并打开一些端口,以便您的电脑收到响应。 @GuyT 是的,我已经使用主机 url 对其进行了测试,但它正在打开一个弹出窗口并要求登录..尽管我正在使用 id 传递客户端 id 这是预期行为(见developers.soundcloud.com/docs/api/guide#authentication) 如果我登录 soundcloud 网站,我已经阅读过它,而不是它说只是一个用户确认按钮可以点击,但我的播放列表中没有任何变化 我只是想要,我有一个添加到播放列表按钮,当任何人点击它时,perticuler 曲目添加到播放器列表中 【参考方案1】:您能否尝试在初始化调用中发送client_secret => 'YOUR_CLIENT_SECRET'
【讨论】:
【参考方案2】:soundcloud 中似乎没有临时播放列表,您需要在退出时删除播放列表....
最好的猜测是查看如何格式化您的 url 以匹配当有人点击您可以在此处找到的删除按钮时:http://help.soundcloud.com/customer/portal/articles/282512-how-do-i-delete-tracks-from-my-account-我没有帐户,所以我无法测试这部分。
创建播放列表的关键是拥有正确的曲目 ID。如果您遇到的问题可能是曲目 ID 不存在,因此它没有被添加到播放列表中。
<script src="http://connect.soundcloud.com/sdk.js"></script>
<script>
// initialize client with app credentials
SC.initialize(
client_id: 'MY_CLIENT_ID',
redirect_uri: 'http://localhost.local/~****/sc/callback.html'
);
// initiate auth popup and create new playlist
SC.connect(function()
SC.get('/me', function(me)
console.log(me.username);
);
var tracks = [12573606].map(function(id) return id: id ; );
SC.post('/playlists',
playlist: title: 'My Playlist', tracks: tracks
);
//As you can see it is a simple array of ids of track
tracks = [21778201, 22448500, 21928809];
//To get all playlists remove limit and search each playlist name and grab id
SC.get('/me/playlists', limit: 1 , function(playlist)
SC.put(playlist.uri, playlist: tracks: tracks );
);
//Then to get all the tracks, please substitute the playlist id for 1234323:
SC.get('/playlists/1234323', function(playlist)
for (var i = 0; i < playlist.tracks.length; i++)
console.log(playlist.tracks[i].length);
);
);
【讨论】:
以上是关于如何使用 javascript 创建 Soundcloud 播放列表 ( set )?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Javascript 或任何 Javascript 框架创建用于保存图像的按钮?
如何使用 JavaScript/JQuery 创建一个简单的地图 [重复]