Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jakemmarsh/node-soundcloud
node.js wrapper for the Soundcloud SDK
https://github.com/jakemmarsh/node-soundcloud
Last synced: 30 days ago
JSON representation
node.js wrapper for the Soundcloud SDK
- Host: GitHub
- URL: https://github.com/jakemmarsh/node-soundcloud
- Owner: jakemmarsh
- License: mit
- Created: 2014-08-30T17:32:13.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2017-05-25T21:47:40.000Z (over 7 years ago)
- Last Synced: 2024-09-26T20:54:57.392Z (about 1 month ago)
- Language: JavaScript
- Size: 13.7 KB
- Stars: 32
- Watchers: 5
- Forks: 8
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
node-soundcloud [![npm version](https://badge.fury.io/js/node-soundcloud.svg)](http://badge.fury.io/js/node-soundcloud)
=======================================================================================================================node.js wrapper for the Soundcloud SDK. Inspired by the libraries [soundcloud-node](https://github.com/maruf89/soundcloud-node) and [soundclouder.js](https://github.com/khilnani/soundclouder.js).
---
### Getting started
1. `npm install --save node-soundcloud`
2. `var SC = require('node-soundcloud')`---
### Getting an OAuth Token
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)
```---
### Example Redirect URI Endpoint
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);
}
});
};
```---
### Initializing with an OAuth Token
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'
});
```---
### Making calls to the SoundCloud API
Once authorized (or if you're accessing unprotected endpoints), you may now make calls to the SoundCloud API [documented here](https://developers.soundcloud.com/docs/api/reference). An example could be as follows:
```javascript
SC.get('/tracks/276882056', function(err, track) {
if ( err ) {
throw err;
} else {
console.log('track retrieved:', track);
}
});
```