仕事、学んでいること、興味のあることなどの「アウトプット」を書き出すブログ。心を高め、魂を磨くために、今日も一生懸命働く。
アマゾンウェブサービスを使って、
XMLを学んできた今回のシリーズも、
7回目のPEAR::Services_Amazonで終わりとなります。
最初は、このブログの更新を少しでも楽にするために、
アマゾンから画像を取得し、右側にフロートするツールを作りましたが、
中盤以降は、いろいろなものを試してみるのがテーマとなりました。
今回のPEAR::Services_Amazonにて、
ひとまずピックアップしていたテーマを一通りこなせました。
1点悔いが残るといえば、SOAPがよくわからず、
完成に至らなかったことです。
これは、AWSがバージョンアップしたことも一因にありますが、
今後の私の課題としたいと思います。
そして、今回のPEAR::Services_Amazonを使ったツールです。
タイトル(詳細ページへのリンク付き)+著者を検索するだけのものです。
Services_Amazonを利用することによって、
XMLの知識がなくても、アマゾンAPIからのデータを処理することができます。
具体的には、
XMLではなくて、PHPの配列として、
本のタイトルや著者などのアマゾンから返ってくるデータを扱うことができます。
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>PHPのPEARパッケージであるServices_Amazon</title>
<meta name="description" content="Amazonウェブサービスを簡単に扱うことができるPEARのServices_Amazonを使ってみる。" />
</head>
<body>
<form method="POST" action="<?php $_SERVER['PHP_SELF'] ?>">
書籍検索:
<input type="text" name="keywd" size="30" maxlength="255" value="<?php print($_POST['keywd']); ?>" />
<input type="submit" value="検索" />
</form>
<?php
// 検索ボックスに入力されたかの判定
if($_POST['keywd'] != '') {
$AWSAccessKeyId = "****************";
$Version = "2008-04-07";
$AssociateTag = "working16h-22";
$SearchIndex = "Books";
$ResponseGroup = "Medium";
$Keywords = htmlspecialchars($_POST['keywd']);
require_once 'Services/AmazonECS4.php';
$amazon = new Services_AmazonECS4($AWSAccessKeyId,$AssociateTag);
$amazon->setLocale('JP');
$option = array(
'Keywords' => $Keywords,
'Sort' => 'salesrank',
'ResponseGroup' => $ResponseGroup,
'Version' => $Version,
);
$result = $amazon->ItemSearch($SearchIndex,$option);
if(PEAR::isError($result)){
die($result->message);
}
foreach ($result["Item"] as $key => $value){
$ama1 = $value["DetailPageURL"];
$ama2 = $value["ItemAttributes"]["Title"];
$ama3 = $value["ItemAttributes"]["Author"][0];
print('<p>タイトル:<a href="' . $ama1 . '" target="_blank">' . $ama2 . '</a><br />著者:' . $ama3 . '</p>');
}
}
?>
</body>
</html>
今回、参考にさせていただいたのは、
超・極める! PHPです。
ありがとうございました。
今回の一連のアマゾンウェブサービスを使った練習で、
大分、PHPプログラミングにも慣れてきました。
しかし、まだ日々の修練が必要なのは自分がよくわかっております。
次回からは、
「データベース接続のいろいろ」
をテーマにしようかと考えています。
PHPでMySQLに接続 >>
[ 起業日記のホームへ ]
仕事の成果や興味を持って体験したこと、また今学んでいることで自分なりにまとめられるようになったことなど、とにかくアウトプットを中心として書いていくブログです。
「1日16時間 起業日記」の意味は、WEBの世界で起業した管理人が、京セラの稲盛和夫さん、HONDAの本田宗一郎さんのように、年間5,000時間以上を数十年と働き続けた名経営者達に憧れて、せめて時間だけでも同じことをしよう!という意気込みを表現しています。
コメント