概要
私の勤める会社では書籍などを購入する際に、参照WebサイトとしてAmazonリンクを記載するフォーマットとなっています。
その際に、通常のAmazonのページで探してURLを張り付けると検索ワードや著者名がエンコードされた長いURLで表示されてしまします。
例えば、こんな感じです。「スティーブ・ジョブズ I 」を検索してみました。
https://www.amazon.co.jp/スティーブ・ジョブズ-I-ウォルター・アイザックソン/dp/4062171260/ref=tmm_hrd_swatch_0?_encoding=UTF8&dib_tag=se&dib=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=1710587710&sr=8-3
AmazonのIdToken部分っぽい場所は、別文字列に置き換えています。
こんな風にURLが長くなってしまうので、Excelなどの申請書のフォーマットに入力すると見栄えが悪くなるという問題があります。
Amazonの商品ページURL
Amazonの商品ページURLは、書記であればISBNコード、それ以外の製品はASINの10桁の番号さえあれば、問題なく表示できます。
この10桁の番号はURLにおけるdp
ディレクトリの区切りの直後に配置されています。
ここさえ上記のdp
10桁の番号を含めば、商品ページURLとして認識されます。
上記URLの例では、以下のようになります。
非常にすっきりしましたし、全商品が同じ文字数で表現できるはずです。
https://www.amazon.co.jp/dp/4062171260
上記のようにAmazonの商品ページURLを短縮するだけであれば、既に色々なツールやShellなどでのやり方は公開されています。
なので、単にURLを短縮したいだけであれば、このような方法を使えばよいかと思います。
Notionで欲しい書籍リストを管理する
私は普段からNotionというアプリでタスク管理しているので、会社の申請書を作成する以外にも、欲しい書籍リストとして管理したいと考えていました。
タスクはこんな感じで管理しています。
このNotion上の欲しい書籍リストから、会社の申請書にスムーズに移行できることが今回の狙いです。
(と言っても、Amazon商品ページURLを短縮表示+購入状態+読了状態を付与するだけですが・・・)
Notion数式とは?
Notionではデータベースとして設定できるプロパティとして、テキストや数値、複数値から選択するセレクトなどが用意されています。
その中には数式というプロパティの種類があり、Excelのように他のプロパティを参照して値を加工するような数式を設定することができます。
どのような数式があるかは、Notion公式サイトでも解説があります。
そこまで複雑な数式はありませんが、今回できる部分までこのNotion数式を使って対応したいと思います。
https://www.notion.so/ja-jp/help/formula-syntax
Notionで欲しい書籍リストを作ってみた
今回作成した欲しい書籍リストです。
Amazon貼り付け
に検索したリンクをそのまま貼り付けることで、Amazonリンク
に短縮URLの結果が表示されるようにしています。
Amazon購入リンクを短縮するNotion数式の設定
ここまで来てやって本題です。
Amazonリンク
に設定した数式は以下のようになります。
"https://www.amazon.co.jp/dp/" + filter(split(prop("Amazon貼り付け"), "/"), length(current) == 10)
簡単に解説します。
-
prop
関数で、データベースにおける他のプロパティ値を参照 -
split
関数で、参照したプロパティ値を/
を区切り文字としてリストに分割 -
filter
関数内で、リスト内の値current
の文字列をlength
で取得し、10文字に一致する場合の値を取得 - 抽出した値と
https://www.amazon.co.jp/dp/
を結合して表示
Notion数式に文字列を検索するような数式がなかったため、dpディレクトリの次にある10桁の番号を文字列の長さだけで抽出するようにしました。
今後Notionの数式バリエーションが増えれば、よりいい感じの数式が設定できると思います。
まとめ
今回はNotion数式を使って、Amazon購入リンクを短縮して表示できる欲しい書籍リストについてご紹介しました。
改善点は色々ありますので、コメントなどで教えていただけると幸いです。