{"id":20141528,"url":"https://github.com/michaelborn/cbgoodreads","last_synced_at":"2026-03-09T14:34:12.742Z","repository":{"id":86836162,"uuid":"249003674","full_name":"michaelborn/cbGoodReads","owner":"michaelborn","description":"A CFML wrapper for the GoodReads API - much thanks to Eric Peterson's Hyper","archived":false,"fork":false,"pushed_at":"2020-03-21T15:25:58.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-02T23:30:34.551Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"ColdFusion","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaelborn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-21T15:24:20.000Z","updated_at":"2020-03-21T15:26:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"e6045d53-0f02-4f3f-9078-49651d5c81de","html_url":"https://github.com/michaelborn/cbGoodReads","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/michaelborn/cbGoodReads","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelborn%2FcbGoodReads","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelborn%2FcbGoodReads/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelborn%2FcbGoodReads/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelborn%2FcbGoodReads/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaelborn","download_url":"https://codeload.github.com/michaelborn/cbGoodReads/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelborn%2FcbGoodReads/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30299110,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T14:33:48.460Z","status":"ssl_error","status_checked_at":"2026-03-09T14:33:48.027Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T21:57:38.548Z","updated_at":"2026-03-09T14:34:12.712Z","avatar_url":"https://github.com/michaelborn.png","language":"ColdFusion","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CBGoodReads\n\nA GoodReads API wrapper based on [Hyper](https://forgebox.io/view/hyper).\n\nI started this project as a sample application to interact with book reviews. Unfortunately, the GoodReads API worthless for retrieving reviews since it will only return an HTML iframe widget and not actual review data.\n\nFeel free to take this over if you wish. :)\n\n## Configuration\n\nUse Coldbox's `ModuleSettings` configuration to configure the API key and BaseURI at a minimum. The API secret is also required for write requests.\n\n```js\nmoduleSettings = {\n    cbGoodReads : {\n        \"APIKey\" : getSystemSetting( \"GOODREADS_API_KEY\" ),\n        \"APISecret\" : getSystemSetting( \"GOODREADS_API_SECRET\" ),\n        \"baseURI\" : getSystemSetting( \"GOODREADS_BASE_URI\", \"https://www.goodreads.com\" )\n    }\n}\n```\n\nThe `getSystemSetting()` coldbox function will pull an environment variable from `server.system.environment`, or you can use [commandbox-dotenv]() with a `.env` file:\n\n```bash\n# .env in root of project.\n# Please Ignore me from Git!\n# GoodReads API secrets\nGOODREADS_API_KEY=myKey\nGOODREADS_API_SECRET=soSecret\nGOODREADS_BASE_URI=https://www.goodreads.com\n```\n\n## Methods\n\n### getReviewsByISBN\n\nRetrieve a GoodReads book reviews widget for the given ISBN.\n\n```js\nvar response = goodReads.getReviewsByISBN( isbn );\n```\n\n## TODO\n\n* Flesh out all API calls.\n* Complain to GoodReads that their API rots.\n* Write tests for each method.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelborn%2Fcbgoodreads","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaelborn%2Fcbgoodreads","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelborn%2Fcbgoodreads/lists"}