{"_id":"goodreads","_rev":"12-050d77ee10c0d25d01d85297773a77b7","name":"goodreads","description":"Wrapper for the Goodreads API","dist-tags":{"latest":"0.1.0"},"versions":{"0.0.1":{"name":"goodreads","description":"Wrapper for the Goodreads API","version":"0.0.1","author":{"name":"Brad Dickason","email":"dickason@gmail.com","url":"http://braddickason.com"},"repository":{"type":"git","url":"git://github.com/bdickason/node-goodreads.git"},"keywords":["goodreads","books","lists"],"dependencies":{"xml2js":">= 0.1.9","oauth":">= 0.9.2","coffee-script":">= 0.0.1"},"directories":{"lib":"./lib/goodreads","example":"./examples"},"main":".index.js","engines":{"node":">= 0.2.0"},"devDependencies":{},"_id":"goodreads@0.0.1","_engineSupported":true,"_npmVersion":"1.0.6","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"75fdd11cf56cbb1cbc0d445a1beba34bffef5db9","tarball":"https://registry.npmjs.org/goodreads/-/goodreads-0.0.1.tgz","integrity":"sha512-obO5hLThYld0+g8OAMPwLK0Zokbt0uMPPLgpe9ocW00YGV1YWGDMhwR09cVGmKbiN/UlOMKWVw71sV3/RUbvXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIExVIwoCKlzyWdoWKGyFYmSJ9XH4No0n+BwNf/SC6+nSAiBhdq1Ak2Hxr9ZBISz+U1wNGyZChZOtcV2YIr2VpFJtbA=="}]},"scripts":{}},"0.0.2":{"name":"goodreads","description":"Wrapper for the Goodreads API","version":"0.0.2","author":{"name":"Brad Dickason","email":"dickason@gmail.com","url":"http://braddickason.com"},"repository":{"type":"git","url":"git://github.com/bdickason/node-goodreads.git"},"keywords":["goodreads","books","lists"],"dependencies":{"xml2js":">= 0.1.9","oauth":">= 0.9.2","coffee-script":">= 0.0.1"},"directories":{"lib":"./lib/goodreads","example":"./examples"},"main":".index.js","engines":{"node":">= 0.2.0"},"devDependencies":{},"_id":"goodreads@0.0.2","_engineSupported":true,"_npmVersion":"1.0.6","_nodeVersion":"v0.4.9","_defaultsLoaded":true,"dist":{"shasum":"ccbbb03aa0968f1810b7c9f14baa013f6d8557a5","tarball":"https://registry.npmjs.org/goodreads/-/goodreads-0.0.2.tgz","integrity":"sha512-EB4oG1hzRwUbeDnpEdl+7OsP5wU/hl2m2YOPoQ9b+NhJKrcT4DepOSAlE685/6Cxtbi/Soltuvt9hP5SDe8wUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAYB5MTPnrKfsFcSIwUq3LUyehO3DmGFm+3H+XJ1mAHMAiEA/dRUYq3GgWnbPr7C7v2SnfWDn3DTyjPOj6dKVRbaktc="}]},"scripts":{}},"0.0.3":{"name":"goodreads","description":"Wrapper for the Goodreads API","version":"0.0.3","author":{"name":"Brad Dickason","email":"dickason@gmail.com","url":"http://braddickason.com"},"repository":{"type":"git","url":"https://github.com/bdickason/node-goodreads"},"keywords":["goodreads","books","lists"],"dependencies":{"xml2js":">= 0.1.9","oauth":">= 0.9.2","coffee-script":">= 0.0.1"},"directories":{"lib":"./lib/goodreads","example":"./examples"},"main":".index.js","engines":{"node":">= 0.2.0"},"gitHead":"764916969e334c3ad0bd02d153fdea06ddceec50","bugs":{"url":"https://github.com/bdickason/node-goodreads/issues"},"homepage":"https://github.com/bdickason/node-goodreads","_id":"goodreads@0.0.3","scripts":{},"_shasum":"c3bf96b723f6b7229ef1d838a650eb73d5eef2c3","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"bdickason","email":"dickason@gmail.com"},"dist":{"shasum":"c3bf96b723f6b7229ef1d838a650eb73d5eef2c3","tarball":"https://registry.npmjs.org/goodreads/-/goodreads-0.0.3.tgz","integrity":"sha512-Fp568LteHF7Te+GMe5OjdBdTyEiQOry2VKVQ7tsqwC/HskFb856NQ01kgej8PLEE63/HdMDBXcIt9Nux5lFxWg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBEuztkODrFydkn3gX35YA2zID5Is7usgmi8gKgwbIEwIgV+kB/zwhSWIl5S9kHzta0Fe+8jwZdv24d4lCURO6kzg="}]},"maintainers":[{"name":"bdickason","email":"dickason@gmail.com"}]},"0.0.4":{"name":"goodreads","description":"Wrapper for the Goodreads API","version":"0.0.4","author":{"name":"Brad Dickason","email":"dickason@gmail.com","url":"http://braddickason.com"},"repository":{"type":"git","url":"https://github.com/bdickason/node-goodreads"},"keywords":["goodreads","books","lists"],"dependencies":{"xml2js":">= 0.1.9","oauth":">= 0.9.2","coffee-script":">= 0.0.1"},"directories":{"lib":"./lib/goodreads","example":"./examples"},"main":".index.js","engines":{"node":">= 0.2.0"},"gitHead":"1900dce257b2dc9d82e31cfa9c657e6d5917bf29","bugs":{"url":"https://github.com/bdickason/node-goodreads/issues"},"homepage":"https://github.com/bdickason/node-goodreads","_id":"goodreads@0.0.4","scripts":{},"_shasum":"db1d94e716fe19e1e97a3aa4ec50c3e3ed129e39","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"bdickason","email":"dickason@gmail.com"},"dist":{"shasum":"db1d94e716fe19e1e97a3aa4ec50c3e3ed129e39","tarball":"https://registry.npmjs.org/goodreads/-/goodreads-0.0.4.tgz","integrity":"sha512-m0ORFyg245BpT9b1wjZDmzVHm48WFxr4Y/c32JSSnmMliLeZcLAYeFlR7gpnjUoDu+hFig/QXguJ3sxMO/xT4g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3ZjsW/wFtSHRLvr3+Z02f6nfP9BVO2KXHornjSmSDxgIgNI6l8bYvONfsK0LmrRQhS2qs5o8WmWCp81EQo+vlLI4="}]},"maintainers":[{"name":"bdickason","email":"dickason@gmail.com"}]},"0.1.0":{"name":"goodreads","description":"Wrapper for the Goodreads API","version":"0.1.0","author":{"name":"Brad Dickason","email":"dickason@gmail.com","url":"http://braddickason.com"},"repository":{"type":"git","url":"https://github.com/bdickason/node-goodreads"},"keywords":["goodreads","books","lists"],"dependencies":{"xml2js":">= 0.1.9","oauth":">= 0.9.2","coffee-script":">= 0.0.1"},"directories":{"lib":"./lib/goodreads","example":"./examples"},"main":".index.js","engines":{"node":">= 0.2.0"},"gitHead":"981f7a1d921e4964493bb76a70596daf32bcbc1f","bugs":{"url":"https://github.com/bdickason/node-goodreads/issues"},"homepage":"https://github.com/bdickason/node-goodreads","_id":"goodreads@0.1.0","scripts":{},"_shasum":"b26d587f5b3adf7c66a0a6c1f7ff55cb45eb2c0f","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"bdickason","email":"dickason@gmail.com"},"dist":{"shasum":"b26d587f5b3adf7c66a0a6c1f7ff55cb45eb2c0f","tarball":"https://registry.npmjs.org/goodreads/-/goodreads-0.1.0.tgz","integrity":"sha512-Gw7cQJcTLVdg/XCyCDvSw4VpuqTWyt2S2MlIKA7mIFP5Ai54TCukm10K+RrS3QV2RCWM2+qlOgEBB7coDTKiwA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeJS3UfsjTbH6sO8B7X3G++CD/zLl+ZDYIe7HLRYNnGQIhAMQ4bvUi5pzvBw9MjtXIdXPRpSqyT/71UoQ+rJuWmIoV"}]},"maintainers":[{"name":"bdickason","email":"dickason@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/goodreads-0.1.0.tgz_1480575960188_0.23599989316426218"}}},"maintainers":[{"name":"bdickason","email":"dickason@gmail.com"}],"time":{"modified":"2022-06-18T13:22:51.313Z","created":"2011-07-23T20:19:17.787Z","0.0.1":"2011-07-23T20:19:17.971Z","0.0.2":"2011-07-24T16:05:31.932Z","0.0.3":"2015-11-21T05:06:10.325Z","0.0.4":"2015-11-27T19:12:26.593Z","0.1.0":"2016-12-01T07:06:00.418Z"},"author":{"name":"Brad Dickason","email":"dickason@gmail.com","url":"http://braddickason.com"},"repository":{"type":"git","url":"https://github.com/bdickason/node-goodreads"},"readme":"Goodreads - Use NodeJS to tap into the Goodreads API\n-----\n\nThis is a dead simple wrapper for the Goodreads API when using NodeJS. I've only exposed a few GR API functions so far but would be happy to entertain adding more if there's demand.\n\n* Goodreads API: http://goodreads.com/api\n* Github: https://github.com/bdickason/node-goodreads\n* Twitter: [@bdickason](http://twitter.com/bdickason)\n* E-mail: dickason@gmail.com\n\nInstallation\n======\n1. Install npm: `curl http://npmjs.org/install.sh | sh`\n2. Grab this module from npm: `npm install goodreads`\n3. Include it in your program:\n * Coffeescript: `goodreads = require 'goodreads'`\n * Javascript: `goodreads = require('goodreads');`\n4. create a new instance of the Goodreads client:\n * Coffeescript: `gr = new goodreads.client { 'key': key, 'secret': secret }`\n * Javascript: `gr = new goodreads.client({ 'key': key, 'secret': secret });`\n5. Go get a goodreads developer key/secret from http://www.goodreads.com/api/keys\n6. _(optional)_ Add your key/secret to your environment variables so Nodejs can access them\n * Key: `export GOODREADS_KEY=yourkey`\n * Secret: `export GOODREADS_SECRET=yoursecret`\n7. Try it out! Maybe do a `node examples/booklist.js` to get an idea how things work\n\nFunctions\n=====\n**showUser** - get user info with userName\n* input - valid userName\n* output - json (as callback)\n* Example: `getShelves 'your_username', (json) ->`\n* You must have created a username. You can do so [here](https://www.goodreads.com/user/edit).\n\n**getShelves** - Get all shelves for a given user\n* Input: userId\n* Output: json (as callback)\n* Example: `getShelves '4085451', (json) ->`\n\n**getSingleShelf** - Get a specific list by ID\n* Input: shelfOptions object with userID (required), shelf (required), page (optional), and per_page (optional) properties.\n* Output: json (as callback)\n* Example: `getSingleShelf {'userID': '4085451', 'shelf': 'web', 'page': 1, 'per_page': 200}, (json) ->`\n\n**requestToken** - OAUTH: calls back an object with oauthToken, oauthTokenSecret, and the URL!\n* Input: none\n* Output: json `{ oauthToken: 'iu1iojij14141411414', oauthTokenSecret: 'j1kljklsajdklf132141', url: 'http://goodreads.com/blah'}`\n* Example: `requestToken (callback) ->`\n\n**processCallback** - expects: oauthToken, oauthTokenSecret, authorize (from the query string)\n_Note: call this after requestToken!_\n* Input: oauthToken, oauthTokenSecret, authorize\n* Output: json `{ 'username': 'Brad Dickason', 'userid': '404168', 'success': 1, 'accessToken': '04ajdfkja', 'accessTokenSecret': 'i14k31j41jkm' }`\n* Example: `processCallback oauthToken, oauthTokenSecret, params.query.authorize, (callback) ->`\n\n\n_More to come!_\n\n\nHelp, I need an adult!\n======\nFirst step: Check out the `/examples` folder. It's decently documented.\n\nIf you're still having issues, you can submit them here: https://github.com/bdickason/node-goodreads/issues\n\n\nChangelog\n======\n**v0.0.5** - Removed OAuth workarounds\n* {`showUser`} method added - can get user information given their username.\n\n**v0.0.2** - Removed OAuth workarounds\n* OAuth Callback (`processCallback`) now properly returns an Access Token (`accessToken`) and Access Token Secret (`accessTokenSecret`)\n\n**v0.0.1** - First release! Woohoo!!\n* Added support getting a list of a user's shelves (`getShelves`)\n* Added support for getting all books on a single shelf (`getSingleShelf`)\n* Added support for an OAuth round trip via `requestToken` and `processCallback`\n* Started this ugly manual\n","homepage":"https://github.com/bdickason/node-goodreads","keywords":["goodreads","books","lists"],"bugs":{"url":"https://github.com/bdickason/node-goodreads/issues"},"readmeFilename":"README.md","users":{"japh":true,"sturmer":true}}