API 101 - API の基本的な概要
API とは、Application Programming Interface (アプリケーションプログラミングインターフェース)の略です。 つまり、プログラム間にはインタフェースがあり、これらのインタフェースはそれらのプログラムの通信を可能にします。 プログラマーがソフトウェアアプリケーションを開発する場合、他のソフトウェアやハードウェアと通信するためにソフトウェアが必要になることがよくあります。 API は、これらの通信とインタラクションの内容、方法、タイミング、場所、理由を定義します。
API は、ソフトウェアを使用してビジネス上の課題を解決する方法です。 ほとんどの企業では、これは共同作業です。 主要な用語、概念、手順を共有することで、共同作業は常に容易になります。
Web ページ内のリンクをクリックしようと考える場合、ブラウザーは、そのリンクをクリックする際にかなりの数の API を使用します。 ブラウザーがクリックを認識し、訪問するページを要求し、インターネット経由でそのページを取得して、画面に表示します。 より小さな手順が多数ありますが、ブラウザーは、web ページを表示するためだけに様々な API と通信してやり取りするソフトウェアです。 この記事では、API を使用または議論する際に重要な用語、概念、手順を重点的に説明します。
この記事を終了すると、これらの基本的な用語、概念および手順を明確に理解できるようになります。 API に関するドキュメントは多岐にわたりますが、API を使用して特定の使用例に対応する方法を詳しく説明します。 明確な基礎と共有された理解により、ドキュメントの操作や API に関する説明がより簡単で生産的になりました。
API 用語と概念
単語やフレーズにはどのような意味がありますか?また、簡単かつ簡単に考えることはできますか? API において、「アプリケーション」とは、ソフトウェアアプリケーションまたはプログラムを指す。 「プログラミングインタフェース」の部分は、特定の目的でアプリケーションが別のアプリケーションとやり取りする方法と場所を指します。 この web ページの例では、リンクをクリックすると、ブラウザーがその web ページのサーバーにリクエストを送信します。
このスクリーンショットでは、マウスポインターがAdobe Experience Platformのリンク上に置かれています。 下部には、ブラウザーが取得するページの「アドレス」を示す web ブラウザーのステータスバーがあります。 つまり、Adobe Experience Platformのリンクをクリックすると、ブラウザーに「そのページを取得して、画面にここに表示する」ように指示されます。
リンクがクリックされると、ブラウザーはサーバーに対してページの取得をリクエストします。 これは GET
リクエストで、web API で一般的に使用されるリクエストメソッドの 1 つです。 ブラウザーがリクエストを満たす必要があることの 1 つは、ページ「アドレス」です。
URL の一部
ほとんどのブラウザーには、web ページの「アドレス」の一部またはすべてを表示する「アドレスバー」があります。 ブラウザーは、クリックしたリンクのページを「取得」すると、このアドレスバーにページの「アドレス」が表示されます。 では、Web ページの「アドレス」とは何でしょうか。
上記の https://business.adobe.com/products/experience-platform/adobe-experience-platform.html
は Web 上のページのアドレスであり、URL または Uniform Resource Locator と呼ばれます。 URL は、このようなページ、画像ファイル、ビデオなどのページ、または他のファイルタイプを参照できます。
このアドレス(URL)には、web およびブラウザー API に非常に関連する特定の部分があります。
スキーム
上記の scheme
は、web API の protocol
とも呼ばれ、通常は http
または https
です。 HTTP またはハイパーテキスト転送プロトコルは、web ページなどのリソースが web サーバーから web ブラウザーに転送される方法です。 HTTPS は安全なバージョンで、転送されるリソースへの干渉を防ぐことを目的としたセキュリティを使用して、インターネット上で転送が行われます。 HTTPS 経由でページを表示すると、ブラウザーのアドレスバーに小さなロックアイコンが表示されるのが一般的です。
Web API の場合、これらのリソースの転送は HTTP リクエスト(HTTP 経由のリクエスト)を通じて行われます。
ホストとドメイン
business.adobe.com
は、リクエストされているリソースのホストです。 この例のリンクがクリックされると、ブラウザーは URL のこの部分を使用して、ページがホストされているサーバーを見つけます。 Web サーバーと完全に同じとは限りませんが、基本的には、ブラウザーが要求したページを取得するサーバーと考えることができます。
ドメイン名は、DNS と呼ばれるドメインネームシステムの一部です。 多くの人は adobe.com
や example.com
を「ドメイン名」と考えていますが、API に関連する部分があります。 www.adobe.com
と business.adobe.com
はドメイン名と呼ぶことができますが、www.
と business.
の部分はサブドメインと呼ばれます。 API は、多くの場合、api.example.com
や sub.www.example.com
などのサブドメインを含む URL を操作します。
「host」という用語は、business.adobe.com
のようなサブドメインを含んだ完全なドメイン名を指すことが非常に一般的です。 また、adobe.com
のようなサブドメインのないホストを参照する場合、「ドメイン または ドメイン名 という用語が表示されることも一般的です。 ここでは、ホストのパーツやバリエーションごとに具体的な用語を覚えることは重要ではありません。 ただし、ビジネスやディスカッションに関連する詳細を明確にするために、これらの用語が一般的に使用されていることを認識することが重要です。
接触チャネル
オリジンは、URL の一部に密接に関連していることを認識しておくべき別の用語です。 基本レベルでは、原点は https://business.adobe.com
のような scheme
と host
と domain
の大まかな関係です。 値が異なれば https://business.adobe.com
のように元も異なることが多く、http://business.adobe.com
はスキームが異なるので元も同じではありません。 また、https://www.adobe.com
と https://business.adobe.com
は、サブドメインが異なるので、多くの用途で同じオリジンではありません。
パス
上記の URL の例の最後のビットは、リソースへの path
ード(この例ではページ)です。 /products/experience-platform/
部は、通常、Web サーバー上のフォルダーまたはディレクトリを表します。 ドキュメントや写真のフォルダーやディレクトリがコンピューター上にあるのと同様に、コンテンツを整理するための web サーバー上のフォルダーもあります。 最後に、/adobe-experience-platform.html
の部分はファイルの名前、つまり web ページです。
このシリーズの次のパートで強調表示される、URL のより詳細な部分があります。
サードパーティ API
Web API は、サードパーティ API と呼ばれることもあります。 これを、トランザクションに関与する関係者と考えてください。 このリンクの例では、お客様(より具体的にはブラウザー)が、ページのリクエストの最初のパーティです。 Web サーバーはセカンドパーティです。 3 番目はどこだ?
Web ページには、他のホストやソースからのコンテンツやリソースを含めるのが一般的です。 その場合、ブラウザーがページの表示を開始すると、それらのリソースをホストする他のホスト(「サードパーティ」)に対して、別のリクエストのセットが実行されます。 これは、特にビデオや画像などのメディアコンテンツでよく見られますが、閲覧時または使用時に更新する必要があるデータの場合も当てはまります。 サードパーティ API が適切なリソースを適切なタイミングで提供できる例としては、現在の時刻、現在の天気、特定のユーザー向けのパーソナライズされたウェルカムメッセージなどがあります。 これらのリクエストを、これらのサードパーティ API から取得するのが一般的です。
Web API の一般的な用途
時間帯や天気、パーソナライズされたコンテンツを除き、web API の用途は多数あります。 twitter、TikTok、Facebook、LinkedIn、Snapchat、Pinterestなどのソーシャルメディアプラットフォームには、プログラマーがアプリケーションで使用できるさまざまな API があります。 もちろん、Adobeには、プログラマーがAdobeの商品やサービスとやり取りできるように使用する 様々な API もあります。 ソフトウェア製品およびサービスは、これらの API を通じて他のソフトウェア製品およびサービスにアクセスします。
API の例
ブラウザー API を使用すると、プログラマーはブラウザーの機能を直接操作できます。 Battery API を使用すると、ソフトウェアがデバイスのバッテリの状態を確認できるので、必要に応じて警告を表示できます。 Clipboard API を使用すると、ソフトウェアでデバイスのクリップボードをコピーまたは貼り付けることができます。 Fullscreen API を使用すると、YouTubeのように、デバイスの全画面にビューを展開するオプションが表示されます。
Adobe Experience Platform Data Access API は、プログラマーがAdobe Experience Platformからデータセットファイルにアクセスしてダウンロードできるようにする web API です。これにより、プログラマーは独自のプログラムで顧客プロファイルデータを使用できます。 このような API は、複数の API を組み合わせて一連の手順を実行するようにソフトウェアがプログラムされる、ソフトウェア自動化プロセスの一部になるのが非常に一般的です。 多くの場合、同じ手順を手動で実行する場合と比較して、大幅なコスト削減になります。
API エンドポイント
プログラマーがプログラムでブラウザーまたは web API を「使用」すると、通常は、web ページをリクエストするサンプルのブラウザーのように、リソースを送受信するようにリクエストが行われます。 API ドキュメントには、多くの場合、これらのリクエストの「エンドポイント」がリストされています(例:https://platform.adobe.io/data/foundation/export/files/{dataSetFileId}
)。 これは、プログラマーがデータセットファイルを取得するために使用する、Platform Data Access API の特定のパターンまたは「エンドポイント」です。
中括弧で囲まれた {dataSetFileId}
は、プログラマーがリクエストで送信する必要がある値を表します。 そのため、実際の API リクエストの URL は、https://platform.adobe.io/data/foundation/export/files/xyz123brb
のようになります。ここでは、xyz123brb
は、プログラマーが受け取りたいデータセットファイルの有効な ID である必要があります。
つまり、ブラウザーが特定の URL でページを取得するのと同様に、API リクエストは、このデータセットの例のような特定のエンドポイントからリソースを取得したり、このエンドポイントにリソースを送信したりします。
HTTP リクエストメソッド
この時点で、web API が web ページやデータセットなどのリソースに対してリクエストを行うことは明らかです。 ほとんどのソフトウェア概念と同様に、これらの HTTP リクエストは繰り返し可能なパターンに従います。 ソフトウェアアプリケーションから、要求を評価して応答する別のソフトウェアアプリケーションに要求が送信され、ブラウザは、ウェブサーバからページを要求し、ページコンテンツで応答する。
リクエストから応答までのプロセス全体には、より小さく非常に詳細な手順が多く含まれますが、リクエストメソッドは簡単です。 リクエストメソッドは、リクエストされる操作を定義します。
GET
GET
リクエストメソッドは、web ページやデータセットの例など、リソースを提供する応答をリクエストする際に使用します。 ブラウザーでリンクをクリックしたり、モバイルデバイスでリンクをタップしたりすると、GET
しいリクエストがバックグラウンドで行われます。
POST
POST
メソッドは、リクエストでデータを送信します。 「リクエスト」がデータを送信するのは奇妙に聞こえるかもしれませんが、考え方は、API リクエストを行うのは、受信ソフトウェアであるエンドポイントにリクエストを受け入れるよう求めることであり、POST
の場合は、送信されるデータも受け入れるよう求めることです。 送信されるデータは、通常、データベースやファイルなどのデータストアに書き込まれるので、保存できます。
PUT
PUT
リクエストメソッドは、データを送信するため、POST
に似ていますが、送信されるデータがエンドポイントに既に存在する場合、PUT
は、既存のデータを置き換えることで更新します。 POST
は更新されず、単に送信されるので、既存のレコードを更新する代わりに、送信されたデータの複数のレコードを複数の POST
リクエストで作成できます。
PATCH
PATCH
リクエストメソッドは、アカウントプロファイルを更新してアドレスを変更した場合など、既存レコードの一部を更新するデータを送信するために使用されます。 POST
リクエストでは、追加のプロファイルを作成でき、PUT
リクエストでは、既存のプロファイルを置き換えることができますが、PATCH
メソッドを使用すると、住所など、既存のレコードの関連する部分を更新するだけです。
DELETE
DELETE
リクエストメソッドは、リンクをクリックしてアカウントプロファイル全体を削除する場合など、リクエストで指定されたリソースを削除します。
他にもいくつかありますが、これは API を使用する際に最も一般的な方法のリストです。
リクエストの例
API に関する基本的な用語、概念、手順が理解できたので、実際の API リクエストの例を見てみましょう。
このブラウザーの例で使用するページの URL は https://business.adobe.com/products/experience-platform/adobe-experience-platform.html
です。 Adobe Experience Platformのリンクがクリックされると、ブラウザーはこのページに対して GET
リクエストを行います。 ブラウザーに代わって作業を行わせてもらうので、私たちがしなければならないのはクリックだけですが、プログラマーがそのリクエストをソフトウェアアプリケーションで実行したい場合、API リクエストが正常に実行されるために必要なすべての詳細を提供する必要があります。
コードでは、次のようになります。
fetch(
"https://business.adobe.com/products/experience-platform/adobe-experience-platform.html",
{
headers: {
accept:
"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
"accept-language": "en-US,en;q=0.9",
"sec-ch-ua":
'" Not A;Brand";v="99", "Chromium";v="101", "Microsoft Edge";v="101"',
"sec-fetch-dest": "document",
"sec-fetch-mode": "navigate",
"sec-fetch-site": "none",
"sec-fetch-user": "?1",
"upgrade-insecure-requests": "1",
},
referrerPolicy: "strict-origin-when-cross-origin",
body: null,
method: "GET",
mode: "cors",
credentials: "include",
}
);
上記のコードでは、ブラウザーがリクエストしている URL
が表示され、下部付近に method: "GET"
リクエストメソッドがあります。 その他のコード行もリクエストの一部ですが、この記事の範囲外です。
*[API]:アプリケーションプログラミングインターフェース