Client interface for accessing Genius API.
Install via npm
npm install genius-wrapi --save
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
client.annotations.get('6737668', function(err, data) {
if (!err) {
console.log(data);
}
});
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);
}
});
client.artists.songs('16775', function(err, data) {
if (!err) {
console.log(data);
}
});
client.webpages.lookup(
{
aw_annotatable_url:'https://docs.genius.com'
},
function(err, data) {
if (!err) {
console.log(data);
}
}
);
client.search(
{
q:'Kendrick Lamar'
},
function(err, data) {
if (!err) {
console.log(data);
}
}
);
- annotations.get
- annotations.create
- annotations.update
- annotations.delete
- annotations.upvote
- annotations.unvote
- annotations.downvote
- referents
- songs
- artists
- artists.songs
- web_pages.lookup
- search
- account