patreon.js
patreon.js
is an NPM JS package that makes interacting with the
Patreon ReST API as easy as pie.
Features
- documented data models and api
- asynchronous
- TypeScript-powered
Getting started
First of all, install the patreon.js
package via NPM:
npm install patreon.js
If you already have a an access token for the Patreon API, you will most likely want to start with creating a PatreonAPI instance like this:
const Patreon = require('patreon.js');
// replace xxx with your access token or load it from a configuration
const api = new Patreon.PatreonAPI('xxx');
You can then use the PatreonAPI instance to make requests to the Patreon API.
For example, you can fetch the current user and print his name to the console like this:
api.getCurrentUser()
.then(user => {
console.log(user.firstName + ' ' + user.lastName);
})
.catch(console.error);
Some data models offer further requests to simplify request chaining. For example, you might want to print all pledge id's of the user's first Campaign to the console:
api.getCurrentUserCampaigns()
.then(campaigns => campaigns[0].getAllPledges()) // request-chain
.then(pledges => {
let pledgeIds = pledges.map(pledge => pledge.patron.id);
console.log(pledgeIds);
})
.catch(console.error);
Some requests like the
PatreonAPI.getCampaignPledges(campaignId)
are paginated. That means that you will get the data out of it in bunches:
api.getCampaignPledges('campaignId')
.then(page => {
console.log(page.contents); // page.contents contains an array of pledges
if (page.hasNext()) { // check whether there is a next page
page.getNext() // fetch the next page
.then(nextPage => {
// do something with the second page...
})
.catch(console.error);
}
})
.catch(console.error);
Useful links
License
This project is released under the
MIT license. A copy of the license is
included in the LICENSE
file in this package.
The GitLab project avatar is an Icon image by Pixel Perfect which is licensed with the Flaticon Basic License.