2015-10-18 26 views
0

目前,我试图使用JavaScript API的SoundCloud包装来获得所有从用户的声音的饲料是这样的:使用soundloud API从用户的所有曲目饲料

$('head').append("<script src='https://connect.soundcloud.com/sdk/sdk-3.0.0.js'>"); 

SC.initialize({ 
    client_id: 'YOUR_CLIENT_ID', 
    redirect_uri: '/callback.html' 
}); 

// initiate auth popup 
SC.connect(function() { 
    SC.get('/me', function(me) { 
     alert('Hello, ' + me.username); 
    }); 
}); 

var dashTracks = SC.get('/me/activities/tracks/affiliated'); 

但是当我查看控制台,有错误

Uncaught ReferenceError: SC is not defined 

我不太清楚如何解决它。

回答

1

等待脚本在执行代码之前被加载。

var s = document.createElement('script'); 
s.type = 'text/javascript'; 
s.src = 'https://connect.soundcloud.com/sdk/sdk-3.0.0.js'; 
$('head').append(s); 

s.onload = init; 

function init() { 
    SC.initialize({ 
     client_id: 'YOUR_CLIENT_ID', 
     redirect_uri: '/callback.html' 
    }); 

    SC.connect(function() { 
     SC.get('/me', function (me) { 
      alert('Hello, ' + me.username); 
     }); 
    }); 

    var dashTracks = SC.get('/me/activities/tracks/affiliated'); 
} 
+0

哎呦,我已经这样做了。编辑我的OP以反映如何。我将它封装为Chrome应用程序,该应用程序主要在后台运行,因此我没有任何可以在SC.initialize – ingleback

+0

@ingleback旁边编辑的HTML编辑器查看更新后的答案。 –