この記事を書いてる人: 
tea

Amazonのアフィリエイト商品情報をASINから取得するプログラムをNode.js(javascript)で書いてみました。ASINとは、アマゾンが扱う商品識別用の10桁のコードのことです。Amazonで商品のページURLを確認するとASINが分かります。

先日、別の記事でも書いたのですが、BabyLinkがどうやらサービス終了してしまったようなので、急遽代わりになるシステムを作ろうと思いました。

細かい経緯は下記をご覧ください。

過去の記事
Babylinkがサービス終了か?便利なAmazonアソシエイトリンク生成ツールでHerokuAppエラーが表示

Ads

目次

Node.jsでAmazonの商品を取得する

Node.jsでAmazonのASINをもとに商品情報を取得するには、下記のコードで可能になるようです。

amazon-resolve.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const fs = require("fs")
const {OperationHelper} = require('apac')
let asin = 'B01NCM2AXX' // 商品のASIN

const opHelper = new OperationHelper({
awsId: '**Product Advertising APIで取得したアクセスキー(ID)**',
awsSecret: '**Product Advertising APIで取得したシークレットキー**',
assocId: '**アソシエイト・プログラムのID**',
locale: 'JP',
})

opHelper.execute('ItemLookup', {
'ItemId': asin,
'ResponseGroup': 'ItemAttributes,Images'
}).then((res) => {
console.log('Results object: \n', res.result.ItemLookupResponse.Items)
// console.log("Raw response body: ", res.responseBody)
}).catch((err) => {
console.error('Something went wrong! ', err)
})

今回はProduct Advertising APIのNode.jsクライアントであるapacをnpmパッケージとしてインストールしておきます。

bash
1
$ npm install --save apac
Ads

Product Advertising APIからクレデンシャルの取得

また、awsIdawsSecretは予めAmazonアフィリエイトプログラムのツールメニューにあるProduct Advertising APIからクレデンシャル(アクセスキーとシークレットキー)を取得しておいてください。

Product Advertising APIの画面からクレデンシャルを取得する
Product Advertising APIの画面からクレデンシャルを取得する ©

細かい規約はこちらの通りです。

Amazonアフィリエイトプログラム
Amazon.co.jp Product Advertising API ライセンス契約

Amazonの商品情報を取得した結果例

先程のコードを実行すると次のような結果になります。

bash
1
$ node amazon-resolve.js

試しにこちらの商品の情報を取得してみました。

結果はこちらです。

Node.jsでAmazonの商品情報を取得した例
Node.jsでAmazonの商品情報を取得した例 ©

返ってくる値を見てみると、以下の要素が使えそうです。

  • ItemAttributes.Title

    商品名

  • ItemAttributes.Manufacturer

    商品のメーカー名

  • ItemAttributes.Feature

    商品の説明文

  • DetailPageURL

    Amazonのアフィリエイト商品リンクURL

  • LargeImage.URL

    Amazonの商品画像URL(<img src="">)に利用できる

  • LargeImage.Height._

    Amazonの商品画像の高さ(Pixcel)

  • LargeImage.Width._

    Amazonの商品画像の幅(Pixcel)

あとはこちらをお好みで取得してHTMLとして整形すればBabyLinkのような埋め込みHTMLコードが作れそうです。

amazon-resolve.js
1
2
3
4
5
6
7
console.log('Title: \n', res.result.ItemLookupResponse.Items.Item.ItemAttributes.Title)
console.log('Manufacturer: \n', res.result.ItemLookupResponse.Items.Item.ItemAttributes.Manufacturer)
console.log('Feature: \n', res.result.ItemLookupResponse.Items.Item.ItemAttributes.Feature)
console.log('DetailPageURL: \n', res.result.ItemLookupResponse.Items.Item.DetailPageURL)
console.log('URL: \n', res.result.ItemLookupResponse.Items.Item.LargeImage.URL)
console.log('Height: \n', res.result.ItemLookupResponse.Items.Item.LargeImage.Height._)
console.log('Width: \n', res.result.ItemLookupResponse.Items.Item.LargeImage.Width._)

ということで、今回はNode.jsで商品情報を取得する方法を備忘録として書きました。

Ads
 記事を書いてる人
gravatar
tea (てぃー)

自然風景や人物の写真撮影を行っています。その他は音楽や映像・メダカの鑑賞も好きです。ブログでは気になったことをメモ代わりにまとめていますので気軽にご覧ください(^^)

 お問い合わせ

 ポートフォリオ

 各作例のご紹介

 シェアする
 記事名とURLをコピーする

Node.jsでAmazonアフィリエイトの商品情報を取得する方法 https://photo-tea.com/p/1803/amazon-how-to-itemlookup-nodejs/

Ads
 おすすめ記事
 作例掲載