ユーザーID パスワード

技術情報

  • FAQ よくある質問
  • 個人ユーザー向けサービスのお手続きについて

コード&コラム

第3回
通信するアプリを作ってみよう(前編)


前へ 1 |2 |3 |4 |5

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ファイルの取得が行えるはずです。
実行に成功すれば以下のような内容が表示されます。

img

今回はURLクラスを使用してHTMLやXMLファイルを取得するという事を行いました。データの取得までは比較的容易に行えることが分かったと思います。次回は取得したデータの解析手法を紹介し、実践的なアプリケーションの作成を行います。それでは次回もよろしくお願いします!

今回コラムで使用したプログラムはこちらからダウンロード出来ます。

第3回 通信するアプリを作ってみよう(前編)
 Step1 通信プログラムの流れ
 Step2 HTTP通信プログラムの作成
 Step3 Web APIとは
 Step4 Yahoo! JAPAN® 提供のWeb APIを使用したデータ取得

(文責:株式会社ベストクリエイト)

■免責事項

本コラム内で提供する情報のご利用は、利用者ご自身の責任において行われるものとします。本コラムで提供される各種情報については、慎重に作成、管理をしておりますが、当社は、これらの情報の正確性、有用性、完全性等を保証するものではありません。当社は、利用者がこれらの情報をご利用になったこと、またはご利用になれなかったことにより生じたいかなる損害についても責任を負いません。
本コラムで提供される各種情報に関し、利用者と他の利用者あるいは第三者と紛争が生じた場合、利用者は自己の費用と責任においてこれを解決するものとし、当社に損害を与えないものとします。
当社は、本コラムに掲載する情報の全部又は一部を予告なく変更する場合がございます。また、本コラムの運用を休止または停止する場合がございます。
当社は、理由の如何を問わず本コラムの提供が遅延し、または中断したことに起因して利用者または第三者が被った被害について、一切の責任を負いません。
当社は、利用者が、本コラムで提供している情報からリンクが張られている第三者のウェブサイト、または本サイトへリンクを張っている第三者のウェブサイトから取得された各種情報のご利用によって生じたいかなる損害についても責任を負いません。
通信環境、利用者のコンピューター環境その他の理由により、本コラムが正常にご利用できない場合がございます。
当社は、本コラムから入手された文書・写真・イラスト・動画・リンクその他各種情報(以下総称して「情報」といいます)に関して技術的サポート、機能改善等のいかなる技術的役務の提供もいたしかねますので、あらかじめご了承ください。
本掲載内容・各種名称は公開日時点のものであり、団体・サービス・ツール等の名称が変更されることがあります。

サンプルコード

第1回 リファレンスコード(文字列編)

第2回 リファレンスコード2(グラフィックス編)

第3回 リファレンスコード3(タッチイベント編)

第4回 リファレンスコード4(チェックボックス/ラジオグループ編)

第5回 リファレンスコード5(スピナー編)

第6回 リファレンスコード6(サウンド/ムービー編)

第7回 リファレンスコード7(トースト編)

第8回 リファレンスコード8(Google Maps API利用編)

第9回 リファレンスコード9(SQLite編)

第10回 リファレンスコード10(音声認識編)

第11回 リファレンスコード11(日付/時刻ダイアログ編)

第12回 リファレンスコード12(Bluetooth編)