A node.js wrapper for the Soundcloud SDK.
npm install node-soundcloudnode-soundcloud 
=======================================================================================================================
node.js wrapper for the Soundcloud SDK. Inspired by the libraries soundcloud-node and soundclouder.js.
---
1. npm install --save node-soundcloud
2. var SC = require('node-soundcloud')
---
1. Require node-soundcloud and initialize with your parameters
2. Redirect user to the necessary SoundCloud Connect URL
3. User will then be redirected to your redirect_uri, which can be handled by an Express endpoint (discussed in the next section).
``javascript
var SC = require('node-soundcloud');
// Initialize client
SC.init({
id: 'your SoundCloud client ID',
secret: 'your SoundCloud client secret',
uri: 'your SoundCloud redirect URI'
});
// Connect user to authorize application
var initOAuth = function(req, res) {
var url = SC.getConnectUrl();
res.writeHead(301, { location: url });
res.end();
};
// Get OAuth token (example endpoint discussed in the next section)
`
---
After your user is redirected to the Connect URL, SoundCloud will then redirect them back to the URL you have specified as your redirect_uri. There will also be the parameter code in the query string, and this is used to retrieve your OAuth token. An endpoint to handle this could work as follows:
`javascript
var redirectHandler = function(req, res) {
var code = req.query.code;
SC.authorize(code, function(err, accessToken) {
if ( err ) {
throw err;
} else {
// Client is now authorized and able to make API calls
console.log('access token:', accessToken);
}
});
};
`
---
If you have already acquired an OAuth access token, you can initialize the client without going through the authorization process by passing it as an extra option:
`javascript
var SC = require('node-soundcloud');
// Initialize client with additional accessToken field
SC.init({
id: 'your SoundCloud client ID',
secret: 'your SoundCloud client secret',
uri: 'your SoundCloud redirect URI',
accessToken: 'your existing access token'
});
`
---
Once authorized (or if you're accessing unprotected endpoints), you may now make calls to the SoundCloud API documented here. An example could be as follows:
`javascript``
SC.get('/tracks/276882056', function(err, track) {
if ( err ) {
throw err;
} else {
console.log('track retrieved:', track);
}
});