Nondeterministic Postrequisite Metaprotocol

    soundcloud-node-api

    0.0.9 • Public • Published

    SoundCloud Node API

    (soundcloud-node-api)

    soundcloud-node-api : _soundcloud-node-api is a node js utility module which supports most of the resources available for sound cloud. It is designed get data from Sound Cloud API in a very simplest way. The SoundCloud API exposes resources(rest api) to manage user data, sounds and play-lists. To access public resources(API), you just have to pass a sound_cloud_clientId as parameter. You can get the sound_cloud_clientId by registering the App over developer page.

    How to install

        npm install soundcloud-node-api --save

    How to initialize module

    example

        var soundCloud = require('soundcloud-node-api')(sound_cloud_clientId);

    User APIs:

    By using user's APIs, you can access all the resources of User.

    Get All Users of SoundCloud

    soundCloud.user.getAllUsers(function (err, result) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("Result: ", JSON.parse(result));
      }
    });
    Get a user details by userId
    soundCloud.user.getUserDetails(userId,function (err, userDetails) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("userDetails: ", JSON.parse(userDetails));
      }
    });
    Get tracks of a User
    soundCloud.user.getUserTracks(userId,function (err, tracks) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("Tracks: ", JSON.parse(tracks));
      }
    });
    Get playLists of a User
    soundCloud.user.getUserPlaylists(userId,function (err, playLists) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("PlayLists: ", JSON.parse(playLists));
      }
    });
    Get Followings of a User
    soundCloud.user.getUserFollowings(userId,function (err, followings) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("Followings: ", JSON.parse(followings));
      }
    });
    Get detail of a follower who follows another User, By user id and follower user id
    soundCloud.user.getUserFollowingUser(userId,followingId,function (err, followingUser) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("FollowingUser: ", JSON.parse(followingUser));
      }
    });
    Get list of users follows another User
    soundCloud.user.getUserFollowers(userId,function (err, followers) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("Followers: ", JSON.parse(followers));
      }
    });
    Get a Follower's details of a User
    soundCloud.user.getUserFollowerUser(userId,followerId,function (err, follower) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("Follower: ", JSON.parse(follower));
      }
    });
    Get Comments of a User
    soundCloud.user.getUserComments(userId,function (err, comments) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("Comments: ", JSON.parse(comments));
      }
    });
    Get favorite tracks of a User
    soundCloud.user.getUserFavorites(userId,trackId,function (err, tracks) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("FavoriteTracks: ", JSON.parse(tracks));
      }
    });
    Get a FavoriteTrack of a User
    soundCloud.user.getUserFavoriteTrack(userId,trackId,function (err, track) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("FavoriteTrack: ", JSON.parse(track));
      }
    });
    Get Groups of a User
    soundCloud.user.getUserGroups(userId,function (err, groups) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("Groups: ", JSON.parse(groups));
      }
    });
    Get WebProfiles of a User
    soundCloud.user.getUserWebProfiles(userId,function (err, profiles) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("Profiles: ", JSON.parse(profiles));
      }
    });

    PlayList APIs:

    By using Sets/PlayLists APIs, you can access all the resources of PlayList.

    Get a PlayList using playListId
    soundCloud.playLists.getAPlaylist(playListId,function (err, playList) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("PlayList: ", JSON.parse(playList));
      }
    });

    Tracks APIs:

    By using Tracks APIs, you can access all the resources of tracks.

    Get a track details using trackId
    soundCloud.tracks.getATrack(trackId,function (err, track) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("Track details: ", JSON.parse(track));
      }
    });
    Get a track's comments using trackId
    soundCloud.tracks.getCommentsForTrack(trackId,function (err, comments) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("Track comments: ", JSON.parse(comments));
      }
    });
    Get a comment of a track using trackId & commentId
    soundCloud.tracks.getACommentForTrack(trackId,commentId,function (err, comment) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("Comment: ", JSON.parse(comment));
      }
    });
    Get the list of users who marked a track as favorite
    soundCloud.tracks.getFavoritersOfTrack(trackId,function (err, users) {
      if (err) {
        console.error("Error:", err);
      }
      if (result) {
        console.log("Users: ", JSON.parse(users));
      }
    });

    How to test

    To run tests type: npm test To run tests with coverage type: npm run coverage

    Issues/Bugs ❤️:

    Sound Cloud Node API Issue Tracker

    Keywords

    none

    Install

    npm i soundcloud-node-api

    DownloadsWeekly Downloads

    2

    Version

    0.0.9

    License

    ISC

    Last publish

    Collaborators

    • vineetasharma