如何使用javascript创建Soundcloud播放列表(集合)?

如何使用javascript创建Soundcloud播放列表(集合)?,javascript,codeigniter,soundcloud,Javascript,Codeigniter,Soundcloud,我正在尝试为我的应用程序使用SoundCloudAPI,用户可以在其中创建自己的曲目播放列表。作为一个测试用例,我正在测试的示例几乎完全取自Soundcloud开发文档。下面是我的代码 <script src="http://connect.soundcloud.com/sdk.js"></script> <script> // initialize client with app credentials SC.initialize({ client_id

我正在尝试为我的应用程序使用
SoundCloudAPI
,用户可以在其中创建自己的曲目播放列表。作为一个测试用例,我正在测试的示例几乎完全取自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 }
    });
});

//使用应用程序凭据初始化客户端
SC.initialize({
客户id:“我的客户id”,
重定向_uri:'http://localhost.local/~*****/sc/callback.html'
});
//启动auth弹出窗口并创建新的播放列表
SC.connect(函数(){
SC.get('/me',函数(me){
console.log(me.username);
});
var tracks=[12573606].map(函数(id){return{id:id};});
SC.post(“/播放列表”{
播放列表:{title:'My playlist',tracks:tracks}
});
});

我已经在谷歌上搜索了很多东西,但没有任何帮助,实际上我需要临时播放列表,所以当用户注销或关闭浏览器时,播放列表也会被删除。任何帮助都是值得的。。thanx

能否尝试发送
客户端密码=>“您的客户端密码”
作为初始化呼叫的一部分

在soundcloud中似乎没有这样的事情需要临时播放列表,您需要在退出时删除播放列表

最好的猜测是看看当有人点击删除按钮时如何设置url的格式,你可以在这里找到:我没有帐户,所以我无法测试这个部分

创建播放列表的关键是要有正确的曲目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);
      }
    });
});

//使用应用程序凭据初始化客户端
SC.initialize({
客户id:“我的客户id”,
重定向_uri:'http://localhost.local/~*****/sc/callback.html'
});
//启动auth弹出窗口并创建新的播放列表
SC.connect(函数(){
SC.get('/me',函数(me){
console.log(me.username);
});
var tracks=[12573606].map(函数(id){return{id:id};});
SC.post(“/播放列表”{
播放列表:{title:'My playlist',tracks:tracks}
});
//正如您所看到的,它是一个简单的track ID数组
轨道=[217782012244850021928809];
//要获取所有播放列表,请删除限制并搜索每个播放列表名称和抓取id
SC.get('/me/playlists',{limit:1},函数(playlist){
SC.put(playlist.uri,{playlist:{tracks:tracks}});
});
//然后,要获取所有曲目,请将播放列表id替换为1234323:
SC.get('/playlists/1234323',函数(playlist){
对于(var i=0;i
我首先想到的是回调不能是本地的。你能在公共环境中测试一下吗?或者将您的请求路由到您的公共ip并打开一些端口,以便您的电脑接收响应。@GYT是的,我已使用主机url对其进行了测试,但它正在打开一个弹出窗口并要求登录。。尽管我正在使用id传递客户端id,但这是预期的行为(请参阅)如果我登录到soundcloud网站,我已经读过了,上面说只需单击一个用户确认按钮,但我的播放列表中没有任何更改。我只想,当有人单击它时,我有一个添加到播放列表按钮,即“添加到播放器列表中的小人物曲目”