Just read an email from Goodreads.com that said:
"As of December 8th 2020, Goodreads will no longer issue new developer keys for our public developer API and plans to retire these tools."
So looks like this CLI will become non-functional soon, and is currently non-functional to any new users. Thanks a lot Goodreads.
Command line interface for Goodreads. Focuses on letting you quickly update your current reading activity, and giving you quick access to what your friends are reading.
⚠️ Notice: This is only my 2nd Rust project, afterslackify-markdown
, and so while the project is functional the code is not pretty.
Easiest way to install on macOS is by using Homebrew.
$ brew tap thundergolfer/homebrew-formulae
$ brew install goodreads-sh
You can get binaries for OSX and Linux on this project's releases page.
After downloading, you unzip the .tar.gz
and move the binary to a place that's on your path ($PATH
on Linux/OSX).
goodreads-sh
requires your developer key and developer secret in order to read-write to the goodreads API. Obtaining them is fairly trivial.
- Access your developer key and secret here.
- Copy your developer key and secret over to
goodreads-sh
's config file.~/.goodreads.toml
developer_key = "<your_key_here>"
developer_secret = "<your_secret_here>"
Your config file should already be present in your home dir ~/.goodreads.toml
and if it's not, then run the command once without any options or create the file manually.
USAGE:
goodreads-sh <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
add-to-shelf Add a book to an existing shelf (eg. currently-reading, to-read)
auth Setup OAuth for the CLI (1 time only)
finished Tell Goodreads you've finished a book that you're currently reading
help Prints this message or the help of the given subcommand(s)
me Show your User ID
new Tell Goodreads you've started a new book
update Update progress on a book you're currently reading
- Kudos to Danish Prakash for his implementation,
goodreadsh
, which I used and learned from while I developed this CLI. 🙏