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

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

新規登録して質問してみよう
ただいま回答率
85.48%
API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

6回答

2009閲覧

APIとはなんでしょうか?

Nakazato_Kiyomi

総合スコア12

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

3グッド

1クリップ

投稿2016/02/02 06:57

プログラミング初心者です。
APIとはなんでしょうか?
色々と聞いたり、調べたりしていますが
結局何が出来て、何のプログラミングに利用できるのか、
APIは何者なのかがよくわかりません。。

よく「APIを叩く」という言葉を聞くのですが
その意味もよくわからず…

どなたかご教示いただけましたら幸いです。
宜しくお願いいたします。

nnahito, b1ackc0ffee, 5o5o_wagon👍を押しています

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答6

0

ベストアンサー

ざっくりした説明です。

  • 私達:ユーザー
  • サービス会社:サービスに関わるいろんなデータを持っている

と、思ってください。
私達ユーザーが、会社のデータを拝借して使用するための仕組みがAPIです。
(会社内でも、そのAPIを使ってサービスを運用していますが)

会社はたくさんのデータを持っています。
が、「それをそのまま公開して使ってもらう」「使えるようにする」という状態にすると、

  • セキュリティ的にまずい(漏れてはいけない個人情報が漏れてしまう)
  • ユーザーにとっての敷居が高い(データベース接続など、いろいろ勉強しないといけない)

ということで会社にとっては都合が悪く、ユーザーにとっても不便です。

なので、会社は
「こういう風な形でデータを送ってもらえたら」「こんな形でデータを返しますよ」という約束事を決めて、利用方法を公開しています。
こうすることで、

  • 会社側はセキュリティ的にまずい情報は送信しないように設定しておける。
  • ユーザー側からの入力によって、会社側は柔軟に違う結果を返すこともできる。
  • ユーザーは公開されているルールに則って取得し、加工すれば良い。

ということになります。そういう仕組みがAPIです。

投稿2016/02/02 09:23

yamato_hikawa

総合スコア2092

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Nakazato_Kiyomi

2016/02/03 01:18

ベストアンサーに選ばせていただきました、 ご丁寧にありがとうございます!
guest

0

Windowsで言えば、自分で何かメモ帳なような画面を表示してみたい場合、その画面の表示を一から全て書くわけではありません。大きさや表示の仕方などを指定したパラメータをWindowsのシステムに渡すことによって表示させています。WindowsのAPIはその時の表示のための関数の集まりです。APIを叩くというのはAPI関数をコールすることを言います。
ただ、直接APIをコールしてもいいのですがWindowひとつ表示するにしても結構なコードを書かないと実現できないので、それらをラップしたライブラリを使うのが一般的です。C#やJavaなどはAPIを使いやすいようにラップされた言語になります。

投稿2016/02/02 09:21

PineMatsu

総合スコア3579

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

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
deadcode

総合スコア216

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Nakazato_Kiyomi

2016/02/03 01:21

実際にご教示いただいたURLにアクセスしてみました。 そこのAPIでは、あのような文字列が返ってくる書式になっているんですね。 参考になりました!
guest

0

ざっくりと.本当にざっくりとお話すると,

誰かが用意した関数(処理の塊)を,あなたが使えるようにしたもの

と考えると分かりやすいのではないでしょうか.

何らかのサービスに自作のプログラムからアクセスし,そのサービスの内容を取得変更するといった時に,
提供された関数(API)を使うことによって,簡単にその処理を行うことができる.
そんな感じではないでしょうか.

詳しく知りたい場合は,他の方のご回答をご参考に

投稿2016/02/02 09:28

nnahito

総合スコア2004

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Nakazato_Kiyomi

2016/02/03 01:19

ご教示いただき、ありがとうございます! 理解できました!
guest

0

ITアマチュアなので厳密には違う部分があると思いますが、おおまかな概念を理解できれば先に進めるかもしれないので回答します。

APIとは「ITの先輩達が作った便利な道具集」だと思ってます。
道具 には 用途 が設定されています。
包丁 には 食材を切る という 用途 が設定されています
レンジ には 食材をあたためる という 用途 が設定されています

逆に

食材を切りたい・食材を温めたい という 要求 があるならば、
包丁・レンジ という 道具 が活躍するわけです。

例えばプログラミングで「現在時刻を取得したい」という 要求 に対して、
それを満たす API(道具) を利用すると、「現在時刻を取得する仕組み(プログラム)」を作る手間を省くことができます。

慣れてくると、
「こういうAPI(道具)が欲しいな」とか
「こういうAPI(道具)はすでに誰かが用意してくれてそうだな」とか
「こんなに素晴らしいAPI(道具)がすでに準備されてるなんて!」とか
そんな感じになるかもしれません。

APIに限らずネットスラングとして、「叩く」とは利用する、アクセスする・・・というニュアンスを持ってるような気がします

投稿2016/02/02 09:22

編集2016/02/02 09:29
mankan

総合スコア187

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Nakazato_Kiyomi

2016/02/03 01:19

必要な情報をAPIに渡すことで、 規定の書式で返ってくるんですね。 ありがとうございます!
guest

0

アプリケーションがOS(Windowsなど)に処理を要求する窓口見たいなものです。・・・アプリの要求をOSへ渡すの中継役のインタフェースです。たとえばwindowsには、MoveWindowというAPIがありますが必要な情報を設定してMoveWindowを呼び出せば、ウインドウの位置やサイズを変更できます。
参考:Win32 API 関数リスト
アプリケーションプログラミングインタフェース

投稿2016/02/02 09:09

編集2016/02/02 09:15
cateye

総合スコア6851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Nakazato_Kiyomi

2016/02/03 01:20

みなさまほんとにありがとうございます、 助かりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問