Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

PHPでAmazon Web Servicesを利用する

PEARライブラリ活用 (7)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/09/09 14:00

本稿では、Amazon Web ServicesをPHPで操作する方法を説明します。AWSを利用する方法には大きく分けてRESTとSOAPがあります。本稿ではまず、簡単なため多くの開発者に利用されているRESTを紹介し(SOAPは本稿では扱いません)、より抽象度の高い方法であるPEAR Services_Amazonを使った利用方法を紹介します。

目次

はじめに

 一般に、「ショッピングサイトを利用する」と言えば、人間がウェブブラウザでアクセスして利用することを意味します。しかし、本稿で扱うアクセスの主体はPHPのプログラムです。これは、「PHPに人間がアクセスしているふりをさせる」ということではありません。そうしなければならないようなウェブサイトもありますが、Amazonは、プログラムのためのインターフェイス(API)をAmazon Web Services(AWS)として公開しているため、簡単にプログラムでアクセスすることができます。

 AmazonがAPIを公開していることには、さまざまな意義があります。まず、多くの開発者が、Amazonのための独自のオンライン店舗を作れるようになります。独自の店舗の売り上げの一部をその開発者が得られる仕組み(アソシエイト)が、開発者へのインセンティブになっています。店舗の数が増えればAmazon全体の売り上げも上がることが期待されますから、APIやアソシエイトの仕組みを用意することは、Amazonの利益にもなっています(当然ですが)。また、Amazonの膨大な商品データベースを利用できるという意義もあります。実際、今日無料で利用できる書誌データベースとして、Amazonのものより使いやすいものを筆者は知りません。

 本稿では、AWSをPHPで操作する方法を説明します。

 AWSを利用する方法には大きく分けてRESTとSOAPがあります。RESTは必要な操作をURLの形で記述してサーバに送信し、結果をXMLで受け取る方式です。SOAPは双方向ともXMLを利用します。本稿ではまず、簡単なため多くの開発者に利用されているRESTを紹介します(SOAPは本稿では扱いません)。次に、より抽象度の高い方法であるPEAR Services_Amazonを紹介します。Services_Amazonは内部でRESTを使いますが、そのことを(ほとんど)意識しなくてよいように作られています。AWSへの問い合わせ結果を一定時間キャッシュする仕組みも用意されています。

必要な環境

 XAMPP for Windows 1.6.4に含まれるPHP 5.2.4にServices_Amazon 0.7.1をインストールして動作を確認しました。利用したAWSのバージョンは2008-06-23です。

準備

パッケージのインストール

 コマンドプロンプトから次のようにして、Services_Amazonをインストールします。関連パッケージもインストールするために-alldepsが必要です。

 また、コマンドの実行前に、「c:\xampp\php\pear.ini」の「"\xampp」を「"C:\xampp」に修正します(ディレクトリはインストール先に応じて適宜読み替えてください)。

> c:
> cd \xampp\php
> pear install --alldeps services_amazon-beta

各種IDの取得

 AWSを利用するためには、「登録ID」と呼ばれるものを取得しなければなりません。本稿の内容を実際に試したい場合は、AWSのサイトで登録IDを取得してから先に進んでください(AWSについてまったく知らない場合は、このページに掲載されているFAQに目を通しておくといいでしょう)。

 紹介料を受け取るサービスのためのアソシエイトIDも取得しておくといいでしょう(本稿では、ショッピングカートを利用する際に必要になります)。アソシエイトIDはアソシエイト・プログラムのサイトで取得できます。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

  • WINGSプロジェクト 矢吹 太朗(ヤブキ タロウ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2012年2月時点での登録メンバは37名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂き...

バックナンバー

連載:PEARライブラリ活用

もっと読む

おすすめ記事

All contents copyright © 2006-2016 Shoeisha Co., Ltd. All rights reserved. ver.1.5