2019-11-28
背景
- ScrapMediaというAndroidアプリの存在。
Scrapboxで読書管理をするために「ScrapMedia」というFlutterアプリを作った - SIS Lab
書籍バーコードを読み取り、書籍情報を取得、書影付きでScrapbox or Twitterへ送付する(手動での直接ISBN入力も可能)
という記事を読み、iPhoneやiPadでもやりたいと思った。
現在Amazonの書籍ページからScrapboxのページを作るブックマークレットを使わせてもらっているが、同じようなことができるみたいだ。
上のブログ記事では、openBD APIやAmazon Product Advertising APIを使って書籍情報の検索をしているらしいが、世には他にGoogleBooks APIというものもあり、それでも書籍情報を入手できるらしい。1,000件/日という制限はあるが、使うAPIの種類によってはAPIキーの取得も不要らしい。
手元にちょうど「Book to Day One」というGoogle Books APIを使った、iOS 12の頃のものらしい(あるいは、「変数」の多用のされ方からするとショートカットがまだWorkflowアプリだった頃のものかもしれない)、どこで入手したのかを忘れたショートカットがある。Google --> Books APIの使い方のとても良い参考になった。
iOS/iPadOSのショートカットには、バーコード/QRコード読み取りの機能も備わっている。
そこで、バーコードを読み取って、Google Books APIで本の情報を得て、Scrapboxに送るショートカットを作ってみた。
ショートカットの実行方法は3通り
その1. Webブラウザ上などで書籍名やISBNを文字選択し、それをメニューから共有してシェアシートからこのショートカットを実行する。
ISBNはISBN-10とISBN-13の両方に対応している。
ただし、ISBNなのか書籍名なのかを10桁以上の数字かどうかで判断しているので、ISBN-10で0から始まる英語の一部の書籍には対応していない。*1
その2. 直接このショートカットを起動して、書籍名やISBNを入力する。
10候補に含れていない場合は、書籍名をもう少し長めに入力するとヒットしやすいかもしれない。
その3. 直接このショートカットを起動して、何も入力せずにOKボタンをタップしバーコード読み取りを開始させる。
実際は、この写真よりもレンズをバーコードに近づける。
978から始まる上のバーコードだけを読み取れるように、下のバーコードは隠した方が良いかも。
Scrapboxに作られる本の情報ページの例
一番下のプレビューリンクをタップすると、
Googleブックスのページに跳ぶ。
気付いたこと
書籍検索APIそれぞれ特徴があるらしい。
GoogleBooks APIはショートカットでも使える仕様でありがたい。
Google Books APIでKindleダイレクト・パブリッシングの書籍を数冊検索してみたが出てこなかった。
作ったショートカット
ScrapBook 1
https://www.icloud.com/shortcuts/112427c11a564f3f90f3f42840356f3b
2021-10-24
Scrapbook → Scrapbook 1
無駄なアクションを削って60アクションから39アクションに減らした。
参考にした記事・もの
- Google Books APIから取得した書籍情報をscrapboxに送るpwa - Qiita
- Google Books APIからJSONデータを取得してjQueryで処理する - Qiita
- Book to Day Oneというショートカット
関連メモ
- 国立国会図書館サーチAPIから書誌情報を取得してScrapboxへ、そして芋づる式読書の助けに - めモらンだム・ヤード
- ISBNやバーコードからopenBDを検索して本の目次を取得するAppleショートカット - めモらンだム・ヤード
*1:「10個以上の連続した数字」で判定するよう修正した。下の指輪物語は0から始まっていてるがOK ↓