Yahoo! Japan の Web API を使う

概要

Yahoo! Japan の Web API についてまとめています。Yahoo! Japan から提供されている Web API は基本的に無料で使用できます。一部、Yahoo! プレミアムなどの登録ユーザーのみ使用できるものもあります。

Yahoo! Japan の Web API は次のサイトで公開されています。
http://developer.yahoo.co.jp/

今回は、検索用の Web API を使用するサンプルです。

準備

検索キーワードを UTF-8 エンコーディングしたものを用意します。今回は「東京都」を検索キーワードにします。

  1. 次のサイトで、「東京都」を UTF-8 エンコーディングします。
    https://www.tagindex.com/tool/url.html
  2. 結果は、「%E6%9D%B1%E4%BA%AC%E9%83%BD」となります。

アプリケーションの登録とアプリケーション ID の取得

Web API を実行するには、アプリケーションとして登録し、アプリケーション ID を取得する必要があります。

  1. Yahoo! Japan デベロッパーサイトにアクセスして、ログインします。
    http://developer.yahoo.co.jp/
  2. [アプリケーションの管理] タブをクリックします。
  3. [新しいアプリケーションを開発] ボタンをクリックします。
  4. 次のように指定します。
    • 連絡先メールアドレス : 自動表示されます。
    • アプリケーションの種類 : 認証を必要としない API を使ったアプリケーション
    • アプリケーション名 : WebApp1
    • サイト URL : [Web アプリケーションではないため、URL なし] にチェック
  5. [確認] ボタンをクリックします。

以上で、作成したアプリケーションにアプリケーション ID が割り当てられます。本来は、アルファベット、数字、記号のランダムな文字列が作成されます。今回の例では、aaaaabbbbbcccccdddddeeeeefffffggggghhhhhiiiiijjjjjkkkkkklllllmmmmm を使用します。

Web API の実行 (ブラウザ)

ブラウザのアドレスバーを使用して、Yahoo! Japan の Web API を実行します。使用する Web API の URL を作成するためには次の情報を使用します。

  • 検索用 URL : http://search.yahooapis.jp/WebSearchService/V2/webSearch
  • アプリケーション ID : aaaaabbbbbcccccdddddeeeeefffffggggghhhhhiiiiijjjjjkkkkkklllllmmmmm
  • 検索キーワード (「東京都」) : %93%8c%8b%9e%93s

これらの情報を結合して次の文字列を作成します。

http://search.yahooapis.jp/WebSearchService/V2/webSearch?appid=aaaaabbbbbcccccdddddeeeeefffffggggghhhhhiiiiijjjjjkkkkkklllllmmmmm&query=%e6%b2%96%e7%b8%84&results=10

この文字列をブラウザのアドレスに入力して、実行します。

Web API の実行 (PHP)

PHP を使用して、Yahoo! Japan の Web API を実行します。まずは、こちらを参照して、XAMPP を用意します。

次に PHP を作成し、C:\xampp\htdocs\rakuten.php として保存します。ファイルのエンコードは BOM なし UTF-8 を指定します。

<?php
  $url = "http://search.yahooapis.jp/WebSearchService/V2/webSearch?appid=aaaaabbbbbcccccdddddeeeeefffffggggghhhhhiiiiijjjjjkkkkkklllllmmmmm&query=%e6%b2%96%e7%b8%84&results=10";
  $file = file_get_contents($url);
  var_dump($file);
  echo($file);
?>

XAMPP (Apache) が起動している環境のブラウザで、http://localhost/yahoo.php を実行します。

解説

このように Web API の実行は、ブラウザのアドレスバーまたは、PHP を使用して行うことができます。結果は、XML 形式で表示されます。

尚、実験中、Yahoo! Japan からエラーが返されることが多い印象を受けました。接続数を制限しているものだと思われます。時間をおいてから試してみるとよいでしょう。

この API に関してのヘルプは次のサイトにあります。
http://developer.yahoo.co.jp/webapi/search/websearch/v2/websearch.html