最近よく見るようになった「API」
Twitter API関連でよく見るようになった?
2023年に行われたイーロン・マスク氏のX(旧Twitter)改革の一部で、XのAPI制限、つまりXにかかる負荷を軽くするためにツイートやフォローなどの機能を制限する措置をしました。その制限を超えると、「API呼び出しの回数制限を超えました」と表示されるようになり、タイムラインの取得やいいね、RTなどができる回数が制限されました。
そもそも「API」ってなんだ?APIとタイムライン、いいねってなんの関係性があるのか? って思った方、純粋にAPIについて知りたい!って方向けにわかりやすく解説していきます!
APIってなんだ?
APIってどう言う意味?
そもそも「API」ってどう言う意味なのかというと、「アプリケーション・プログラミング・インターフェース(Application Programming Interface)」の略称です。 ちょっとわかりやすく言うと、ソフトウェアやプログラム、Webサービスの間をつなぐインターフェース(つなぎ、ケーブルみたいな)のことです。 もっと端的に言えば、"アプリケーション同士を繋ぐもの"です。
ん〜、イメージしずらいと思うので実際に使われている例を見てみましょう。
以下のA●mzonのようなお買い物アプリを想像してください。
トップページに表示するため「そのユーザーに合った商品の情報を10個欲しい」とします。
すると、A●mzonのサーバーで「このユーザーが直近で見た商品は?よくクリックするジャンルは?... →コレとかいいんじゃない?」と商品情報を10個選んでくれます。
そしてもらった情報を表示する。
この時の「〜欲しいです」がAPIです。

API = お願い?
上の例のように、データが欲しいアプリ側と、商品やユーザーの情報を処理するサーバー側を繋ぐのがAPIです。 ここで僕はよく「API = お願い」とするとイメージしやすいかと思います。
例えば、「喉乾いたから水ちょうだい」で水をもらったり、 他にも、「大将!この魚で一品作ってよ!」で刺身を出してくれたり、 「この本もういらない」って親に来週の資源ごみに出してもらう、 など、この「お願い」と「得たもの・されたもの」がセットでAPIと思ってもらって大丈夫です。
ちょっと細かく言うと、上の事象は、 ・「水くれる人」に「水欲しい」を要求したら「水をくれた」 ・「なんか魚を持ってきたら気まぐれで一品作る大将」に「魚わたすから一品」要求したら「刺身がきた」 ・「ゴミあるか尋ねた親」に「コレ捨てて」と要求したら「捨ててくれた」
のように、厳密に言うとAPIは「要求」と「処理」と「応答」がセットになっています。 ・要求:水欲しい ・処理:要求者に水をあげる ・応答:水くれた
X(旧Twitter)のAPI制限も理解できる!
となると、冒頭に紹介したTwitter API制限についてもバッチリ理解できそうですね。 私たちがTwitterを使う時、 ・みんなのツイート情報が欲しい(ツイート取得API) ・ツイートしたい(ツイートAPI) ・この投稿にいいねしたい(いいねAPI) ...etc 様々なAPIを各機能で使っている。それ全体で使えるAPIの数が1日●回までに制限されたため、「API呼び出しの回数制限を超えました」となってしまう。 という流れですね。
一般に使えるレベルまで知ろう!
せっかくこの記事を見つけていただいたので、IT業界の専門的な部分...まではいかなくとも、エンジニアの僕の視点から"APIのメリット、デメリット"だけはみんなに知ってて欲しいです。知っておけば何かと役に立つかも?
APIのメリット・デメリット
さて、APIを使うと何がいいのか?ですが、先ほどもお伝えした通りAPIは"お願い"と考えてみてください。 するとAPIを使う側はただ"お願い"をするだけでいいのです。 冒頭のお買い物アプリにて、「この人にあったデータくれ」という要求だけ出せば、データをもらうことができます。 サーバーでの処理を作ってしまえば、あとはいつでもどこでもその機能が使えるようになります。
なので、APIをつかうことで欲しい機能が簡単に使えるようになります。
また、"欲しい機能が簡単に"に関連して、実は一般公開されているAPIというのがたくさんあります。 例えば、「郵便番号教えるから住所情報をくれる」APIや「文章渡すからそれに沿ったAI画像を3枚くれる」APIなど他にもたくさんあります。 このAPI(機能)を"中身の処理を一から作る必要なく"、"お願い"するだけで利用できるのもメリットです。
デメリットとしては、使用するAPIの中身(処理)に依存するため、それの変更や停止に左右されてしまうことです。
最後に
いかがでしたか? APIは「Application Programming Interface」の略称であり、「つなぎ、お願い」のようなものです。 APIを導入すれば、複雑な機能・サービスを1から開発する必要なく利用できるようになります。 今回は初心者向けに解説しましたが、もし「エンジニアとして実際にAPIを使うってどうやるの?」「自分の開発にAPIを取り入れたい」などあればインスタでDMしてください!
