このページの本文へ

JSONP×jQueryでヤフオクAPIを活用しよう (2/2)

2009年07月29日 08時00分更新

文●藤本 壱

  • この記事をはてなブックマークに追加
本文印刷

自分のWebページにヤフオクの出品商品一覧を表示する

 準備ができたところで、「Get as JSON」のリンクのアドレスをコピーします。このアドレスから、ヤフオクの商品情報をJSONで取り込めます。また、先週の記事(関連記事)で解説したとおり、アドレスの最後に「&_callback=関数名」を付けるとJSONPで情報を取得できます。

 下記のコードは、jQueryと組み合わせて、JSONPから商品のデータを得て表示するプログラムのひな型です。「PipeのID」は、自分のPipeのIDに書き換えてください。「表示先の要素のID」には、情報を表示したい先の要素(divなど)のID名を指定します。

▼商品の情報を表示するプログラムのひな型


$(document).ready(function(){
    $.getJSON(
        "http://pipes.yahoo.com/pipes/pipe.run?_id=PipeのID&_render=json&_callback=?",
        function(data) {
            var items = data.value.items;
            var html = '';
            if (items[0].title) {
                商品の情報からHTMLを組み立てる処理
            }
            else {
                html = '<p>出品中の商品はありません。</p>';
            }
            $('#表示先の要素のID').html(html);
        }
    );
});


 変数itemsが、商品の情報の配列になります。配列の個々の要素(各商品のオブジェクト)には、次のようなプロパティがあります。

プロパティ 内容
auctionID オークションのID
bids 入札数
endtime 入札期限
img 商品画像のアドレス
price 現在の入札価格
title 商品の名前
url 商品のページのアドレス
options 各種オプションの情報が入ったオブジェクト

 ここまでに紹介した処理を使って、ヤフオクの商品一覧を表示するサンプルページを筆者のサイトに用意しました。アドレスは以下の通りです。

●Yahoo!オークションに出品中の商品を表示する(筆者のWebサイト)

 http://www.h-fj.com/ascii/yahoo_auction/sample.html


Yahoo!オークションに出品中の商品を表示するサンプル

Yahoo!オークションに出品中の商品を表示するサンプル


 上記ページのサンプルは、筆者のヤフオクの出品状況を表示するように設定してありますので、筆者が何も出品していないときには「出品中の商品はありません」と表示されます。このページのソースコードを元に、自分の出品情報を表示するように作り変えてみるといいでしょう。

前へ 1 2 次へ

Web Professionalトップへ

この記事の編集者は以下の記事をオススメしています