npm install genius-wrapiClient interface for accessing Genius API.
Install via npm
``bash`
npm install genius-wrapi --save
Create a client object with the access_token to connect to Genius API endpoints.
`JS
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
#### Get data for a specific annotation.
`JS`
client.annotations.get('6737668', function(err, data) {
if (!err) {
console.log(data);
}
});
#### Creates a new annotation on a public web page.
`JS`
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.
`JS`
client.artists.songs('16775', function(err, data) {
if (!err) {
console.log(data);
}
});
#### Retrieve information about a web page.
`JS`
client.webpages.lookup(
{
aw_annotatable_url:'https://docs.genius.com'
},
function(err, data) {
if (!err) {
console.log(data);
}
}
);
#### Search documents hosted on Genius.
`JS``
client.search(
{
q:'Kendrick Lamar'
},
function(err, data) {
if (!err) {
console.log(data);
}
}
);