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

TryCast を使用して、変数をキャストする

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。

サンプルコード (C#)

この言語にはサンプルコードはありません。

サンプルコード (VB.NET)

' 名前空間の追加
' (なし)

' コード
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

  Dim v1 As Object = "Hello"
  Dim v2 As String
  v2 = TryCast(v1, String)
  Console.WriteLine(v2)

  Dim v3 As Object = Me
  Dim v4 As String
  v4 = TryCast(v3, String)
  Console.WriteLine(v4)

End Sub

サンプルコード (C++/CLI)

この言語にはサンプルコードはありません。

解説

変数 v1 のデータを TryCast を使ってキャストします。TryCast により指定したデータ型でキャストできるときには、そのデータ型でキャストされた結果が返されますが、キャストできなかった場合には、Nothing (Null) が返されます。

このサンプルでは、変数 v3 にはフォームオブジェクトが格納されているため、String 型にはキャストできません。従って、変数 v4 には Nothing (Null) が格納されていますので、結果は表示されません。

最初は、C# の as 演算子に対応するものが、VB.NET の TryCast かと考えていましたが、TryCast の場合、変換対象の型は Object 型である必要があります。

尚、このような書き方は、VB.NET のみ有効なようです。

結果

IDE の [出力] タブに出力されます。(VB.NET)

Hello
1 107 108
PAGE TOP
MENU