Skip to content

tropo/soundcloud-node

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Soundcloud-node

Provides seamless modular support for working with SoundCloud and Nodejs

Enhanced so you need to do less

SoundCloud APIs

  • Connection + Authorize User
  • OAuth Authorization
  • General GET, PUT, POST and DELETE request

Usage

Get OAuth token

var SoundCloudAPI = require("soundcloud-node");

// instantiate the client
var client = new SoundCloudAPI(client_id, client_secret, redirect_uri);

// Connect User
var oauthInit = function(req, res) {
	var url = client.getConnectUrl();

    res.writeHead(301, Location: url);
    res.end();
};

// Get OAuth Token
// callback function from the connect url
var oauthHandleToken = function(req, res) {
	var query = req.query;

	client.getToken(query.code, function(err, tokens) {
        if (err)
            callback(err);
        else {
            callback(null, tokens);
        }
    });
};

//  By default upon authentication, the access_token is saved, but you can add it like
client.setToken(access_token);

Get User

After authenticating you can easily get the user object

var user_id;

var getUser = client.getMe(function(err, user) {
    user_id = user.id;

    //  Then you can set it to the API like
    client.setUser(user_id);
});


Initiate Client with OAuth Token

//  You can pass in credentials with either or both values, but 
//  you will need the access_token make authenticated requests
var credentials = {
    access_token: "{ACCESS_TOKEN}",
    user_id: "{USER_ID}"
};

client = new SoundCloudAPI(client_id, client_secret, redirect_uri, credentials);

Get users favorite tracks

client.get('/users/273281/favorites', function (data) {
	console.log(data.title);
});

Or if the user id is set, it will automatically parse {id} into your user_id

client.get('/users/{id}/favorites', function (data) {
    console.log(data.title);
});

Support

To Install

NPM

  • Run: sudo npm install soundcloud-node -g

Github

Extra

Forked off of soundclouder.js Build Status

Releases

No releases published

Packages

No packages published