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仕事

執筆者:

関連記事

JQueryでカレンダー入力機能(先日の続き)

・現在はテキストボックスをクリックしたら表示されるカレンダー。それをクリックせずとも出しっぱなしにしたものも一つ欲しい。クリック版も残す。 ・「在庫僅少」「注文不可」をわかりやすく表示したい。管理画面 …

no image

チープスリル

「チープスリルに命をかけてしまーうのサー」 なんて歌があったな(by佐野元春)。 私のやってる仕事なんて、たかが知れたもの。 チープスリルを味わいたいだけなんじゃないか、って。 それに乗せられてるだけ …

Jazzy Formsで見積を計算してもらいその結果をメールで送る方法

やりたいことは、 「Webサイトの見積フォームを設置し、それを使ってお客さんに見積をしてもらい、その見積結果を管理者宛に送信する」 ・・・というもの。 WordPressのプラグインで、「Jazzy …

【重要・ご対応のお願い】Chatwork APIリクエストの仕様変更についてのお知らせ

7/3の夕方ごろから、PADで作成したチャットワークのフローでエラーが出ていたので、あれっと思って調べたら、案の定、その日チャットワーク側でAPIの仕様変更があった。後から調べたら、事前に作業日付きの …

no image

sendmail

ローカルで使うPHPのメール(sendmail)の利用環境を構築。 愛用しているXaioにはメールサーバが入っていないので、 http://tokyo.atso-net.jp/pukiwikip/?S …