#はじめに
はじめまして。IT企業に勤めている者です。
企画寄りの業務に携わっていますが、技術に関しての知識の乏しさを痛感しています。
というわわけで「聞いたことはあるけど理解しきれていない、周りで気になる単語」
について自分なりに調べていこうと思います。
今回はAPI
についてです。
いまのほぼノー知識な状態だと「あー…なんか、提供元の情報簡単に使えるようになりますよみたいな……?」
とぼんやりした感覚しかないのでこれを機に調べてみることにしました。
いつの時代の話をしているんだという感じですが
いつも調べっぱなしで後に何度も同じことを調べてしまうので自分用のメモも兼ねてまとめます。
##そもそもAPIとは?
「Application Programming Interface」の略。
英文をそのまま受け止めると「アプリケーションをプログラミングするインターフェース」?
ちょっとよくわからないです。
##Wikipediaに聞いてみた
「OSやミドルウェアやWebサービス等サービスを利用するアプリケーション(Application)を作成する(Programming)ためのインターフェース(Interface)である。」
引用元:「アプリケーションプログラミングインタフェース」(2019年3月11日 (月) 21:55 UTC)『ウィキペディア日本語版』
https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9
……うーんなるほどよくわからん。
※余談ですがWikipedia自体にもAPIが用意されているみたいです。どう使うんだろう。
##APIとはソフトウェアの機能やデータを提供するもの
いろいろ調べた結果、↑という解釈に落ち着きました。イメージは以下の通り。
データ提供:あるキー項目に該当する値を応答
↓
↓
上記の図はあくまで「キー項目をもとに」「特定のデータ項目を取得する」
という単純な構図ですが実際には機能提供/利用もできます。
わかりやすい例でいうと
facebookの認証機能の利用してinstagramの認証を行うとか、
アプリ間の認証共有などがあるようです。
※余談ですが「Instagram API」は2020年初めまでに廃止されるそうです。へぇ……
その代わり?に「Instagram Graph API」が提供されているそうです。へぇ~~
参考ページ:
「Instagram API、一部機能の提供終了。その理由と今後の対応策とは?」
https://gaiax-socialmedialab.jp/post-58019/
「「Instagram API」が廃止に!代替の「Instagram Graph API」に移行しよう!」
https://web.analogstd.com/tips/posts/api/instagram-grapgh-api-facebook.php
まだフワっとした理解なのでもうちょっと深めていきたいです。
##これからについて
なんとなく概要は理解したものの、やはり実際に手を動かさないと身につかない気がします。
というわけで、9月いっぱいを目標に簡単なAPIを作ってみたいと思います。
※イメージとしては
「用意したリストに対してキーが入力されたらそれに対応するデータを応答する」
くらいのレベルのものを想定しています
##参考ページ
「WebAPIについての説明」
https://qiita.com/busyoumono99/items/9b5ffd35dd521bafce47
⇒一番はじめに参考にさせていただいたページ。
新人向けの説明と銘打っているだけあって初心者にも理解しやすいページで大変助かりました。
「今さら聞けないIT用語:やたらと耳にするけど「API」って何?」(データのじかん)
https://data.wingarc.com/what-is-api-16084
⇒大変参考になりました。
#おわりに
最近 社内ニート 案件の谷間で時間ができたのでいまのうちに勉強しようと思っています。
漫然と調べものをしても見につかなさそうなのでちょこちょこアウトプットもしていきたいです。
おすすめの書籍なんかありましたら教えていただけると喜びます。