Amazon Product Advertising API の PHP ライブラリ ApaiIO

作成/更新

Amazon は商品情報を取得するための API, Amazon Product Advertising API を提供している. その PHP 向けのライブラリ ApaiIO を使って, 商品情報を取得してみた.

リンク

インストール

以下の composer.json を用意して composer install を実行.

{
    "require": {
        "exeu/apai-io": "~2.0"
    }
}

できること

ApaiIO が標準でサポートするのは,

  • ItemSearch
  • ItemLookup
  • SimilarityLookup
  • BrowseNodeLookup

の4つ (ref: Built in operations).

例: ASIN から商品情報を得る

ASIN B001TP8L3S の商品の情報を ItemLookup を使って得る例.

<?php

require_once "vendor/autoload.php";

use ApaiIO\Configuration\GenericConfiguration;
use ApaiIO\ApaiIO;
use ApaiIO\Operations\Lookup;

$client = new \GuzzleHttp\Client();
$request = new \ApaiIO\Request\GuzzleRequest($client);

$conf = new GenericConfiguration();
$conf
    ->setCountry('co.jp')
    ->setAccessKey('XXXXXXXXXXXXXXXXXXXX')
    ->setSecretKey('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
    ->setAssociateTag('XXXX-22')
    ->setRequest($request)
    ->setResponseTransformer(new \ApaiIO\ResponseTransformer\XmlToArray());

$apaiIo = new ApaiIO($conf);

$lookup = new Lookup();
$lookup->setItemId('B001TP8L3S'); // ASIN
$lookup->setResponseGroup(array('Large'));

$response = $apaiIo->runOperation($lookup);

echo "<pre>";
var_dump($response);
echo "</pre>";

広告タグジェネレータ

追記2: 下記では, 執筆当時の当サイトの CMS であった Pico の広告表示プラグインを ApaiIO を用いて作り, 広告を表示させていましたが, 現在は CMS を自前のものに変えたため, 動作しません.

追記1: 下記プラグインの公開を止めました.

(執筆現在,) 当サイトの記事は Markdown によって記述される (CMS は Pico). 記事の途中で例えば

[@ASIN 'B072HYSQTG']

と記述することで ASIN B072HYSQTG の商品の広告を表示するような拡張を行ってみた. 次のように表示される.

[@ASIN 'B072HYSQTG']