soundlake

0.0.7 • Public • Published

SoundLake

Unofficial SDK for SoundCloud

Sound Cloud Icon

Simple to use for all Soundcloud resources!

Installation

    $ npm install soundlake

Usage

Connect User:

Built-in access to get url, although it probably shouldn't be dynamically generated.

const SoundLake = require('soundlake');
var sl = new SoundLake();
sl.getRedirectURL({client_id: 'YOUR_CLIENT_ID', 
                   redirect_uri: 'YOUR_URI',
                   response_type: 'code_and_token', //Or could be just one.
                   scope: '*', //Might want to specify a different scope.
                   display: 'popup', //Only for mobile and none is ok
                   state: 'For maintaining when returning to redirect'
                   });
=> https://soundcloud.com/connect?client_id=YOUR_CLIENT_ID&display=popup&redirect_uri=YOUR_URI&response_type=code_and_token&scope=%2A&state=For%20maintaining%20when%20returning%20to%20redirect
Get Access Token:
var sl = new SoundLake({client_id: 'YOUR_CLIENT_ID'});
sl.getToken((err, resp, body) => someCallback(err, resp, body),
    {client_id: 'WILL_OVERRIDE_ONE_SET_BEFORE', 
    client_secret: 'YOUR_SECRET',
    redirect_uri: 'YOUR_REDIRECT_URI',
    grant_type: 'authorization_code, refresh_token, password, client_credentials, oauth1_token',
    code: 'auth code received when user is sent to redirect'});

Users

//Assuming client_id is set on creation
let options = {
    path: '/followings/lamar',
    //Defaults to nothing, but if a specific user endpoint is needed,
    //this will be the part after the id
    method: 'DELETE', //Or any http verb, defaults to get
    query: {
        q: 'Search String',
        limit: 10 //Number of users returned
    } //Defaults to an empty object, but if some parameter specific to that endpoint is
    //required it should be specifed as a property of query.
};
sl.users('SOME_USERNAME OR ID#',
        callback(err, resp, body) => someCB(err, resp, body), 
        options);

tracks

//Functions exact same as the one above, except query options are different
//As according to Soundcloud's HTTP API.
 
sl.tracks('scrub', console.log).on('response', ...);
// Every call to the API returns a request object which has listeners, so you can add pipes, etc.

Made because SoundCloud's SDK is...

Github

Git Icon

License

MIT

Free Software, Hell Yeah!

Readme

Keywords

none

Package Sidebar

Install

npm i soundlake

Weekly Downloads

1

Version

0.0.7

License

MIT

Last publish

Collaborators

  • tomzer0