如何使用 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 =&gt; '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 框架创建用于保存图像的按钮?

如何使用 JavaScript/JQuery 创建一个简单的地图 [重复]

如何使用变量创建具有索引和值的 Javascript 对象?

如何使用 Javascript 创建重力效果?

如何使用 javascript 创建自定义关键帧 css 动画