https://github.com/vayan/goodreads
  
  
    Go client for the Goodreads API 
    https://github.com/vayan/goodreads
  
api-client go golang goodreads goodreads-api goodreads-api-wrapper
        Last synced: 7 months ago 
        JSON representation
    
Go client for the Goodreads API
- Host: GitHub
- URL: https://github.com/vayan/goodreads
- Owner: vayan
- License: mit
- Created: 2020-03-09T09:58:47.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-03-31T06:39:45.000Z (over 5 years ago)
- Last Synced: 2025-03-20T09:17:16.810Z (7 months ago)
- Topics: api-client, go, golang, goodreads, goodreads-api, goodreads-api-wrapper
- Language: Go
- Homepage: https://pkg.go.dev/github.com/vayan/goodreads
- Size: 43.9 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
- 
            Metadata Files:
            - Readme: README.md
- License: LICENSE
 
Awesome Lists containing this project
README
          # Goodreads API Client [](https://github.com/vayan/goodreads/actions) [](https://codecov.io/gh/vayan/goodreads)
Go wrapper to interact with Goodreads API.
Still WiP see [the progress](#Progress)
# Requirement
Go 1.14 
# Installation 
`go get github.com/vayan/goodreads`
# Getting Started
You need an API Key from Goodreads, you can get one here: https://www.goodreads.com/api/keys 
## Setup the client
``
gr := goodreads.NewClient("secretapikey11")
``
## Usage example
### Search
```
gr.Search(ctx, "harry potter", 1)
```
# Progress 
From https://www.goodreads.com/api
- [ ] auth.user   —   Get id of user who authorized OAuth.
- [x] author.books   —   Paginate an author's books.
- [x] author.show   —   Get info about an author by id.
- [ ] author_following.create   —   Follow an author.
- [ ] author_following.destroy   —   Unfollow an author.
- [ ] author_following.show   —   Show author following information.
- [ ] book.isbn_to_id   —   Get Goodreads book IDs given ISBNs.
- [ ] book.id_to_work_id   —   Get Goodreads work IDs given Goodreads book IDs.
- [ ] book.review_counts   —   Get review statistics given a list of ISBNs.
- [x] book.show   —   Get the reviews for a book given a Goodreads book id.
- [ ] book.show_by_isbn   —   Get the reviews for a book given an ISBN.
- [ ] book.title   —   Get the reviews for a book given a title string.
- [ ] comment.create   —   Create a comment.
- [ ] comment.list   —   List comments on a subject.
- [ ] events.list   —   Events in your area.
- [ ] fanship.create   —   Become fan of an author. DEPRECATED.
- [ ] fanship.destroy   —   Stop being fan of an author. DEPRECATED.
- [ ] fanship.show   —   Show fanship information. DEPRECATED.
- [ ] followers.create   —   Follow a user.
- [ ] followers.destroy   —   Unfollow a user.
- [ ] friend.confirm_recommendation   —   Confirm or decline a friend recommendation.
- [ ] friend.confirm_request   —   Confirm or decline a friend request.
- [ ] friend.requests   —   Get friend requests.
- [ ] friends.create   —   Add a friend.
- [ ] group.join   —   Join a group.
- [ ] group.list   —   List groups for a given user.
- [ ] group.members   —   Return members of a particular group.
- [ ] group.search   —   Find a group.
- [ ] group.show   —   Get info about a group by id.
- [ ] list.book   —   Get the listopia lists for a given book.
- [ ] notifications   —   See the current user's notifications.
- [ ] owned_books.create   —   Add to books owned.
- [ ] owned_books.list   —   List books owned by a user.
- [ ] owned_books.show   —   Show an owned book.
- [ ] owned_books.update   —   Update an owned book.
- [ ] owned_books.destroy   —   Delete an owned book.
- [ ] quotes.create   —   Add a quote.
- [ ] rating.create   —   Like a resource.
- [ ] rating.destroy   —   Unlike a resource.
- [ ] read_statuses.show   —   Get a user's read status.
- [ ] recommendations.show   —   Get a recommendation from a user to another user.
- [ ] review.create   —   Add review.
- [ ] review.edit   —   Edit a review.
- [ ] review.destroy   —   Delete a book review.
- [ ] reviews.list   —   Get the books on a members shelf.
- [ ] review.recent_reviews   —   Recent reviews from all members..
- [ ] review.show   —   Get a review.
- [ ] review.show_by_user_and_book   —   Get a user's review for a given book.
- [ ] search.authors   —   Find an author by name.
- [x] search.books   —   Find books by title, author, or ISBN.
- [x] series.show   —   See a series.
- [x] series.list   —   See all series by an author.
- [x] series.work   —   See all series a work is in.
- [ ] shelves.add_to_shelf   —   Add a book to a shelf.
- [ ] shelves.add_books_to_shelves   —   Add books to many shelves.
- [ ] shelves.list   —   Get a user's shelves.
- [ ] topic.create   —   Create a new topic via OAuth.
- [ ] topic.group_folder   —   Get list of topics in a group's folder.
- [ ] topic.show   —   Get info about a topic by id.
- [ ] topic.unread_group   —   Get a list of topics with unread comments.
- [ ] updates.friends   —   Get your friend updates.
- [ ] user_shelves.create   —   Add book shelf.
- [ ] user_shelves.update   —   Edit book shelf.
- [ ] user.show   —   Get info about a member by id or username.
- [ ] user.compare   —   Compare books with another member.
- [ ] user.followers   —   Get a user's followers.
- [ ] user.following   —   Get people a user is following.
- [ ] user.friends   —   Get a user's friends.
- [ ] user_status.create   —   Update user status.
- [ ] user_status.destroy   —   Delete user status.
- [ ] user_status.show   —   Get a user status.
- [ ] user_status.index   —   View user statuses.
- [ ] work.editions   —   See all editions by work.