目次
APIって何? 誰が使うの?
APIとは、サービス内の情報や機能を外部に提供する仕組みのことです。
例えば、弊社のサービス「ソトミル」では Google Maps APIs の一つ、Geocoding API を利用して住所や地名から緯度経度の地理座標を取得しています。
そして、API を使う(呼び出す、呼び出される)のは、いろんな場所で動作する「プログラム」です。
APIはなんの略かというと、「アプリケーション・プログラミング・インターフェース(Application Programming Interface)」。その名の通り、プログラムの間をつなぐインターフェースなのです。
APIの正体は、YAMLファイル
「API を作れ」と言われたら、具体的に何を作ればいいのか?
答えは、「OpenAPI 構成ファイル」「OpenAPI ドキュメント(API ドキュメント)」「OpenAPI仕様書(API仕様書)」などと呼ばれる YAML ファイルです。
(以降、API ドキュメントと呼称します)
先ほど、API を使うのはプログラムだと書きました。つまり、API開発者は、提供する相手(の開発者)に API の仕様を伝え、どうやってプログラムに組み込むのかを教える必要があります。そのAPI の仕様を記述するのが、API ドキュメント と呼ばれる YAML ファイルの中ということ。
API ドキュメントを作成するには、Swagger Editer(https://swagger.io/tools/swagger-editor/)を使います。 ブラウザ上で動作するエディタで、左がYAMLファイル、右がプレビューです。編集しながら生成されるドキュメントを確認できてありがたい。
API の仕様には、例えば以下のようなものが含まれます。
- 何に対して:URL
- 何をするか:HTTPメソッド(GET、POST、DELETE、etc…)
- 何を渡すか:リクエストパラメータ
- 何を受け取るか:レスポンス
API ドキュメント を作ったら、あとは公開するだけです。
APIを公開する方法は色々考えられますが、次回、 Google Cloud の Endpoints を使った場合をご紹介します。
Open API、OpenAPIs、オープンAPI、Web API、Rest API、RESTful APIの違い
今回、API の自社開発を初めて担当したのですが、いろんな言葉が出てきて訳がわからなくなりました(笑)
調べれば調べるほど 「APIとは果たしてなんなのか、自分は何API を作ればいいのか」迷路に迷い込みました。私と同じく途方に暮れている人には、きっと以下の整理が役に立つと思います。
- WebAPI:Webを介して仕様するAPI
- Rest API(= RESTful API ):RESTの考え方に従って作られる WebAPI
- オープンAPI(= Open APIs ):アクセスがオープンにされているAPI
- OpenAPI:RESTful APIの標準フォーマットを推進する団体「Open API Initiative」の略称。
- Open API 2.0、Open API 3.0:「Open API Initiative」の名称変更で更新された略称。
今どき RESTful ではない API ってあまりないので、WebAPI = RESTful API というざっくり理解でも問題ないと思います。
まとめ
・API とは、プログラム同士をつなぐインターフェース
・API の正体は、API ドキュメントと呼ばれる YAML ファイル
・API 関連の言葉はめちゃくちゃわかりにくい
関連記事
Cloud Endpoints を使って簡単・安全に自社サービスをAPI化する方法
API ARIMA AutoML Bard BigQuery Bing ChatGPT Cloud Endpoints Cloud Storage DWH EBPM GAS Generative AI Google Apps Script Google Cloud Google Form Google Workspace IT組織 Outlook PaLM PDF Python ReportLab selenium Statsmodels STL VertexAI Vertex Forecast スクラッチ セミナー ソトミル トレンド分析 トレーニング バッチ予測 世界は女性とデジタルが救う 女性活躍 技術 時系列データ分析 業務効率化 機械学習 特徴量エンジニアリング 生成AI 自動化 評価指標 需要予測