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

秀丸で再感動

秀丸で、ソート。 数字を一桁二桁の区別なく数値的に並べ替えしてくれるのは便利。 上・中・下の文字は下・上・中の順になるのは惜しいがそれでも十分便利。 hidemarnet explorerで、FTP先 …

GASで作成したスクリプトをPower Automateで使うには(めちゃx2苦労した話)

ChatGPTに「GASで作成したスクリプトをPowerAutomateで使うにはどうすればよいか」と聞いたら、「Google Apps ScriptをWeb APIとして公開し、Power Auto …

秀丸で、例えば「123市」を「123都市」にするときの正規表現の使い方メモ

検索文字のうち、置き換え後に残したい部分を、カッコで囲むのがミソ。 検索文字:([0-9])市 置換文字:\1都市 wordだと「ワイルドカードを使用する」とすると、正規表現が使える。

no image

ExcelVBAのコメント操作で色々手間取ったので備忘録

フォーム上のコントロールの値を特定のセルにセットするのと、コメントの背景色をセットするには: 例えば、こんな感じに。 If TextBox8.Value <> "" T …

no image

秀丸でペースターが動作しなかった訳は32Bit版をインストールしていたから

PC環境を再インストールする必要があって、普段使いの秀丸とペースターもインストールした。 しかし、なぜか秀丸上でペースターが動作しない。 Google先生に聞いても、有用な情報に当たらない。 ペースタ …