FC2ブログ

<?php
// 検索ワード
$Get_Keyword = ereg_replace("[  ]+", " ", trim($_GET['itemcode']));
$Get_Keyword = mb_convert_kana($Get_Keyword, "a", "EUC-JP");
$Get_Keyword = strtolower($Get_Keyword);

// itemcodeの確認
if(!(preg_match("/^[a-z0-9_-]+$/", $Get_Keyword))){
exit("半角英数字のみ");
}

// リクエストパラメータ
$Yahoo = "http://shopping.yahooapis.jp/ShoppingWebService/V1/itemLookup";
$appid = "?appid="."";
// $affiliate_type = "?affiliate_type="."";
// $affiliate_id = "&affiliate_id="."";
// $callback = "&callback="."";
$itemcode = "&itemcode=".$Get_Keyword;
$responsegroup = "&responsegroup="."large";

// XML
$url = $Yahoo.$appid.$affiliate_type.$affiliate_id.$callback.$itemcode.$responsegroup;
$xmldata = simplexml_load_file($url) or die("XMLパースエラー");

$totalResultsReturned = $xmldata['totalResultsReturned'];
$firstResultPosition = $xmldata['firstResultPosition'];

print $totalResultsReturned."<br />";
print $firstResultPosition."<br />";

$ItemCode_Code = $xmldata->Result->ItemCode->Codes->Code;
print $ItemCode_Code."<br />";

foreach($xmldata->Result->Hit as $value){
$Hit_index = $value["index"];
$Url = $value->Url;
$Name = mb_convert_encoding($value->Name, "EUC-JP", "UTF-8");
$Description = mb_convert_encoding($value->Description, "EUC-JP", "UTF-8");
$Headline = mb_convert_encoding($value->Headline, "EUC-JP", "UTF-8");
$Code = $value->Code;
$JanCode = $value->JanCode;
$Image_Id = $value->Image->Id;
$Image_Small = $value->Image->Small;
$Image_Medium = $value->Image->Medium;
$Affiliate_Rate = $value->Affiliate->Rate;
$Review_Count = $value->Review->Count;
$Review_Rate = $value->Review->Rate;
$Review_Url = $value->Review->Url;
$Price = $value->Price;
$Price_currency = $value->Price["currency"];
$PriceLabel_taxIncluded = $value->PriceLabel["taxIncluded"];
$PriceLabel_FixedPrice = $value->PriceLabel->FixedPrice;
$PriceLabel_SalePrice = $value->PriceLabel->SalePrice;
$PriceLabel_PeriodStart = $value->PriceLabel->PeriodStart;
$PriceLabel_PeriodEnd = $value->PriceLabel->PeriodEnd;
$Point_Amount = $value->Point->Amount;
$Point_Times = $value->Point->Times;
// 支払い方法
if(is_object($value->Payment->Method)){
foreach($value->Payment->Method as $method){
$Payment_Method_Code[] = $method->Code;
$Payment_Method_Name[] = mb_convert_encoding($method->Name, "EUC-JP", "UTF-8");
}
}
$Shipping_Code = $value->Shipping->Code;
$Shipping_Name = mb_convert_encoding($value->Shipping->Name, "EUC-JP", "UTF-8");
$Store_Id = $value->Store->Id;
$Store_Url = $value->Store->Url;
$Store_Name = mb_convert_encoding($value->Store->Name, "EUC-JP", "UTF-8");
$Store_Ratings_Rate = $value->Store->Ratings->Rate;
$Store_Ratings_Count = $value->Store->Ratings->Count;
$Store_Image = $value->Store->Image->Id;
$Store_Image_Medium = $value->Store->Image->Medium;

print $Hit_index."<br />";
print $Url."<br />";
print $Name."<br />";
print $Description."<br />";
print $Headline."<br />";
print $Code."<br />";
print $JanCode."<br />";
print $Image_Id."<br />";
print $Image_Small."<br />";
print $Image_Medium."<br />";
print $Affiliate_Rate."<br />";
print $Review_Count."<br />";
print $Review_Rate."<br />";
print $Review_Url."<br />";
print $Price."<br />";
print $Price_currency."<br />";
print $PriceLabel_taxIncluded."<br />";
print $PriceLabel_FixedPrice."<br />";
print $PriceLabel_SalePrice."<br />";
print $PriceLabel_PeriodStart."<br />";
print $PriceLabel_PeriodEnd."<br />";
print $Point_Amount."<br />";
print $Point_Times."<br />";
// 支払い方法
if(is_object($value->Payment->Method)){
for($i = 0; $i < count($Payment_Method_Code); $i++){
print $Payment_Method_Code[$i]."<br />";
print $Payment_Method_Name[$i]."<br />";
}
}
print $Shipping_Code."<br />";
print $Shipping_Name."<br />";
print $Store_Id."<br />";
print $Store_Url."<br />";
print $Store_Name."<br />";
print $Store_Ratings_Rate."<br />";
print $Store_Ratings_Count."<br />";
print $Store_Image."<br />";
print $Store_Image_Medium."<br />";
}

