ネタが尽きてきたので有耶無耶になっていた知識を再確認しつつこの記事を書く。
0.初めに
この記事の趣旨
APIってなんやねん!の解決。
が目的です。
1.そもそもAPIとは
APIというのは、Application Programming Interfaceの略である。
簡単に言えば窓口である。
そのため、よく耳にするようなサービスからそんなところにも!というのもある。
GoogleAPIやAWSのようなサービスがその代表例。
あらかじめ定義された指示を呼び出してサービスを外部から提供してもらうシステムである。
2.APIの仕組み
では、APIの仕組みはどんなものだろうかと考えると、
┌─────────────────┐ ┌─────────────────┐
│ │ ① リクエスト (Request) │ │
│ クライアント │ ────────────────────────────> │ APIサーバー │
│ (アプリやWeb等) │ <──────────────────────────── │ (データや機能) │
│ │ ④ レスポンス (Response) │ │
└─────────────────┘ └─────────────────┘
│ ▲
│ ②リクエストの中身(エンドポイント・メソッド) │ ③認証・処理
└─────────────────────────────────────────────────┘
こんな感じである。
先ほども書いた通り、あらかじめ定義されているので、
こちらの作りたいプログラムや使いたいコマンドで呼び出すだけで簡単に使用することができることが魅力である。
3.APIの例
以下のように、アプリケーションをインストールすることで使えるものや、
Xのように外部のwebサービスの仕組みを使うことができるものもある
discordのようにbotなどに使われるケースもある。
4.注意点
もちろん、便利なAPIであるが、リソースには限りがあるため、
単位時間当たりのリクエスト回数を制限するレートリミットというものが存在している。
また、すべてのAPIが無料というわけではないため、従量課金制なのか、
或いはどのサービスで請求が発生するのかなどを事前に調べておいたほうが良い。
また、APIトークンは流出すると誰でもAPIを使えるようになる場合があるので、
慎重に管理をしなければならない。
5.終わりに
様々な場面で使われているAPIを使い分ければより良いものが作れるが、
その分外部サービスに依存するため、使用は慎重に検討すべきである。
因みに、かくいうQiitaもAPIがある。
こちらのほうも見てみると面白いかもしれない。
それではよい開発ライフを!