Afternoon tea: molten chocolate cupcake and strawberry ice tea with herbal jelly
Shortcuts Workflow for Extracting Read Books from Goodreads
Edit: I’ve updated the workflow because I realised there was an actual book links field that I could use instead of trying to extract the book ID to build the link.
I also realise that my workflow was built using iOS 13’s Shortcuts app, so a lot of people won’t be able to use it. I will build one using iOS 12 asap and will post a link to that as soon as that’s done.
Lastly, you might find that the workflow doesn’t populate some start/finish dates. This is not an error with the workflow, instead, it seems that Goodreads doesn’t provide the dates for some of the books. The date fields are just missing, I’m not sure why. I’ve tried re-adding the dates on some of my books but they still don’t show up, although the modify dates changed, so I know something has been recorded. I will keep looking into this and will report back if I find anything.
So I forgot where I’d read it, but I saw that some people were creating a “read/reading” page1; listing all the books they’ve read/reading this year.
I’ve also created my own page, but – being the nerd that I am – I decided to create a Shortcuts workflow to help me create and maintain this list.
I use Goodreads to keep track of my books and I thought I would use Goodreads’ API to help gather the books I’ve read/currently reading, and create a markdown list with all the pertinent information (ie. title, author, date started, date finished, rating, and whether this is a re-reading of a book).
I can then prepend that list to my previously mentioned page.
I know my workflow is not very polished – my method of processing XML files probably needs work – but for now it does the job.
Installing the workflow
You can download the Shortcuts workflow here.
When you first import the script, it’ll ask you for your Goodreads ID and your API key.
You can find your Goodreads ID by going to your bookshelf after you’ve logged into Goodreads and looking at the URL; it should be the string of numbers and letters between “list/” and “?”.
eg. https://www.goodreads.com/review/list/USERNAME?shelf=read
The workflow would ask that you save your Goodreads ID in a dictionary that the workflow would then refer to.
To get a Goodreads API key, you’d need to register here. It’s free and doesn’t require more than your name and your application name (I just used “Shortcuts”).
I save my API key in a text file in my Shortcuts folder and reference it in the script.
How to use the workflow
Now for how to use the workflow.
When you run it, it’ll ask for which bookshelf you want to list. I’ve put in two options, read and currently-reading. You can add any other bookshelf you currently use.2
Then the script will ask for the number of books you want to list.
When I ran the script the first time, I entered in 200 – I knew I’ve only read about 30 books this year, but I wanted to create pages for previous years as well.
For on going maintenance of my books list, I’d probably run the script once a month and then only need to request info on 1 to 2 books.
The script would then produce a markdown list with the requested books (sorted by read date) and copy them to the clipboard. I would then paste them into my reading page.
Final words
As I’ve mentioned, my workflow is not the most polished, but I hope it helped some people. If you customised it in any quirky way or figured out a more elegant way to deal with XML files, please comment and let me know. I would love to see how people use this.
Just updated to iOS 13 beta 3 and iPadOS. Wish me luck!π€π»
Avengers: Age of Ultron, 2015 – β β β Β½
Re-watching this movie after watching Endgame puts a different perspective on some of the things in this movie. I really enjoyed this one. And I just love Scarlet Witch.
Just going through my old bookmarks and found this article. Some interesting ideas to keep in mind. Although I wonder where this current post would sit in his 11 ideas? This post doesn’t add to the conversation, but it just introduces the conversation to a wider audience…
Guardians of the Galaxy, 2014 – β β β Β½
Watched on Sunday July 14, 2019.
A bird just got into the office. Again.
I think Iβm getting better at catching them and taking them outside. It only took me 5 minutes this time.
Iβve never used Terminal and wget before, and I admit to being a bit daunted by the prospects of it – especially since there seems to be no official binaries of wget available for macOS. However, Iβm glad I ploughed through; saved myself hours in the long run.
Captain America: The Winter Soldier, 2014 – β β β Β½
βOn your left.β
I Am Mother, 2019 – β Β½
The entire storyline required the characters to be very tropey to work. Also, does it make sense to innately trust a stranger over the person who raised you, just because the stranger is of the same race as you?
No, of course not, but the protagonist is of the rebellious years and the stranger possessed a picture of a pretty boy whom the protagonist found attractive. ugh
The movie was supposed to show the protagonist as being a strong independent person. Instead I found her easily manipulated, unable to work her way through a logic problem and if she was the best hope for humanity, then we donβt deserve to live.