// 商品オプション
if(is_object($value->Order->Option)){
foreach($value->Order->Option as $option){
$Order_Option_type = $option["type"];
$Order_Option_Name = mb_convert_encoding($option->Name, "EUC-JP", "UTF-8");
// 商品の情報
foreach($option->Values->Select as $select){
$Option_Select_Value[] = mb_convert_encoding($select->Value, "EUC-JP", "UTF-8");
}

print $Order_Option_type."<br />";
print $Order_Option_Name."<br />";
// 商品の情報
for($i = 0; $i < count($Option_Select_Value); $i++){
print $Option_Select_Value[$i]."<br />";
}
// 配列の削除
while(count($Option_Select_Value)){
array_pop($Option_Select_Value);
}
}
// 在庫
$Availabiliy = $value->Availabiliy;
print $Availabiliy."<br />";
}
?>


参考URL
Yahoo!デベロッパーネットワーク - ショッピング - 商品コード検索

appid アプリケーションID(必須)
affiliate_type Yahoo! JAPANアフィリエイト(yid)とバリューコマースアフィリエイト(vc)の選択。
affiliate_id Yahoo! JAPANアフィリエイトIDもしくは、バリューコマースアフィリエイトIDを入力。
callback JSONPとして出力する際のコールバック関数名をUTF-8でエンコードした文字列を入力
itemcode 商品コード(商品検索APIおよびカテゴリランキングAPIの結果リストのCodeタグに含まれる、商品固有のコード。ストアID_ストア商品コードの組み合わせ)
responsegroup 取得できるデータのサイズを指定 small medium large

Hit_index 検索結果の順番
Url 商品URL
Name 商品名
Description 商品説明
Headline キャッチコピー
Code 商品コード
JanCode JANコード
Image_Id 画像ID
Image_Small 76×76サイズの画像URL
Image_Medium 146×146サイズの画像URL
Review_Count レビュー保持数
Review_Rate レビュー平均評価
Review_Url レビューページへのURL/アフィリエイトURL
Price 価格
Price_currency 通貨
PriceLabel_taxIncluded 税込み価格かどうか
PriceLabel_FixedPrice 定価
PriceLabel_SalePrice セール価格
PriceLabel_PeriodStart
PriceLabel_PeriodEnd
Point_Amount ポイント数
Point_Times ポイント倍率
Payment_Method_Code 1=クレジットカード、2=銀行振込、4=商品代引、8=郵便振替、16=Yahoo!ウォレット、 32=モバイルSuica、64=コンビニ支払い、128=ペイジー対応 bitwise論理和
Payment_Method_Name クレジットカード、銀行振込、商品代引、郵便振替、Yahoo!ウォレット登録済クレジットカード、モバイルSuica、コンビニ支払い、ペイジー
Shipping_Code 条件コード 1=設定なし 2=送料無料 3=条件付送料無料
Shipping_Name テキストで以下のいずれかの値 設定なし/送料無料/条件付送料無料
Store_Id ストアID
Store_Url ストアURL
Store_Name ストア名
Store_Ratings_Rate ストア評価【0.0-5.0】まで0.5刻み
Store_Ratings_Count 評価人数
Store_Image 画像ID
Store_Image_Medium 120×30サイズの画像URL
Order_Option_type
Order_Option_Name
Option_Select_Value
Availability 購入できるか (instock/outofstock)
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

Author:雨宮
Firefoxを使用しているので気づかなかったけど、IE6でソースコードを上手くコピーできない

5/3
携帯用ならIE6でもソースコードをコピーできる
携帯用

検索フォーム


あわせて読みたいブログパーツ
一寸先は闇 RSS