Step4 Yahoo! JAPAN® 提供のWeb APIの登録とデータ取得
1.Yahoo! JAPAN® 提供のWeb APIの登録
今回のプログラムではYahoo! JAPAN® 提供のWeb APIを使用します。Yahoo! JAPAN® 提供のWeb APIはYahoo! JAPANより提供されるAPIで、Yahoo! JAPANのIDを取得すれば誰でも無料で使うことが出来ます。
現在公開されているAPIには震災関連情報、検索、ニュースなど様々な種類の物があります。今回はその中でも、ニュースのトピックスを取得するAPIを使用してみましょう。
Yahoo! JAPAN® 提供のWeb APIの使用にYahoo! JAPANのIDが必要になります。こちらも無料で取得することが出来ます。
IDを持っていない方は、早速取得して作業を進めましょう。
それではYahoo! JAPAN® 提供のWeb APIを使用するために、アプリケーションIDの登録を行いましょう。
まず、Yahoo! JAPAN® 提供のWeb APIのページにアクセスします。
http://developer.yahoo.co.jp/
ページ上部の「サービス一覧」から「全てのサービスを見る」をクリックします。
カテゴリ毎に分類されているので「ニュース」以下の「トピックス」をクリックします。
リクエストURLなどが表示されるページが表示されます。
ページ右部の「アプリケーションIDの登録(無料)」をクリックします。
必要事項を入力します。アプリケーション名はGetNews、サイトURLの項では内容を入力せず「Webアプリケーションではないため、URLなし」のチェックボックスにチェックします。
最後にガイドラインを確認し、「同意する」ボタンをチェックし「確認」をクリックします。
入力内容の確認が表示されるので、内容が正しければ「登録」をクリックし登録を完了します。
これでAPIを使う準備が出来ました。
2.Yahoo! JAPAN® 提供のWeb APIによるデータの取得
Yahoo! JAPAN® 提供のWeb APIではHTTP通信によってXMLファイルを取得することができます。XMLファイルは予め用意されているクラスを使用して解析することが出来るのでAndroidアプリでの利用に適していると言えます。それではStep1で作成したプログラムを変更を加え、データが取得出来ることを確認してみましょう。
まず、URL文字列を生成するメソッドを追加します。
URL内のパラメータは様々な設定を行う事が出来ますが、今回は必要最低限のappidとpickupcategoryの2つを設定します。appidは各人で異なる値となります。先ほど取得したアプリケーションIDを書き込んでください。アプリケーションIDは先ほど登録を行ったページ(http://developer.yahoo.co.jp/)上部のアプリケーションの管理>GetNewsより確認できます。カテゴリのパラメータにはtopを指定しています。
public String createURL() { String apiURL = "http://news.yahooapis.jp/NewsWebService/V2/topics?"; String appid = "<取得したID>"; String category = "top"; return String.format("%sappid=%s&pickupcategory=%s", apiURL, appid, category); } |
次にhttpGetメソッドを呼び出す箇所を以下のように変更します。
mView.setText(new String(httpGet(createURL()))); |
これでAPIを使用したXMLファイルの取得が行えるはずです。
実行に成功すれば以下のような内容が表示されます。
今回はURLクラスを使用してHTMLやXMLファイルを取得するという事を行いました。データの取得までは比較的容易に行えることが分かったと思います。次回は取得したデータの解析手法を紹介し、実践的なアプリケーションの作成を行います。それでは次回もよろしくお願いします!
今回コラムで使用したプログラムはこちらからダウンロード出来ます。
第3回 通信するアプリを作ってみよう(前編)
Step1 通信プログラムの流れ
Step2 HTTP通信プログラムの作成
Step3 Web APIとは
Step4 Yahoo! JAPAN® 提供のWeb APIを使用したデータ取得
(文責:株式会社ベストクリエイト)
■免責事項