toggle
2020-01-28

AmazonJS用ショートコードをAmazon商品詳細画面(Kindleも)から生成してくれるブックマークレット

最速でAmazonアフィリエイトを貼る方法。
このブログでは使っておりませんが、WordPressを使用した別のブログでAmazonの商品を紹介する際にAmazon JSというプラグインを使用しています。記事内にショートコードを記載することで、綺麗にAmazonの商品を表示することが出来るようになるので非常に重宝しています。

Amazon JSは、導入するとWordPressの記事投稿画面から直接Amazonの商品を検索することが出来るので、わざわざAmazonのサイトに行かなくても記事執筆中に商品を貼り付けることが可能となります。

それが一つの売りでもあるのですが、ただ正直なところ商品を探すような場合などは、Amazon公式ページで探すほうがかなり楽です。その方が見やすいですし。

少し前までは、Amazon公式ページで貼りたい商品を探す→その商品名を元にWordpress投稿ページでAmazonJSの画面を呼び出し検索→商品に辿り着いたところでショートコードを取得、といったやり方をしていました。
これではそこそこ時間がかかってしまいます。

以前カエレバを使っていたときは、Amazon商品ページでブックマークレットを使って直接記事に貼り付ける用のコード(カエレバの場合はショートコードではなく普通のHTML)を取得し、記事内に挿入していたので、同じようにAmazonの商品ページからブックマークレットを使って直接ショートコードを取得するようにしてみました。

手順が大幅に軽減されるのでかなり便利です。

ちなみに例えばこの商品をAmazon JSで貼り付けたいときは、

このような↓ショートコードを記事内に貼ればいいわけです。

[amazonjs asin="B006JFH5DK" locale="JP" title="三菱ケミカルメディア Verbatim 1回録画用DVD-R(CPRM) VHR12JP50V4 (片面1層/1-16倍速/50枚)"]

ブックマークレットを使用して上記のようなコードをAmazonの商品詳細画面より取得できるようにします。
というわけで、Amazon JS用ショートコード取得のためのブックマークレットJavaScriptコード。

javascript:(function(){alert('[amazonjs asin="'+document.getElementById('ASIN').value+'" locale="JP" title="'+(document.getElementById('productTitle')!=null?document.getElementById('productTitle').innerText:document.getElementById('btAsinTitle').innerText)+'"]');})();

なお↑のコードでは、Kindle本のページでAmazon JS用ショートコードの取得はできません。これはKindle本の詳細ページの構成が通常の商品ページとは異なるため。

Kindle本用のショートコードを取得するには下記↓のコードをブックマークレットとして使用します。2種類の使い分けが必要ですね。

javascript:(function(){class n{static getAsin(){let n="";const t=document.querySelectorAll("div.content ul li");return t.forEach(t=>{const i=t.textContent.trim();if(!i.match(/ASIN: [\w\d]+/))return!1;n=i.replace("ASIN:","").trim()}),n}static getTitle(){const n=document.getElementById("ebooksProductTitle");return n.textContent.trim()}static getLocale(){return"JP"}}const t='[amazonjs asin="${ASIN}" locale="${locale}" title="${title}"]'.replace("${ASIN}",n.getAsin()).replace("${locale}",n.getLocale()).replace("${title}",n.getTitle());alert(t)})()

※このコードでは洋書であっても「locale=”JP”」となります。自分の場合は、洋書を紹介することはなさそうなのでこれで十分。

Amazonの商品ページの構造が変わった際には、これらのコードは動かなくなるかもしれませんが、今のところ大丈夫。両方とも、2020年1月現在の時点で利用可能です。

※追記
2020年5月以降はこちらのコードでないとブックマークレットが動作しません。

javascript:(function(){var a='[amazonjs asin="__ASIN__" locale="JP" title="__TITLE__"]',c=document.getElementsByName("ASIN.0")[0].value,b=document.getElementById("productTitle").textContent;b=b.replace(/\r?\n/g,"");b=b.trim();a=a.replace("__ASIN__",c);a=a.replace("__TITLE__",b);prompt("\u30b7\u30e7\u30fc\u30c8\u30b3\u30fc\u30c9\u3092\u30b3\u30d4\u30fc\u3057\u3066\u304a\u4f7f\u3044\u304f\u3060\u3055\u3044\u3002",a)})();

ブックマークレットの使い方や登録の仕方の説明は割愛。
まあ、ブラウザのお気に入りに適当なページを登録してそのURL欄に上記のコードを入力しておけばいいだけです。

最近AmazonのAPIがバージョンアップしたことによる影響か、Amazon JSの商品検索画面からアダルト商品など特定の分野が検索出来なくなっています。

そんな場合も、直接Amazonの商品ページからショートコードを取得出来れば、かなり作業が捗ると思いますので、こういった時短のための技術はどんどん活用していきたいところです。

確かな力が身につくJavaScript「超」入門 第2版

確かな力が身につくJavaScript「超」入門 第2版

狩野 祐東
2,728円(05/25 15:12時点)
発売日: 2019/09/21
Amazonの情報を掲載しています
JavaScript コードレシピ集

JavaScript コードレシピ集

池田 泰延, 鹿野 壮
3,278円(05/25 03:41時点)
発売日: 2019/01/25
Amazonの情報を掲載しています

スポンサードリンク

関連記事

このブログの更新情報を配信しています!

follow us in feedly RSS twitter facebook google plus