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

PXE Terminael Server for HTTP-FUSE KNOPPIX

PXE Terminael Server for HTTP-FUSE KNOPPIXを使ってみた。 サイトからISOイメージをダウンロードして、CDに焼いた。 ISOイメージを焼くのは初めてだったが、 …

bigdump.phpという素敵で便利なツールで、救われた。

phpMyAdminでアップロードできなかったので、こちらのツールを使わせてもらった。 CPIのサーバで、2,864,000行/393mb/gz圧縮後25mb、をアップ。 40分位かかった。 作者に感 …

no image

速いパソコン? いらん

「だっておわっちゃ、速過ぎるとついていけんもんに」 PCセミナー受講生の名言。

Amazonへ出品している商品の、商品名だけを一括で変更したいときの手順

1.以下のページを参考に、出品レポートをダウンロード。商品名を一括で変更・編集する方法 – Amazon出品サービス / 出品に関する一般的な質問 – Amazonセラーフォー …

no image

Linkstationの新旧入れ替えにまつわるバックアップUSBディスクのトラブル

バッファロー製NASのLinkstationのHD-HG160LANに、USB接続で外付けHDDをくっつけて毎週バックアップを取るという構成で、今まで使ってきた。 しかしこのたび、容量の限界が来たため …