現在、アプリケーションの開発中に、APIの導入は普通なことになっています。APIの導入によって、アプリケーションの機能を拡張したり、他のサービスに連携したりすることができます。APIを利用する時、一番基本的な操作は、APIリクエストを送信してレスポンスを取得することになります。そこで、本文では、初心者でもわかってもらえるAPIリクエストを作成して送信する方法を皆さんに紹介します。
APIリクエストとは?
APIリクエストは、アプリケーションプログラムインターフェース(API)を介して別のシステムやサービスに対して行われる要求のことを指します。APIは、異なるシステム間で情報や機能を共有するためのソフトウェアインターフェースであり、プログラムが他のプログラムやサービスと対話する手段を提供します。APIリクエストは、通常、HTTPプロトコルを使用して行われます。クライアント(リクエストを送信する側)は、APIエンドポイント(リクエストを受け付けるサービスの特定のアドレス)に対してリクエストを送信します。リクエストは、エンドポイントによって提供される特定のアクションや操作を実行するためのパラメータやデータを含むことがあります。
APIリクエストに必要なもの
それでは、APIリクエストを作成して送信するには、どのようなものが必要ですか?次は、APIリクエストを作成して送信するために必要な情報を紹介します。
- エンドポイント(Endpoint): リクエストを送信する対象のAPIのアドレスやURLです。APIの提供元から提供されます。
- メソッド(Method): リクエストの目的や操作を指定するHTTPメソッドです。代表的なメソッドには、GET、POST、PUT、DELETEがあります。GETはリソースの取得、POSTは新規リソースの作成、PUTは既存リソースの更新、DELETEはリソースの削除を行います。
- ヘッダー(Headers): リクエストに関する追加のメタデータを含むヘッダー情報です。例えば、認証情報やコンテンツタイプ(Content-Type)などが含まれます。
- パラメータ(Parameters): リクエストに関連するデータやクエリ情報を含むパラメータです。GETリクエストではクエリ文字列としてURLに含まれ、POSTリクエストではリクエストボディに含まれることが一般的です。
- 認証情報(Authentication Credentials): APIが認証を要求する場合、リクエストに対する認証情報(APIキー、トークンなど)を含める必要があります。
これらの要素を適切に設定してAPIリクエストを構築し、対象のAPIエンドポイントに送信することで、リクエストを処理し、適切なレスポンスを取得することができます。具体的なAPIの仕様に基づいて、正確な要素を指定する必要があります。
APIのリクエストを作成して送信する方法
次は、無料な天気予報APIを例にして、APIリクエストを作成して送信する方法を詳しく解説していきます。今回は、非常に使いやすいAPI管理ソフトのApidogを使って、APIリクエストを作成して送信する手順を紹介します。次のボタンをクリックして、Apidogのオンラインバージョンを使って次のステップを参照して操作することができます。
ステップ⒈エンドポイントとメソッドの記入
この無料天気予報のAPIのエンドポイントは:https://api.open-meteo.com/v1/forecast になりますので、APIリクエストはこのエンドポイントに送信されます。エンドポイントをApidogのURLバーに記入して、HTTPメソッドをGET(情報取得用)に指定します。
ステップ⒉必要な情報(パラメータなど)の記入
それでは、APIリクエストを送信する前に、何かの情報を追加して、このエンドポイントに送信しますか?これは、当該APIの仕様書(ドキュメント)を参照する必要があります。この天気予報の仕様書は次のようになります:
この画像が示しているように、latitude,longitude(経緯度)のみが必要な項目です。これは、経緯度を記入するだけで、レスポンスを取得することができることを意味しています。例えば、東京の検索する場合は、東京の緯度(35.6895)と経度(139.6917)をパラメータに記入します:
ご案内:このAPIは、トークンなどの認証情報を必要としませんので、それを記入しなくても良いのです。ただし、一部のAPIには認証情報が必要となる場合、「Auth」タブに切り替えて、トークンかキーを入力する必要があります。
ステップ⒊APIリクエストを送信してレスポンスを取得
そうして、「送信」ボタンをクリックして、APIリクエストを送信して、次のようなレスポンスを取得することができます。
上記の写真のように、返してくれたレスポンスには、東京のタイムゾーンや海抜などの情報が含まれていて、天気の情報がありません。
そこで、もう一度そのAPIドキュメントを確認すると、天気の情報を取得するには、パラメータには、hourly(1時間ごと)かdaily(1日ごと)を追加する必要があります。APIドキュメントでは、hourlyとdailyパラメータの定義も記載されています。
上記の写真から見ると、hourlyパラメータの値をtemperature_2mにすると、地上2メートルの気温を1時間単位で取得できます。
ステップ⒋APIリクエストのパラメータを調整して再送信
APIドキュメントから取得した情報に基づいて、hourlyパラメータを追加し、その値をtemperature_2mに設定して、APIリクエストを再送信すると、東京の天気情報を取得できるはずです。
ご覧のように、1時間ごとの気温がレスポンスで確認できるようになりました。
また、このAPIで様々なパラメータを利用することもできます。例えば、現在の時間帯はGMTになりますが、それを東京時間に変更したい場合は、パラメータにTimezoneを追加して、その値を「Asia/Tokyo」にすると、表示の時間帯はJSTになります。
まとめ
本文では、APIリクエストを送信してレスポンスを取得する方法を皆さんに紹介しました。APIリクエストの作成と送信には、Apidogというツールを使うのが便利です。また、APIリクエストを作成したり、送信したりする場合、APIエンドポイント、HTTPメソッド、必須なパラメータ、認可情報を必要とする場合がよくあります。これらの情報を取得するには、利用するAPIの仕様書を参照することが重要です。