See the Elephant

1992生まれのプログラマが書くエンジニアブログ

amazon アフィリエイトリンクをAPIで作る

amazon アフィリエイトリンクをAPIで作る

いい感じにまとまった記事がなかったので、ここにまとめる。

ちなみにwebとプログラミングの初歩がわかってればそんなむずくない。

その辺が綺麗にまとまってる記事が見当たらなかったので、書いてみる。

アフィリンクを自動生成したい

最近はamazonアフィリエイトをやっている。

いちいち発行するのめんどくせーなーと思い、プログラムに任せたい。

ということでamazon が提供している商品検索API Product Advertising API を弄って遊んでいた。

これを使えばアフィリエイトリンクがAPI越しに取得できる。

Product Advertising APIの概要

amazon公式の記事が日本語で書いてあるので読んでほしい。 ざっくり読めばok

api越しにamazon の商品情報取得とアフィリンク生成できる ってことがわかれば一旦ok

https://images-na.ssl-images-amazon.com/images/G/09/associates/paapi/dg/index.html?CHAP_Intro_AAWS.html

めっちゃ親切なGetting Start

英語だけだけど、実は導入が書かれている。 chromeなら google翻訳プラグイン入れると全文日本語に翻訳してくれる。

もはや記事書く意味ないくらいわかりやすいので読んでほしい。

https://images-na.ssl-images-amazon.com/images/G/09/associates/paapi/dg/index.html?CHAP_Intro_AAWS.html

ここでやるべきことは3つある

- amazon アソシエイトの審査を通過すること
- amazon アソシエイトIDを取得すること
- amazon アソシエイト -> ツール -> Product Advertising API で承認キーを作ること

amazon アソシエイトの審査を通過すること

まずはAmazonアソシエイトの審査に通過する。

多分、この記事を読む人はすでに通過していると思うので読み飛ばしていい。

このブログでも通過できたから、おそらくブログ持ってる人の大半は通過できると思う。

多分、この記事において1番時間がかかり難しいのはこの審査を通す段階。

おおよそ結果が返ってくるまで1-2週間くらいかかった記憶がある。

急いでも仕方ないので待ちましょう。

https://affiliate.amazon.co.jp/home

ちなみに以下に触れる内容は審査落ちする。

何度でもリトライできるので諦めずに頑張ろう。

プログラム参加申請をお断りするサイト例 - amazonアソシエイト

amazon アソシエイトIDを取得すること

無事審査が通ればamazon アソシエイトのホームに入れる。

https://affiliate.amazon.co.jp/home

確かIDは自分で決めるはず。

amazon アソシエイトのホーム画面に行くと右上に「アソシエイトID」と書いてあるのでわかりやすい

amazon アソシエイト -> ツール -> Product Advertising API で承認キーを作ること

そのままだ。amazonアソシエイトのホームに行き、ツールバーの「ツール->Product Advertising API」で認証キーを作る。

api keyとsercret keyが生成されるので、どこかにコピってメモる。

これはあとから使うので必ず押さえておこう。

amazon Product Advertising API Scratchpadが異常に便利

ここまでやれば、準備完了だ。

じゃ、早速APIを叩いて遊ぼう。

ありがたいことに何の環境設定もせずにAPIを叩かせてくれる環境をamazonが用意してくれている。

それがこちら。amazon Product Advertising API Scratchpadだ

Product Advertising API Scratchpad (beta)

これを使えば一発でAPIを叩ける。

ItemSearch APIと ItemLookup

API の違い

一言で言うと、複数検索なのか単体検索なのかの違いだ。

複数検索: ItemSearch API
単体検索: ItemLookup API

と考えればいい。

詳しくはdocsを読んでほしい。

ItemSearch - Product Advertising API

ItemLookup - Product Advertising API

用途に応じて使い分ける。

今回は1つの商品についての情報をとりたかったので ItemLookup API を使う。

amazon Product Advertising API Scratchpadで商品情報をAPI越しに取得する

では、こちらにアクセスしよう。

Product Advertising API Scratchpad (beta)

認証キーの入力

こんな感じで認証キーを求められる。

marketplaceはあなたが日本人を相手にするなら日本を選ぼう。

認証キーは先ほどコピーしたやつを貼り付ければ終わりだ。

m

f:id:namu_r21:20190721002348p:plain
クレデンシャル

検索パラメタとASIN

続いて、検索パラメータの入力である。

ItemLookupでは基本的に ASIN を使って検索することになる。

f:id:namu_r21:20190721002256p:plain
amazon Product Advertising API Scratchpad ItemLookupの画面

これは amazon内における商品の固有識別子 である。 商品ページにも乗っている(sony wf-1000xm3を例にした)

f:id:namu_r21:20190721002559p:plain

ItemLookup APIでは、これを使って検索することが多いらしい。

完全自動化するなら以下の流れになると思う。

  1. ItemSearch API でASIN取得
  2. ItemLookup API で ASINから商品検索

今回はめんどくさいのでやらなかった。

ResponseGroupは返却する情報のカテゴリを選択する

ResponseGroupは返却する情報のカテゴリを選択する。

返してほしい情報のカテゴリを選択する。

今回は Images, ItemAttributes を選択する。

f:id:namu_r21:20190721002959p:plain

Run request した結果にアフィリンクが含まれる

run requestするとAPIの結果が返ってくる。

response -> XML responseをクリックするとこんな感じのxmlが返ってくる。

<ItemLookupResponse
    xmlns="http://webservices.amazon.com/AWSECommerceService/2011-08-01">
    <OperationRequest>
        ...
    </OperationRequest>
    <Items>
        <Request>
           ...
        </Request>
        <Item>
            <ASIN>B07TKGGZ47</ASIN>
            <ParentASIN>B07TW941DB</ParentASIN>
            
<DetailPageURL>https://www.amazon.co.jp/%E3%82%BD%E3%83%8B%E3%83%BC-SONY-%E3%83%AF%E3%82%A4%E3%83%A4%E3%83%AC%E3%82%B9%E3%83%8E%E3%82%A4%E3%82%BA%E3%82%AD%E3%83%A3%E3%83%B3%E3%82%BB%E3%83%AA%E3%83%B3%E3%82%B0%E3%82%A4%E3%83%A4%E3%83%9B%E3%83%B3-WF-1000XM3-Bluetooth/dp/B07TKGGZ47?psc=1&SubscriptionId=xxxx&tag=xxx&linkCode=xxx&camp=xxxx&creative=xxxx&creativeASIN=B07TKGGZ47</DetailPageURL>
            <ItemLinks>

アフィリンクは xpathでいう ItemLookupResponse/Items/Item/DetailPageURL がそれに当たる。

これを使えばアフィ報酬をもらえるだろう。

ちなみにページ下部に行くと PHP / Java のコードが自動生成される。

マジで便利だわこのツール。

amazon アフィリエイトリンクをAPIで作る

ということで、amazon アフィリエイトリンクをAPIで作る方法について書いた。

amazon アソシエイト登録が1番むずいと思う。

では。