(最終更新日:2009/8/1)
YahooオークションWeb APIのリクエストURLを読み解く
前回はヤフオクWeb APIのリクエストと結果をブラウザ上で確認してみました。
今回はそのリクエストURLについて説明します。前回も使用しました下のURLを例にしてみます。
http://auctions.yahooapis.jp/AuctionWebService/V1/Search?の部分がオークション検索の基本となる部分です。
この基本URLに続けて様々な条件をURLパラメータとして追加していきます。
最初は必須条件のappidパラメータです。appidパラメータにはアプリケーションIDを指定します。
アプリケーションIDはヤフーデベロッパーで予め登録して取得しておく必要があります。詳細は「Yahoo! JAPAN Webサービス」最初の一歩を参考にしてください。
アプリケーションIDを取得したら、そのアプリケーションIDを上記サンプルURLの「あなたのID」と置き換えてください。URLの「appid=あなたのID」が以上説明した部分です。
次に、categoryパラメータはヤフオクのカテゴリを指定します。あるカテゴリの商品のみを要求したい場合はこのcategoryパラメータを指定してください。
上記サンプルの2084006906は「空気清浄機」カテゴリを示しています。どの商品カテゴリ(空気清浄器)がどのカテゴリID(2084006906)を表すかは「カテゴリ情報 Web API」で調べることができます。
下のリクエストURLはメインカテゴリのカテゴリID一覧を要求しています。
次に、queryパラメータは検索キーワードの指定です。キーワードが日本語の場合は文字コードUTF-8でURLエンコードする必要があります。
上記サンプルURLの「%e4%b8%ad%e5%8f%a4」は「中古」という単語のURLエンコード結果です。つまり「query=%e4%b8%ad%e5%8f%a4」がキーワード「中古」に関連する商品という条件を意味しています。
次に、sortとorderパラメータについてです。sortは要求する商品リストの並び順を指定します。並び順には現在価格、ヤフオクの終了時間などがあります。上記サンプルURLの「sort=end」は並び順をヤフオク出品商品のオークション終了時間に指定しています。
そして、orderは並び順を昇順にするか降順にするかを指定します。「order=a」が昇順、「order=b」が降順です。
つまり、サンプルURLの「sort=end&order=a」は終了時間の昇順(ヤフオクの終了時間が短い順)を意味しています。
次に、thumbnailパラメータについてです。「thumbnail=1」は画像ありの商品の絞り込みを意味しています。thumbnailパラメータを加えなかった場合は画像あり・なしには拘らず全ての商品になります。
最後のaucmaxpriceパラメータは商品価格の範囲指定の上限値の指定です。つまり、サンプルURLの「aucmaxprice=30000」は30000円以下の商品のみという条件を意味しています。aucmaxpriceパラメータを加えなかった場合は価格の上限値に制限ありません。
実際には、ここで紹介したurlパラメータ以外にも「送料無料の商品」、「即買商品」etc…などのパラメータがあります。
詳細は、公式のドキュメントを参考にしてください。
Yahoo!オークションの商品の検索機能リクエストパラメータのページ
今回はそのリクエストURLについて説明します。前回も使用しました下のURLを例にしてみます。
http://auctions.yahooapis.jp/AuctionWebService/V1/Search?appid=あなたのID&category=2084006906&query=%e4%b8%ad%e5%8f%a4&sort=end&order=a&thumbnail=1&aucmaxprice=30000
このサンプルリクエストURLは最近流行の空気清浄器のヤフオク出品情報を要求しています。もう少し詳細を言うと、ヤフオクのカテゴリ「空気清浄器」からキーワード「中古」に関連するヤフオク商品のうち、価格が最大で3万円の商品を終了時間の昇順(ヤフオクの終了時間が短い順)で要求しています。http://auctions.yahooapis.jp/AuctionWebService/V1/Search?の部分がオークション検索の基本となる部分です。
(ヤフオクAPIには検索以外にも商品リスト・出品リスト・商品詳細・Q&A・評価・・・など様々なWeb APIが用意されています。詳細はデベロッパーホームページ(Yahoo!オークション)を参考にしてください)
この基本URLに続けて様々な条件をURLパラメータとして追加していきます。
最初は必須条件のappidパラメータです。appidパラメータにはアプリケーションIDを指定します。
アプリケーションIDはヤフーデベロッパーで予め登録して取得しておく必要があります。詳細は「Yahoo! JAPAN Webサービス」最初の一歩を参考にしてください。
アプリケーションIDを取得したら、そのアプリケーションIDを上記サンプルURLの「あなたのID」と置き換えてください。URLの「appid=あなたのID」が以上説明した部分です。
次に、categoryパラメータはヤフオクのカテゴリを指定します。あるカテゴリの商品のみを要求したい場合はこのcategoryパラメータを指定してください。
上記サンプルの2084006906は「空気清浄機」カテゴリを示しています。どの商品カテゴリ(空気清浄器)がどのカテゴリID(2084006906)を表すかは「カテゴリ情報 Web API」で調べることができます。
下のリクエストURLはメインカテゴリのカテゴリID一覧を要求しています。
http://auctions.yahooapis.jp/AuctionWebService/V1/CategoryTree?appid=あなたのID
下のリクエストURLは上のメインカテゴリIDで得た「家電、AV、カメラ」カテゴリIDより「家電、AV、カメラ」カテゴリ内のカテゴリID一覧を要求しています。
http://auctions.yahooapis.jp/AuctionWebService/V1/CategoryTree?appid=あなたのID&category=23632
このように辿っていけば、自分の目的とするカテゴリのカテゴリIDが得られるはずです。次に、queryパラメータは検索キーワードの指定です。キーワードが日本語の場合は文字コードUTF-8でURLエンコードする必要があります。
上記サンプルURLの「%e4%b8%ad%e5%8f%a4」は「中古」という単語のURLエンコード結果です。つまり「query=%e4%b8%ad%e5%8f%a4」がキーワード「中古」に関連する商品という条件を意味しています。
次に、sortとorderパラメータについてです。sortは要求する商品リストの並び順を指定します。並び順には現在価格、ヤフオクの終了時間などがあります。上記サンプルURLの「sort=end」は並び順をヤフオク出品商品のオークション終了時間に指定しています。
そして、orderは並び順を昇順にするか降順にするかを指定します。「order=a」が昇順、「order=b」が降順です。
つまり、サンプルURLの「sort=end&order=a」は終了時間の昇順(ヤフオクの終了時間が短い順)を意味しています。
次に、thumbnailパラメータについてです。「thumbnail=1」は画像ありの商品の絞り込みを意味しています。thumbnailパラメータを加えなかった場合は画像あり・なしには拘らず全ての商品になります。
最後のaucmaxpriceパラメータは商品価格の範囲指定の上限値の指定です。つまり、サンプルURLの「aucmaxprice=30000」は30000円以下の商品のみという条件を意味しています。aucmaxpriceパラメータを加えなかった場合は価格の上限値に制限ありません。
実際には、ここで紹介したurlパラメータ以外にも「送料無料の商品」、「即買商品」etc…などのパラメータがあります。
詳細は、公式のドキュメントを参考にしてください。