プログラミング初心者です。
APIとはなんでしょうか?
色々と聞いたり、調べたりしていますが
結局何が出来て、何のプログラミングに利用できるのか、
APIは何者なのかがよくわかりません。。
よく「APIを叩く」という言葉を聞くのですが
その意味もよくわからず…
どなたかご教示いただけましたら幸いです。
宜しくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答6件
0
ベストアンサー
ざっくりした説明です。
- 私達:ユーザー
- サービス会社:サービスに関わるいろんなデータを持っている
と、思ってください。
私達ユーザーが、会社のデータを拝借して使用するための仕組みがAPIです。
(会社内でも、そのAPIを使ってサービスを運用していますが)
会社はたくさんのデータを持っています。
が、「それをそのまま公開して使ってもらう」「使えるようにする」という状態にすると、
- セキュリティ的にまずい(漏れてはいけない個人情報が漏れてしまう)
- ユーザーにとっての敷居が高い(データベース接続など、いろいろ勉強しないといけない)
ということで会社にとっては都合が悪く、ユーザーにとっても不便です。
なので、会社は
「こういう風な形でデータを送ってもらえたら」「こんな形でデータを返しますよ」という約束事を決めて、利用方法を公開しています。
こうすることで、
- 会社側はセキュリティ的にまずい情報は送信しないように設定しておける。
- ユーザー側からの入力によって、会社側は柔軟に違う結果を返すこともできる。
- ユーザーは公開されているルールに則って取得し、加工すれば良い。
ということになります。そういう仕組みがAPIです。
投稿2016/02/02 09:23
総合スコア2092
0
Windowsで言えば、自分で何かメモ帳なような画面を表示してみたい場合、その画面の表示を一から全て書くわけではありません。大きさや表示の仕方などを指定したパラメータをWindowsのシステムに渡すことによって表示させています。WindowsのAPIはその時の表示のための関数の集まりです。APIを叩くというのはAPI関数をコールすることを言います。
ただ、直接APIをコールしてもいいのですがWindowひとつ表示するにしても結構なコードを書かないと実現できないので、それらをラップしたライブラリを使うのが一般的です。C#やJavaなどはAPIを使いやすいようにラップされた言語になります。
投稿2016/02/02 09:21
総合スコア3579
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
APIはアプリケーションプログラミングインターフェイスの略になります。
また、APIを叩くという表現はよく使いますが、正確にはアクセスするみたいなイメージでしょうか。
身近なものだとTwitterAPIというものがあります。
詳細な手順は省きますが、Twitter指定のURLに認証情報やアプリケーションID等(アクセスするAPIによってパラメータは違いますが)を付加することにより
例えば自分のTweetを取得することができたりします。
これを使ってページ内にTwitterの情報やFacebookの情報等APIが提供されているアプリケーションの情報を取得することができます。
こういったサービスが色々なAPIを提供しているので色々見てみるといいかもしれません。
APIは指定されたアドレスに必要なパラメータを付加し、アクセスすることで、指定した情報を返してくれるものだと認識しておけば良いと思います。
アクセスというのはブラウザからURLでアクセスしたり、curlやプログラム内から該当のサーバへアクセスをする事全般を指します。
Twitter以外にも地図データや郵便番号、翻訳から写真、ニュース等色々あります。
登録不要のAPIを見つけたのでここに載せておきますね。
http://www.ekidata.jp/api/api_pref.php
ここではRequestに当道府県コードが必要になります。
※都道府県コードは調べてみてください。
東京の場合は13になります。
JSON形式 : http://www.ekidata.jp/api/p/(都道府県コード).json
という形で指定されているので
http://www.ekidata.jp/api/p/13.json
上記のURLをブラウザから叩きます。
アクセスするとjson形式で沿線コードと沿線名が返ってくるはずです。
一つの例ですが、こういったものがAPIになります。
投稿2016/02/02 07:26
編集2016/02/02 07:56総合スコア216
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/03 01:21
0
ざっくりと.本当にざっくりとお話すると,
「誰かが用意した関数(処理の塊)を,あなたが使えるようにしたもの」
と考えると分かりやすいのではないでしょうか.
何らかのサービスに自作のプログラムからアクセスし,そのサービスの内容を取得変更するといった時に,
提供された関数(API)を使うことによって,簡単にその処理を行うことができる.
そんな感じではないでしょうか.
詳しく知りたい場合は,他の方のご回答をご参考に
投稿2016/02/02 09:28
総合スコア2004
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ITアマチュアなので厳密には違う部分があると思いますが、おおまかな概念を理解できれば先に進めるかもしれないので回答します。
APIとは「ITの先輩達が作った便利な道具集」だと思ってます。
道具 には 用途 が設定されています。
包丁 には 食材を切る という 用途 が設定されています
レンジ には 食材をあたためる という 用途 が設定されています
逆に
食材を切りたい・食材を温めたい という 要求 があるならば、
包丁・レンジ という 道具 が活躍するわけです。
例えばプログラミングで「現在時刻を取得したい」という 要求 に対して、
それを満たす API(道具) を利用すると、「現在時刻を取得する仕組み(プログラム)」を作る手間を省くことができます。
慣れてくると、
「こういうAPI(道具)が欲しいな」とか
「こういうAPI(道具)はすでに誰かが用意してくれてそうだな」とか
「こんなに素晴らしいAPI(道具)がすでに準備されてるなんて!」とか
そんな感じになるかもしれません。
APIに限らずネットスラングとして、「叩く」とは利用する、アクセスする・・・というニュアンスを持ってるような気がします
投稿2016/02/02 09:22
編集2016/02/02 09:29総合スコア187
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
アプリケーションがOS(Windowsなど)に処理を要求する窓口見たいなものです。・・・アプリの要求をOSへ渡すの中継役のインタフェースです。たとえばwindowsには、MoveWindowというAPIがありますが必要な情報を設定してMoveWindowを呼び出せば、ウインドウの位置やサイズを変更できます。
参考:Win32 API 関数リスト
アプリケーションプログラミングインタフェース
投稿2016/02/02 09:09
編集2016/02/02 09:15総合スコア6851
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/03 01:18