PHPでヤフオクのAPIを利用する方法(サンプルコード付き)

スポンサーリンク

WebAPIって便利ですよね。既に揃っているデータを取得して、それを自分用に加工することができます。

数年前は個人的によく使っていたのですが、最近はすっかり使わなくなって、ブログばっかり書いています。

今回、久しぶりにAPIを使ってみましたので、そのやり方を残しておきます。PHPというプログラム言語を使って、ヤフオク! のデータを取得するAPIを書いていました。

思いのほか早くできたので、気分がいいですね。最後には、実際に作ったページを紹介します。

 

APIを使うための準備

ヤフオク! のデータを取得するには、Yahoo! JAPAN IDを持っていないといけません。まだ取得できていないのであれば、すぐにでも作成しましょう。

 

1. Yahoo! JAPAN IDの登録

2. アプリケーションを登録
https://e.developer.yahoo.co.jp/registerでこれから作るアプリケーションの情報を登録する必要があります。

3. (必須ではない)バリューコマースに登録
ヤフオク! はアフィリエイトのリンクにすることができます。どうせ作るなら、少しでも収入があった方が嬉しいですよね。

 

これだけやってればOKです。いつでも開発でき、公開できるようになります。

 

ソースコード

ここからはPHPを使って、ヤフオク! を検索するコードを紹介します。キーワードを設定すれば、出品されている情報を取得できます。

$vc_url = "http://ck.jp.ap.valuecommerce.com/servlet/referral?sid=●●●&pid=▲▲▲&vc_url=";
$baseurl = "http://auctions.yahooapis.jp/AuctionWebService/V2/search";

//リクエストパラメータ
$auc_id = "dj0zaiZpPXFTaEpsSTA5aWtNQiZkPVlXazlWSGxWU1ZOek0yVW1jR285TUEtLSZzPWNvbnN1bWVyc2VjcmV0Jng9Yzg-";
$keyword = "ももクロ";
$auc_query = urlencode( $keyword );

//リクエストURL
$url = "$baseurl?appid=$auc_id&query=$auc_query&thumbnail=1&page=$page";
//XMLパース
$xml = simplexml_load_file( $url );

if ( $xml->attributes()->totalResultsAvailable != 0 ){
	foreach ( $xml->Result->Item as $item ){
		echo '<p><a href="'.$vc_url.$item->AuctionItemUrl.'" target="_blank">'.$item->Title.'</a></p>';
		echo '<a href="'.$vc_url.$item->AuctionItemUrl,'" target="_blank"><img src="'.$item->Image.'" alt="'.$item->Title.'" /></a>';
	}
}

上記サンプルでは「ももクロ」というキーワードでヤフオク! を検索して、商品タイトルと画像を一覧で表示させるように書いています。ももクロを使ってみたのは、なんとなくです。ちなみに動いているところを見たことがないし、声も聞いたことがありません。知っているのは人気があるということだけです^^;

商品リンクにはバリューコマースのURLを付加していますので、自動的にアフィリエイトリンクになります。

商品データを表示しているのはforeachの中です。この部分をいかに工夫して見せるか、データをどう加工するかがオリジナリティを出すコツです。

作ったページ

このAPIを使って、この記事を書いた前日1日でページを作りました。APIを使うのはそれほど難しくないので、割とすぐにこんなページも作れちゃいます。

オークション出品情報 – 株主優待データベース

時間が掛かったのは、APIのところよりもページ遷移やレイアウト決めだったりします。

APIはアイデアの宝庫

ヤフオク! に限らず、公開されているAPIのデータを眺めていると、そのデータを使えばどんなことができるのだろうか・・・となります。データを眺めているうちにポンポンとアイデアが浮かぶことが多いです。今回もヤフオクのAPIを扱ったことで、また別のアイデアが浮かびました。

APIを使ったページは作るのにあまり時間が掛からないので、アイデアが出たらどんどんトライしてみるのが、いいのかもと思いました。また別のサイトを作るアイデアが思いついたので、完成したらこのブログでも紹介しますね。