genius-wrapi

0.1.0 • Public • Published

Genius API Wrapper

Client interface for accessing Genius API.

Installation

Install via npm

npm install genius-wrapi --save

Usage

Create a client object with the access_token to connect to Genius API endpoints.

var geniusWrapi = require('genius-wrapi');
 
var client = new geniusWrapi(GENIUS_ACCESS_TOKEN);
 
// Now you are ready to make API calls to Genius.

Provide parameters and a callback.

API calls follow this syntax:

client.apimethod(param1, ..., queryString, post_payload, callback);

  • param - (if required) url parameters - eg: For annotations.get the value for :id.
  • queryString - (as required) API method parameters as key-value pairs.
  • post_payload - (as required) payload for POST requests - eg annotations.create

Examples

Get data for a specific annotation.

client.annotations.get('6737668', function(err, data) {
  if (!err) {
    console.log(data);
  } 
});

Creates a new annotation on a public web page.

var payload = {
  "annotation": {
    "body": {
      "markdown": "hello **world!**"
    }
  },
  "referent": {
    "raw_annotatable_url": "http://seejohncode.com/2014/01/27/vim-commands-piping/",
    "fragment": "execute commands",
    "context_for_display": {
      "before_html": "You may know that you can ",
      "after_html": " from inside of vim, with a vim command:"
    }
  },
  "web_page": {
    "canonical_url": null,
    "og_url": null,
    "title": "Secret of Mana"
  }
};
client.annotations.create(payload, function(err, data) {
  if (!err) {
    console.log(data);
  }
});

Songs for the specified artist.

client.artists.songs('16775', function(err, data) {
  if (!err) {
    console.log(data);
  } 
});

Retrieve information about a web page.

client.webpages.lookup(
  {
    aw_annotatable_url:'https://docs.genius.com'
  }, 
  function(err, data) {
    if (!err) {
      console.log(data);
    } 
  }
);

Search documents hosted on Genius.

client.search(
  {
    q:'Kendrick Lamar'
  }, 
  function(err, data) {
    if (!err) {
      console.log(data);
    } 
  }
);

API Functions

Annotations

  • annotations.get
  • annotations.create
  • annotations.update
  • annotations.delete
  • annotations.upvote
  • annotations.unvote
  • annotations.downvote

Referents

  • referents

Songs

  • songs

Artists

  • artists
  • artists.songs

Web Pages

  • web_pages.lookup

Search

  • search

Account

  • account

License

MIT

Package Sidebar

Install

npm i genius-wrapi

Weekly Downloads

1

Version

0.1.0

License

MIT

Last publish

Collaborators

  • palanik