質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.23%

WebAPIを叩きたい

解決済

回答 2

投稿

  • 評価
  • クリップ 1
  • VIEW 4,811

k499778

score 549



Javaプログラマー経験1年の者です。

単刀直入に言うと、
WebAPIを叩きたい。
と思っています。

イメージとしては、
WebブラウザでWebAPIのURL?を叩く(Enter、returnキーを押す)と、WebAPIに問い合わせを行い、レスポンスとして、データが返ってくると思っています。

しかし調べていても、それを簡単に実行できるやり方を見つけることができず、またデータもどのような形で返ってくるか、返ってきたことを確かめられるかがわかりません。(Chromeのデベロッパーツールとかに表示されるのかな?)

もし実際に
・こんな感じで簡単に試せるよ。
・このサイトわかりやすいから実践してみて
とかあれば教えていただきたいです。

現在、エクリプスのHTMLでGoogleMapsAPIを使ってGoogleMAPにカスタマイズをしたりはしています。それはHTML上にGoogleMAPsAPIを使うためのURLをscriptタグで囲んで使っている形です。

なのでWebAPI自体使ってると思うのですが、いまいち「WebAPIを叩いた」という感覚を実感できていません。実際どうデータが返ってきてるからGoogleMAPの機能が使えてるのかもよくわからないですし。自分のイメージしてるものとは少し違うような。

なにかアドバイスいただけると幸いです。お願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

0

たとえば、このWebサイトは、表示のためのデータをWeb API経由で取得しています。
http://restaurants.o-ta-su-ke.net/neighborhood

Chrome developer toolで見ればわかると思いますが、以下のAPIを呼んでいます。
たとえば、URLを少し変更すると、結果が変わると思います。
http://restaurants.o-ta-su-ke.net/restaurants/search.json?lon=139.693032&lat=35.6957018&dist=0.5&time=lunch

レスポンスは上記はJSONフォーマットです。レスポンスはAPIの種類によって様々です。


まず、身近なところで、楽天のAPIを呼んで、いろいろ試したりしてみては如何でしょうか?
https://webservice.rakuten.co.jp/document/

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/01/25 01:02

    返答ありがとうございます。コメントが遅くなってしまっていてすいません。
    まだ少し理解が及ばず解決に至っていないので自分で調べている最中です。
    また進捗が進んだり解決したら追加コメントさせてください。

    レストランのサイト試したんですが、APIのURLがdev toolでは赤字になってしまい、
    http://restaurants.o-ta-su-ke.net/restaurants/search.json?lon=139.693032&lat=35.6957018&dist=0.5&time=lunch のようなレスポンスを確認できていません。

    なので楽天のAPIを試しています。
    APIテストフォーム(https://webservice.rakuten.co.jp/explorer/api/)で試みようとしているのですが、ItemCodeを具体的にどの値を入れればいいかわからず調べている最中です。
    また報告できそうな状態になったらコメントさせていただきます。すいません

    キャンセル

  • 2015/01/25 02:03

    追記:

    APIテストフォーム(https://webservice.rakuten.co.jp/explorer/api/)で試していて
    その中の「GETのサブミットボタン」を押すと、json形式のデータが表示される。
    そしてdevツールのReqest Headers内にも
    X-Requested-With:XMLHttpRequestと書いてあり、XMLHTTPRequest経由でやりとりされているのが確認できる。
    これがまさに表題の「WebAPIを叩く」ということなのでしょうか?
    devツール内で返ってきたデータ(jsonなら上のmaisumakunさんが言っているようなもの)が確認できていないので少しスッキリはしていませんが。

    キャンセル

  • 2015/01/25 11:28

    「Web APIを叩く」という目的に対しては、APIをブラウザで呼び出している時点で、Web APIを叩いていると言えます。

    楽天のAPIが使えないのであれば、もっと簡単な駅データとか。
    http://www.ekidata.jp/api/api_pref.php
    http://www.ekidata.jp/api/p/20.json

    キャンセル

  • 2015/01/25 19:29

    返答ありがとうございます!
    是非試してみます。私の厚かましい質問にお答えいただきありがとうございました。

    キャンセル

0

Web APIをテストする場合、Google Developer Toolsもかなり役に立ちます。

ウィンドウの「Network」タブから「XHR」を選ぶと、XMLHTTPRequest経由でやりとりされているデータを見ることができ、JSONなら展開することも可能です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/01/25 00:51

    返答ありがとうございます。コメントが遅くなってしまっていてすいません。
    まだ少し理解が及ばず解決に至っていないので自分で調べている最中です。
    また進捗が進んだり解決したら追加コメントさせてください。

    キャンセル

  • 2015/01/25 01:34

    ちなみにGoogle Developer Toolsというのは、私の質問内容にありますGoogle Chrome Developer Toolsのことでしょうか?

    あと私が今何に引っかかっているかだけ報告させていただきます。
    「XHR」を見つけれていないのです。
    Reqest Headers内に
    X-Requested-With:XMLHttpRequest
    という記述は見つけられました。

    ただmaisumakunさんのおっしゃっているのは、私のイメージだと
    devツールの左のアイコン(jsとかcssとか)の中にXHRがあったりして
    それを選ぶとデータが見れて、JSONなら展開可能である。
    とおっしゃっているのかなあと思っています。

    長々とすいません。とりあえず引き続き調べてみます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.23%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る