Git Product home page Git Product logo

thingiverse-js's Introduction

npm version Build status Dependencies

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'
  }
}

thingiverse-js's People

Contributors

gswalden avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.