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

a8

A8.netのa8matのプラスのあとの引数。 2番目が主サイト・副サイトの区別、4番目が素材タイプということはわかった。

秀丸エクスプローラClassicをブックマークが開いた状態で起動したい

Googleを検索したら、誰もブログにやり方を書いていないみたい。 中途半端に面倒で、かつ中途半端に簡易だからだろう。 よって私が。 1.秀丸エクスプローラClassicのパスを調べておく。私の場合は …

no image

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

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

no image

ファイルサーバにコンピュータ名で接続できない

入れ替えをした会社NAS(ファイルサーバ)に、自分のPCと同僚のPCの2台について、コンピュータ名で接続できない。 一方、IPアドレスでは、接続できる。 他の数十台のPCでは問題なくこれまで通り接続で …

no image

2年ぶりくらいにルミーズカートを使おうとしたのだがうまくいかん

2年ぶりくらいにルミーズカートを使おうとしたのだがうまくいかん カートのバージョンはVer1.4.5。 早速、サーバへの設置がうまくいかない。 「非公開ディレクトリ」の設定をしたがどうもdbフォルダに …