人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

YahooのオークションAPIに関する質問です。
キーワードから商品情報をjson形式で取得してhtmlに情報を挿入したいのですがうまくいきません。
アドバイス頂ければと思います。

■load.php
<?php
$url = $_GET['request'];
header("Content-type: application/xml; charset=UTF-8");
readfile($url);
?>

■script部
var yahoo = "load.php?request=http://auctions.yahooapis.jp/AuctionWebService/V2/search?appid=○○○&output=xml&order=a&sort=cbids&query=";

$(function() {
var key = "サッカー" //←実際はUTFにエンコードされています
var url = yahoo + key;
$.getJSON(
url,
function(html) {
$("#list").append($(html).find("Title").text());
});
});


■html部
<div id="list"></div>

●質問者: 雨の日
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●100ポイント ベストアンサー

http://developer.yahoo.co.jp/webapi/auctions/auction/v2/search.html
↑を見ましたが、まず、パラメータを間違ってます。
JSON で取得したいのであれば、output=xml ではなく、output=json です。
JSONP の場合には callback パラメータも必要です。
jQuery.getJSON で使う場合には、callback=? と、コールバック関数名に半角のクエスチョンマークを指定します。

後、JSON 形式のデータでは find は使えないでしょう、きっと。
こんな感じになるはずです。

var yahoo = 
 "load.php?request=http://auctions.yahooapis.jp/AuctionWebService/V2/search?" +
 "appid=○○○&output=json&callback=?" +
 "&order=a&sort=cbids&query=";

$(function() {
 var key = "サッカー" //←実際はUTFにエンコードされています
 var url = yahoo + key;
 $.getJSON(
 url,
 function(data) {
 var item = data.ResultSet.Result.Item;
 for (i in item) {
 $("#list").append("<div>" + item[i].Title + "</div>");
 }

 });
});

URL の部分は、肝心なところが見切れちゃうので改行を入れましたが、一行に書いて大丈夫です。


雨の日さんのコメント
ご回答ありがとうございます。 ご教授頂いた内容でうまくいきました!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