Web Analytics Made Easy -
StatCounter

メモ・備忘録(設定ファイル・スクリプト類・ブックマーク)

数年後の自分が首を捻らなくて済むようにするために残す、自分で使うためのアプリの設定やスクリプト類のメモ。改変等ご自由に / 内容が古いまま、間違ったままもあるので注意 / 書いている途中や、途中で放置もあり / 対象の仕様変更で動かなくなったもの多々。特に、WorkFlowyを対象として作ったものは全滅。

本のバーコードをiPhoneで読み取ってScrapboxに書籍情報ページを作りたい

背景

書籍バーコードを読み取り、書籍情報を取得、書影付きでScrapbox or Twitter へ送付する(手動での直接ISBN入力も可能)

という記事を読み、iPhoneiPadでもやりたいと思った。

  • 現在Amazonの書籍ページからScrapboxのページを作るブックマークレットを使わせてもらっているが、同じようなことができるみたいだ。

  • 上のブログ記事では、openBD APIAmazon Product Advertising APIを使って書籍情報の検索をしているらしいが、世には他にGoogle Books APIというものもあり、それでも書籍情報を入手できるらしい。1,000件/日という制限はあるが、使うAPIの種類によってはAPIキーの取得も不要らしい。

  • 手元にちょうど「Book to Day One」というGoogle Books APIを使った、iOS 12の頃のものらしい(あるいは、「変数」の多用のされ方からするとショートカットがまだWorkflowアプリだった頃のものかもしれない)、どこで入手したのかを忘れたショートカットがある。Google Books APIの使い方のとても良い参考になった。

  • iOS/iPad OSのショートカットには、バーコード/QRコード読み取りの機能も備わっている。

そこで、バーコードを読み取って、Google Books APIで本の情報を得て、Scrapboxに送るショートカットを作ってみた。


ショートカットの実行方法は3通り

その1. Webブラウザ上などで書籍名やISBNを文字選択し、それをメニューから共有してシェアシートからこのショートカットを実行する。


書籍名は書籍名、ISBNの場合は数字の部分だけ選択し、メニューから共有を選ぶ。

ISBNはISBN-10とISBN-13の両方に対応している。
ただし、ISBNなのか書籍名なのかを10桁以上の数字かどうかで判断しているので、ISBN-10で0から始まる英語の一部の書籍には対応していない。*1


シェアシートからこのショートカット「ScrapBook」を選ぶ。


確認画面が出るのでOKをタップ。ハイフンなど余分なものが混じっている場合はここで余分なものを消す。


検索結果が表示されるので、該当するものをタップする。

その2. 直接このショートカットを起動して、書籍名やISBNを入力する。


ISBNや書籍名を入力する。書籍名はフルネームでなくても検索してくれる。


最大10候補表示されるので選択する。

10候補に含れていない場合は、書籍名をもう少し長めに入力するとヒットしやすいかもしれない。

その3. 直接このショートカットを起動して、何も入力せずにOKボタンをタップしバーコード読み取りを開始させる。


何も入力せずに「OK」をタップする。


バーコードのスキャンが始まる。

実際は、この写真よりもレンズをバーコードに近づける。

978から始まる上のバーコードだけを読み取れるように、下のバーコードは隠した方が良いかも。


検索結果が表示されるので、該当するものをタップする。


Scrapboxに作られる本の情報ページの例

Safariが自動的に開いて、該当書籍ページが自動的に作られる。

一番下のプレビューリンクをタップすると、


Googleブックスのページに跳ぶ。


気付いたこと

書籍検索APIそれぞれ特徴があるらしい。
Google Books APIはショートカットでも使える仕様でありがたい。
Google Books APIKindle ダイレクト・パブリッシングの書籍を数冊検索してみたが出てこなかった。


作ったショートカット

ScrapBook
 https://www.icloud.com/shortcuts/7e366dfb6e054d46954e8546142feab2


参考にした記事・もの


また、以下のメモで国立国会図書館サーチAPIを試した sorashima.hatenablog.com




*1:「10個以上の連続した数字」で判定するよう修正した。下の指輪物語は0から始まっていてるがOK ↓