IT仕事

Yahooショッピングで提供している商品をカートごと自身のページに設置できるか

投稿日:

やってみた。
結論からいうと、カートボタン以外は、できた。
カートボタン以外は・・・。

test_-_Home_and_Abroad_-_2015-03-25_17.54.35

てすと

YahooショッピングAPIの公式ガイドは、こちら。
ショッピング:商品コード検索(商品詳細) – Yahoo!デベロッパーネットワーク

実際のXMLの構造は、こちら。
Yahoo! APIで商品を検索するための簡単なサンプルコード(PHP)

参考にさせて頂いたサンプルは、こちら。
Yahoo! APIで商品を検索するための簡単なサンプルコード(PHP)

以下の情報で、カートボタンの設置は簡単なのかと思ってやってみたが、どうやら情報が古くて(2009年)ダメみたい。
Yahoo!ショッピングで購入するボタンの作り方 – Yahoo! JAPAN Tech Blog

できたコードは、こんな感じ。

<?php
header("Content-type:text/html;charset=UTF-8");
mb_language('Japanese');

// リクエストURL
$baseurl = "http://shopping.yahooapis.jp/ShoppingWebService/V1/itemLookup";  //XML
// リクエストのパラメータ作成
$params = array();
$params["appid"]       = "[*********];  // アプリケーションID
$params["itemcode"]      = "liquorshopchamp_2113";

// canonical string を作成
$canonical_string = "";
foreach ($params as $k => $v) {
    $canonical_string .= "&" . urlencode_rfc3986($k) . "=" . urlencode_rfc3986($v);
}
// 先頭の'&'を除去
$canonical_string = substr($canonical_string, 1);

// URL を作成
$url = $baseurl . "?" . $canonical_string;

// XMLをオブジェクトに代入
$yahoo_xml = simplexml_load_string(@file_get_contents($url));

foreach($yahoo_xml->Result->Hit as $item){

  echo $item->Name . "<br>";  // 商品名
  echo $item->Url . "<br>";  // 商品のURL
  echo $item->Price . "<br>";  // 商品の価格
  echo $item->Store->Name . "<br>";  // 商品のショップ
  echo "<img src='" . $item->Image->Small. "' alt='' /> <br>";  // 商品の画像
  echo "<br>";
}

// RFC3986 形式で URL エンコードする関数
function urlencode_rfc3986($str)
{
    return str_replace("%7E", "~", rawurlencode($str));
}

?>

-IT仕事

執筆者:

関連記事

no image

web2.0

遅ればせながら、WEB2.0関係の本を読んでいる。 ITは世の中を変えてるね。 バーチャル世界を変え、やがてリアル世界を変え。 これから世の中、将来はどう変わっていくんだろう。 次々起こる解決し難い問 …

no image

WebArenaSuite2でXOOPS

WebArenaSuite2でXOOPSが簡単に使えるというので、お客さんのサイトを作った。 インストールはとても簡単だったのだが、しかしディレクトリに制約があって、http://210.000.00 …

no image

パラメータクエリにパラメータをセットして実行した結果をデータシートで表示する」というコードの実行で3065エラー

Accessの仕様として、パラメータクエリだけが駄目なのかと思ったら、なんと選択クエリが駄目なのだそう。 理由は、Executeメソッドはアクションクエリのもので、選択クエリのものではないからだそう。 …

no image

DreamWeaverでXamppでMySqlでトラブルで

DreamWeaverCS6とXampp+MySqlを接続しようとしたのだがうまくいかず4時間ほど格闘。 一番はまったのが、右上のスクリーンショット「サイト設定」の、「使用する接続」が「ローカル/ネッ …

no image

Responsiveが超高速で作れるArtisteer最高

Webの高速制作ツールのArtisteerがResponsiveに対応しているのは知っていた。 けども、Wordpressでウィジェットとして追加したブロックの一つ一つについて、モバイルで表示したくな …