はじめに
API(Application Programming Interface)とは、「アプリケーション同士がやり取りするための共通ルール」のことです。
たとえば、人間がコミュニケーションを取るときに言葉やルールが必要なように、アプリケーションもAPIを通じて情報をやり取りします。
なお、本記事の内容は個人的な備忘録としてまとめたものです。その点をご了承いただければ幸いです。少しでも参考になれば嬉しいです。
書こうと思ったきっかけ
私自身、APIについてそれなりに勉強してきたという自負があります。しかし、その知識を言語化し、わかりやすく他人に伝えることの難しさを改めて実感しました。
頭の中では理解しているつもりでも、それを言葉として整理して伝える練習が必要だと感じました。そのため、自分の考えをまとめる場としてこの記事を書くことにしました。
APIは非常に広範囲にわたる分野ですが、本記事ではその中から基本的な内容に絞ってまとめています。少しでも皆さまのお役に立てれば幸いです。
そもそも、APIとは?
APIは、アプリケーション同士が「どうやって情報をやり取りするか」を決めたルールや仕組みのことです。
引用画像:https://www.ebis.ne.jp/column/api/
人間同士がコミュニケーションを取るために言語やルールが必要なように、アプリケーション同士もAPIという「共通言語」を使ってデータをやり取りします。
APIの具体例
天気予報アプリ
- 天気予報のデータを提供するサーバ(例: 気象庁API)に「現在の東京の天気を教えて!」とリクエストを送り、そのデータを取得して表示します。
Google Maps
- 外部アプリ(例: レストラン検索アプリ)がGoogle MapsのAPIを利用して地図を表示したり、場所の情報を取得したりします。
APIの種類
-
Web API
- インターネットを介してアプリケーション同士がやり取りするAPI。
- 例: REST API、GraphQL、SOAP
-
OS API
- OSが提供する機能を利用するためのAPI。
- 例: ファイル操作やデバイスアクセス(Windows API、POSIXなど)
-
ライブラリ/フレームワークのAPI
- 開発用のツールやライブラリに含まれる関数やクラスなどを指します。
- 例: NumPyやPandas(Pythonのライブラリ)
過去にやってきた技術検証のご紹介
これまで、APIに関するさまざまな技術検証を行ってきました。ここでは、その一部を抜粋してご紹介します。興味のある方は、ぜひ参考にしてみてください。
YouTube APIから動画データをDynamoDBに保存する方法
AWS Lambdaを使用して、YouTube APIから動画データを取得し、そのデータをDynamoDBに保存する仕組みを構築しました。
さらに、AWSのEventBridgeを利用して、動画データを定期的に自動取得する設定も行っています。
詳しい内容はこちらの記事をご覧ください:
API Gatewayを使ってLambda関数からS3の静的ページにリダイレクトする方法
Lambda関数を利用して、S3バケットにホストされた静的ウェブページにリダイレクトする方法を解説しています。
シンプルで効果的なリダイレクト構成を実現したい方におすすめです。
詳しい内容はこちらの記事をご覧ください:
PythonとLINE Notifyで環境構築からトークン取得まで、LINE通知機能を簡単に実装する方法
Pythonを使ってLINE Notifyを活用し、LINEへの通知機能を簡単に実装しました。環境構築からトークンの取得方法まで、初心者にもわかりやすく解説しています。
詳しい内容はこちらの記事をご覧ください:
Docker × ECR × Lambda × API Gatewayを組み合わせたサーバーレスアーキテクチャを構築する方法
ECRにプッシュしたDockerイメージを元にLambda関数を実行し、API Gatewayを介してHTTPリクエストに応じてLambda関数を呼び出す構成を構築しました。サーバーレスアーキテクチャを活用したシンプルでスケーラブルな実装例です。
詳しい内容はこちらの記事をご覧ください:
まとめ
ここまで読んでいただき、ありがとうございました。
この記事を書くことで、私自身も基礎的な内容を改めて体系的にまとめ直し、より深い理解を得ることができました。
この内容が、皆さまの技術的な参考やヒントとなれば幸いです。引き続き、学びやアウトプットを続けていきたいと思います。