242539 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

楽天ウェブサービスセンターブログ

楽天ウェブサービスセンターブログ

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

Keyword Search

▼キーワード検索

Category

Calendar

Archives

2024.06
2024.05
2024.04
2024.03
2024.02

Freepage List

2008.02.12
XML
楽天商品検索SOAP API PHPサンプルコード解説

楽天商品検索SOAP APIを利用するPHPの簡単なサンプルコードを紹介します。

■動作環境

- PHP5動作環境
PHP5インストール時に--enable-soapと--enable-mbstringの2つのオプションが指定されている必要があります。
例)
./configure --with-apxs2=/usr/local/apache/bin/apxs --enable-soap --enable-mbstring

■サンプルソースご利用の際の注意事項

・ここで掲載するプログラムに関するサポートは一切しておりません。
・ここで掲載するプログラムで発生した直接的及び間接的に生じた損害について
弊社は一切責任を負いませんのでご了承ください。

■楽天商品検索API/サンプルコード概要
すべてのサンプルコードはこちら

・検索フォーム
8行目から11行目で、検索を行うHTMLのフォームを記述しています。

1: <html>
2: <head>
3: <title>商品検索</title>
4: </head>
5: <body>
6:
7: <!-- 検索キーワードの入力 -->
8: <form action="" method="post">
9:   <input type="text" name="search_keyword" value="商品検索">
10:   <input type="submit">
11: </form>


・検索キーワードの取得
13行目~20行目で、POSTされた検索キーワードを取得し、UTF-8でデコードしています。

13: <?php
14:
15: // リクエストから検索キーワードをセット
16: if (isset($_REQUEST['search_keyword'])) {
17:   $keyword = mb_convert_encoding($_REQUEST['search_keyword'], "UTF-8", "auto");
18: } else {
19:   $keyword = "";
20: }


・SoapClinetの作成
23行目でSOAPクライアントを生成しています。SoapClientのコンストラクタの引数にはwsdlのURLを指定します。今回は商品検索を行うサンプルなので商品検索のwsdlを取得するURLです。

22: // SoapClientを生成
23: $client_itemsearch=new SoapClient("http://api.rakuten.co.jp/rws/soap/ItemSearch/2007-10-25?wsdl");


・パラメータの設定
リクエストに設定するパラメータを作成します。44行目から63行目でパラメータの連想配列を作成しています。

25: // パラメータの値
26: $dev_id   = "自分のディベロッパーIDを指定してください";   // developerId
27: $aff_id   = "自分のアフィリエイトIDを指定してください";   // affiliateId
28:
29: $api_ver  = "1.11";     // apiVersion
30: $version  = "2007-10-25";   // version
31: $hit_cnt  = "30";       // hits
32: $page_cnt   = "1";      // page
33: $sort     = "+itemPrice";   // sort
34: $min_price  = "0";      // minPrice
35: $max_price  = "10000";    // maxPrice
36: $avail    = "1";      // availability
37: $field    = "1";      // field
38: $carrier  = "0";      // carrier
39: $img_f    = "1";      // imageFlag
40: $or_f     = "0";      // orFlag
41: $gen_info   = "1";      // genreInformationFlag
42:
43: # パラメータの連想配列
44: $params = array(
45:   'param' => array(
46:       'affiliateId'       => $aff_id,
47:       'developerId'       => $dev_id,
48:       'keyword'         => $keyword,
49:       'apiVersion'      => $api_ver,
50:       'version'         => $version,
51:       'hits'          => $hit_cnt,
52:       'page'          => $page_cnt,
53:       'sort'          => $sort,
54:       'minPrice'        => $min_price,
55:       'maxPrice'        => $max_price,
56:       'availability'      => $avail,
57:       'field'         => $field,
58:       'carrier'         => $carrier,
59:       'imageFlag'       => $img_f,
60:       'orFlag'        => $or_f,
61:       'genreInformationFlag'  => $gen_info
62:   )
63: );


・APIの呼び出し
67行目でAPIの呼び出しを行っています。引数には上で作成したパラメータの連想配列を指定します。

65: // APIの呼び出し
66: try {
67:   $result = $client_itemsearch->operationItemSearch($params);
68: } catch (SoapFault $e) {
69:   // 呼び出しに失敗した場合
70:   print_r($e);
71:   exit(0);
72: }


・結果の表示
76行目でステータスのチェックを行い、ステータスがSuccessの場合に、78行目から商品毎にループします。今回のサンプルでは画像と、商品名、店舗名を表示しています。

74: // 結果のHTML表示
75: print_r("<table width=\"100%\" border=\"0\">");
76: if ($result->return->status === "Success") {
77:   // 取得に成功した場合
78:   foreach ($result->return->itemArray as $value) {
79:     print_r("<tr>");
80:     print_r("  <td width=\"90\">");
81:     print_r("<a href=\"$value->affiliateUrl\"><img src=\"$value->mediumImageUrl\" border=\"0\"></a>");
82:     print_r("  </td>");
83:     print_r("  <td align=\"left\">");
84:     print_r("  商品名 :<a href=\"$value->affiliateUrl\">$value->itemName</a>");
85:     print_r("  <br />");
86:     print_r("  店舗名 :<a href=\"$value->shopUrl\">$value->shopName</a>");
87:     print_r("  <br />");
88:     print_r("  </td>");
89:     print_r("</tr>");
90:   }
91: } else {
92:   // 取得に失敗した場合
93:   // ("NotFound","ServerError","ClientError","Maintenance")
94:   print_r($result->return->statusMsg);
95: }
96: print_r("</table>");
97:
98: ?>
99:
100: </body>
101: </html>


以上、今回はPHPで、SOAPの商品検索APIを利用する簡単なサンプルを紹介いたしました。
SOAPを利用する際、参考にしていただければ幸いです。





お気に入りの記事を「いいね!」で応援しよう

Last updated  2008.02.12 15:43:33
[サンプルソース紹介] カテゴリの最新記事



© Rakuten Group, Inc.