npm version Build status Dependencies
This library is a wrapper over the excellent got HTTP request library. We've added some Thingiverse-specific conveniences, but all features of got will work here. Please review their documentation.
npm install thingiverse-js
const thingiverse = require('thingiverse-js'); const token = 'abcdefgh12345'; thingiverse('users/me', { token }).then(res => { console.log('My location is "%s" on Thingiverse', res.body.location); return thingiverse.patch(`users/${res.body.name}`, { token, body: { location: 'New Caprica' } }); }).then(res => { console.log('Now my location is "%s" on Thingiverse', res.body.location); }).catch(err => { console.log(err); console.log(thingiverse.getError(err.response)); });
In addition to the standard got methods, we've added some conveniences.
Returns a Promise for the API request. This Promise is the return value from a got request.
Should be a string containing the endpoint you're calling (/users/me for example). The leading slash is optional.
Should be an object containing, at least, the OAuth access token set to the property token. Other got options may be added.
Returns a string containing the URL that will allow your users to authorize your application.
Type: object, string
As an object, this parameter must contain your client_id in the form { query: { client_id: 'abcdef123' } }. Other got options may be added.
As a string, simply pass your client_id.
Returns a string containing the error that occurred in your API request, or null if none is found.
Type: object
Should be the response object returned from an API request (usually, err.response).
Builds a request for exchanging an OAuth authorization code for an access token. Returns a Promise.
Type: object
At a minimum, this object must contain your client_id, client_secret, and the code
returned after a user authorizes your application. Use the form:
{ body: { client_id: 'abcdef123', client_secret: 'tuvwxzy789', code: 'mnopqrs456' } }