thingiverse-js
v1.0.1
Published
Easy Thingiverse API requests for Node.js
Downloads
14
Readme
Use
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));
});
API
In addition to the standard got methods, we've added some conveniences.
thingiverse(path, opts)
Returns a Promise for the API request. This Promise is the return value from a got request.
path
Should be a string containing the endpoint you're calling (/users/me
for example). The leading slash is optional.
opts
Should be an object containing, at least, the OAuth access token set to the property token
. Other got options may be added.
thingiverse.getAuthorizeUrl(opts)
Returns a string containing the URL that will allow your users to authorize your application.
opts
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
.
thingiverse.getError(response)
Returns a string containing the error that occurred in your API request, or null
if none is found.
response
Type: object
Should be the response object returned from an API request (usually, err.response
).
thingiverse.getAccessToken(opts)
Builds a request for exchanging an OAuth authorization code for an access token. Returns a Promise.
opts
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'
}
}