Class Get Amazon APIとは
Amazon Product Advertising API (PA-API)からデータを取得するためのPHPコードです。
動作環境
必須
- PHP バージョン 5.3.0 or later
- PHPでClient URL Library (cURL)が使用できる事
- Amazon Product Advertising APIに接続可能な環境。
推奨
- PEAR Cache_Liteが使用できる事
注意事項
上記環境で確認しておりますが、個別の環境により正常に動作しない場合があります。
構成
- ClassGetAmazonAPI.php
- メインプログラムです。
- sample.php
- AmazonAPIのリクエストパラメータを設定し、取得したデータを表示するサンプルプログラムです。
使用方法
下にある「”Class Get Amazon API”をダウンロード」ボタンをクリックすると、ClassGetAmazonAPI.zipがダウンロードされます。
ClassGetAmazonAPI.zipを解凍すると、上記のPHPファイルができます。
sample.php を変更(下記項目で必要なところ)してご使用ください8。
APIアクセス用の固有キー等の項目です。
下記***を書き換えて実行すれば、アマゾンの商品データが連想配列で表示されます。
22 23 24 25 26 27 |
//クライアント固有パラメータ $params += array( 'AWSAccessKeyId' => '********', // アクセスキー (必須) 'AssociateTag' => '**********', // トラッキングID (必須) ); define('SECRET_KEY', '*********'); // シークレットキー (必須) |
下記項目は、デバッグ用の設定項目です。
3 4 5 |
//デバッグ用 define('DEBUG_MODE', 'on'); //on or off エラー表示するかどうか (初期値off) define('CACHE_MODE', 'on'); //on or off キャッシュ有効化 (初期値on)(PEAR Cache_Liteがインストールされていなければ自動的に無効) |
開発時は
1 |
define('DEBUG_MODE', 'on'); |
に、公開時は
1 |
define('DEBUG_MODE', 'off'); |
にしてください。
‘CACHE_MODE’ は、随時変更してください。
下記項目は、APIリクエスト設定項目です。
APIのリファレンスを参考にして、随時、変更してください。
7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
//リクエストパラメータ $params = array( "Operation" => "ItemSearch", "SearchIndex" => "Electronics", 'BrowseNode' => '15691411', 'Manufacturer' => 'アイリスオーヤマ', "Keywords" => '60Hz', "ResponseGroup" => 'Medium, Offers, BrowseNodes', 'MerchantId' => 'Amazon', //商品を出品しているマーチャントを指定(デフォルトAmazon) 'Availability' => 'Available', //在庫がある商品だけを返す 'Condition' => 'All', 'Sort' => 'salesrank', // "Validate" => 'True', //デバッグモード ); |
下記項目は、Cache_Lite 設定項目です。
随時、変更してください。
38 39 40 41 42 43 |
// cache設定項目 $cacheOptions = array ( 'cacheDir' => 'cache/',// キャッシュが保存される場所 (ディレクトリが存在しないときは自動作成) 'lifeTime' => 3600*24, // 指定した秒数はキャッシュを使う、nullにすると無期限 'automaticCleaningFactor' => '20' //(1/nの確率で)キャッシュファイルの自動削除 ); |
下記項目は、本体プログラム読み込み~表示までのプログラムです。
48行目で、ClassGetAmazonAPI.php を読み込み、
50行目で、GetAmazonAPIクラスのインスタンスを作成し、
51行目で、APIデータを連想配列で受け取り、
53行目で、受け取った配列を表示します。
48 49 50 51 52 53 54 |
// cache設定項目 require_once('ClassGetAmazonAPI.php'); $amazon_api = new GetAmazonAPI($params); $response = $amazon_api->response; print_r($response['Items']) |
実用として
実際の使用方法としては、リクエストパラメータを必要な商品データ用に書き換えたり、連想配列で受け取ったデータをデータベースに入れたり、表示したりなどしてください。
変更履歴
- 1.0.1
-
バグ修正
XMLパース時エラー対策(エラーハンドリング追加, 制御文字除去) - 1.0.0
- 新規作成
ライセンス
このプログラムは、GPL v3 ライセンスです。
Copyright (C) 2018 D&D Company
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
免責事項
このプラグインの使用により発生する如何なる損害も補償できません。
ダウンロード
無料。
“Class Get Amazon API” をダウンロード ClassGetAmazonAPI_1.0.1.zip – 946 回のダウンロード – 5 KB
旧バージョン
“Class Get Amazon API” をダウンロード ClassGetAmazonAPI.zip – 233 回のダウンロード – 5 KB
謝意
本プログラムを作成するにあたり、参考にさせていただいたサイトです。
下記サイト運営者様と、執筆者様に謝意を表します。
順不同
Product Advertising API 開発者ガイド
Product Advertising API Scratchpad
AmazonからAPIを使って商品データを取得し、WordPressに投稿する方法
simplexml_load_file(simplexml_load_string) を配列に変換する