PA-API v5 への移行
先月の2019年9月に Amazon Product Advertising API v5 がリリースされた。
これによると 2019-11-30 までに v5 に移行する必要があるらしい。
【2020-02-08 追記】
v5 への移行期限が 2020-03-09 まで延長になったようだ。
ユーザに周知されてなかったのかな(笑)
v4 では GET リクエストで XML 形式のデータを返していたが, v5 では POST リスエストで JSON 形式のデータを返す。
たとえば ASIN コード B01IGW5IIW
の商品の情報を取得する場合は, POST リクエストのペイロードに
{
"ItemIds": [
"B07YCM5K55"
],
"Resources": [
"Images.Primary.Medium",
"ItemInfo.ByLineInfo",
"ItemInfo.ContentInfo",
"ItemInfo.Classifications",
"ItemInfo.ExternalIds",
"ItemInfo.ProductInfo",
"ItemInfo.Title"
],
"PartnerTag": "mytag-20",
"PartnerType": "Associates",
"Marketplace": "www.amazon.co.jp",
"Operation": "GetItems"
}
とクエリをセットして送信すると
{
"ItemsResult": {
"Items": [
{
"ASIN": "B07YCM5K55",
"DetailPageURL": "https://www.amazon.co.jp/dp/B07YCM5K55?tag=mytag-20&linkCode=ogi&th=1&psc=1",
"Images": {
"Primary": {
"Medium": {
"Height": 160,
"URL": "https://m.media-amazon.com/images/I/51Ef9EF+HaL._SL160_.jpg",
"Width": 113
}
}
},
"ItemInfo": {
"ByLineInfo": {
"Contributors": [
{
"Locale": "ja_JP",
"Name": "宮成楽",
"Role": "著"
}
],
"Manufacturer": {
"DisplayValue": "竹書房",
"Label": "Manufacturer",
"Locale": "ja_JP"
}
},
"Classifications": {
"Binding": {
"DisplayValue": "Kindle版",
"Label": "Binding",
"Locale": "ja_JP"
},
"ProductGroup": {
"DisplayValue": "Digital Ebook Purchas",
"Label": "ProductGroup",
"Locale": "ja_JP"
}
},
"ContentInfo": {
"Languages": {
"DisplayValues": [
{
"DisplayValue": "日本語",
"Type": "発行済み"
}
],
"Label": "Language",
"Locale": "ja_JP"
},
"PagesCount": {
"DisplayValue": 116,
"Label": "NumberOfPages",
"Locale": "en_US"
},
"PublicationDate": {
"DisplayValue": "2019-09-27T00:00:00.000Z",
"Label": "PublicationDate",
"Locale": "en_US"
}
},
"ProductInfo": {
"IsAdultProduct": {
"DisplayValue": false,
"Label": "IsAdultProduct",
"Locale": "en_US"
},
"ReleaseDate": {
"DisplayValue": "2019-09-27T00:00:00.000Z",
"Label": "ReleaseDate",
"Locale": "en_US"
}
},
"Title": {
"DisplayValue": "晴れのちシンデレラ (12) (バンブーコミックス MOMOセレクション)",
"Label": "Title",
"Locale": "ja_JP"
}
}
}
]
}
}
などとレスポンスが返る。
クエリ JSON の Resources
フィールドで欲しい情報をかなり細かく指定できるのが特徴である。
Java と PHP については SDK が用意されている。 ぶっちゃけ何の参考にもならなかったが(笑)
PA-API v5 を試すのであれば Scratchpad が便利だ。 実際の動作を確認でき Java, PHP, curl のサンプルコードも見れるようになっている。 Java コードはブラックボックスだらけで全く参考にならなかったが PHP と curl のコードはかなり参考になる。
というわけで Go 言語用のパッケージを作ってみた。
自作の books-data 用に「とりあえず」で作ったので色々と不足しているのだが,基本機能は押さえてあるはず。
詳しくは以下を参照のこと。
なお, AWS 用のアクセスキーと秘密キーは PA-API v5 からは使えなくなるらしい。 使うためには PA-API 用にキーを取得する必要がある。 既に PA-API 用のキーを持っているならそのまま使えるようだ。