API 101 - API の基本的な概要

API は、Application Programming Interface(アプリケーションプログラミングインターフェイス)の略です。 これは、単に言う通りの意味を持ちます。プログラム間のインターフェイスがあり、これらのインターフェイスは、これらのプログラムが通信できるようにします。 プログラマがソフトウェアアプリケーションを開発する場合、他のソフトウェアやハードウェアと通信するためにソフトウェアが必要になることがよくあります。 API は、これらの通信およびインタラクションに対して、何、方法、タイミング、場所、理由を定義します。

API は、ソフトウェアでビジネス上の課題を解決する方法です。 多くの企業では、これは共同作業です。 共同作業は、主な用語、概念、手順に関する共通の理解を得て、常に容易になります。

Web ページ内のリンクをクリックすると考えた場合、リンクをクリックすると、ブラウザーはかなりの数の API を使用します。 ブラウザーはクリックを認識し、訪問するページのリクエストを実行し、そのページをインターネット経由で取得して、画面に表示します。 中間には多くの小さな手順がありますが、ブラウザーは、Web ページを表示する目的でのみ様々な API と通信し、やり取りするソフトウェアです。 この記事では、API を使用または説明する際に重要な用語、概念、手順について説明します。

この記事の最後までに、これらの基本的な用語、概念、手順を明確に理解する必要があります。 API ドキュメントは広範囲にわたる場合があり、API を使用して特定の使用例に対処する方法に関するディスカッションは、非常に詳細になります。 ドキュメントに移動し、API について説明すると、明確な基礎と理解を共有することで、より簡単で生産性が高まります。

メモ

多くの API がありますが、ここで焦点を当てるのは Web API とブラウザー API です。基本的には、あるソフトウェアアプリケーションがインターネットを介して別のアプリケーションとやり取りする場合です。

API の用語と概念

単語やフレーズとは何を意味し、簡単に考えることができますか? API では、「アプリケーション」部分は、ソフトウェアアプリケーション、またはプログラムを意味します。 「プログラミングインターフェイス」部分は、特定の目的でアプリケーションが別のアプリケーションとどのようにやり取りするかを指します。 この Web ページの例では、リンクをクリックすると、ブラウザーがその Web ページのサーバーにリクエストを送信します。

リンク先 URL を含むハイパーリンクの画像

このスクリーンショットでは、Adobe Experience Platformリンクにマウスカーソルを合わせています。 下部には Web ブラウザーのステータスバーが表示され、ブラウザーが取得するページの「アドレス」が示されます。 つまり、Adobe Experience Platformのリンクをクリックすると、ブラウザーに「そのページを取得して、画面に表示できるようにします」と通知されます。

リンクがクリックされると、ブラウザーはサーバーに対して、ページ取得のリクエストをおこないます。 これは、 GET リクエストとは、web API で一般的に使用されるリクエストメソッドの 1 つです。 ブラウザーがリクエストを満たす必要があるのは、ページ「アドレス」です。Web 上のどこにありますか。

URL の一部

URL を含むブラウザーのアドレスバー

ほとんどのブラウザーには、Web ページの「アドレス」の一部またはすべてを表示する「アドレスバー」があります。 ブラウザーがクリックしたリンクのページを「取得」すると、このアドレスバーにページの「アドレス」が表示されます。 Web ページの「アドレス」とは何ですか。

その https://business.adobe.com/products/experience-platform/adobe-experience-platform.html 上の図は、Web 上のページのアドレスで、URL または Uniform Resource Locator と呼ばれます。 URL は、このようなページ、画像ファイル、ビデオ、その他のファイルタイプを参照できます。

URL の一部

このアドレス (URL) は、Web API やブラウザー API と非常に関連する特定の部分を持ちます。

スキーム

この scheme 上記は、 protocol Web API を使用し、通常は http または https. HTTP または HyperText 転送プロトコルは、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 は、多くの場合、のようなサブドメインを含む URL とやり取りします。 api.example.com または sub.www.example.com.

この用語を見るのはごく一般的です ホスト のようなサブドメインを含む完全なドメイン名を参照します。 business.adobe.com. また、用語を確認することも一般的です ドメイン または ドメイン名 のようなサブドメインのないホストを参照する場合 adobe.com. ホストの全ての部分とバリエーションに対する特定の用語を記憶することは、ここで重要ではありません。 しかし、これらの用語が一般的に使用されることを認識しておくことが重要です。これにより、ビジネスやディスカッションに関連する詳細を明確にすることができます。

Origin

Origin は、URL の部分と密接に関連していることを認識する別の用語です。 基本レベルでは、原点はほぼ scheme + host + domain いいね! https://business.adobe.com. 異なる値は、多くの場合、 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 part は、ファイルの名前です。

URL には、このシリーズの次の部分でハイライト表示される、より詳細な部分が他にもあります。

サードパーティ API

Web API は、サードパーティ API と呼ばれる場合があります。 取引に関わる関係者のように考えてみてください。 このリンクの例では、あなた(より具体的には、ブラウザー)がページのリクエストのファーストパーティです。 Web サーバーはセカンドパーティです。 3 つ目は?

Web ページに他のホストやソースのコンテンツやリソースを含めるのは、一般的です。 この場合、ブラウザーがページの表示を開始すると、他のホスト(「サードパーティ」)に対して、それらのリソースをホストする別のリクエストのセットがおこなわれます。 これは、特にビデオや画像などのメディアコンテンツに対しては非常に一般的ですが、視聴時や使用時に更新する必要があるデータに対してもよく使用されます。 特定のユーザーに対する現在の時刻、現在の天気、パーソナライズされたようこそメッセージの取得は、すべて、サードパーティの API が適切なタイミングで適切なリソースを提供できる例です。 これらのリクエストがこれらのサードパーティ API から送られるのは、一般的です。

Web API の一般的な使用例

時間帯、天気、パーソナライズされたコンテンツの他に、Web API の多くの用途があります。 twitter、TikTok、Facebook、LinkedIn、Snapchat、Pinterestなどのソーシャルメディアプラットフォームには、プログラマーがアプリケーションで使用できる様々な API があります。 もちろんAdobeも 多様な API プログラマが使用するソフトウェアは、Adobe製品やサービスとやり取りできるようにする。 ソフトウェア製品とサービスは、これらの API を通じて他のソフトウェア製品とサービスにアクセスします。

API の例

ブラウザー API を使用すると、プログラマーはブラウザーの機能を直接操作できます。 Battery API を使用すると、デバイスのバッテリの状態をソフトウェアで確認できるので、必要に応じてアラートを表示できます。 Clipboard API を使用すると、ソフトウェアはデバイスのクリップボードをコピーまたは貼り付けることができます。 フルスクリーン 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 リクエストは繰り返し可能なパターンに従います。 要求は、ソフトウェアアプリケーションから、要求を評価し、応答する別のソフトウェアアプリケーションに送信されます。ブラウザは、web サーバからページを要求し、そのページコンテンツを用いて応答する。

リクエストから応答までのプロセス全体で、多くの小さく非常に詳細な手順が必要ですが、リクエストメソッドは簡単です。 リクエストメソッドは、リクエストする操作を定義します。

GET

この GET request メソッドは、web ページやデータセットの例のように、リソースを提供する応答をリクエストする際に使用します。 ブラウザーでリンクをクリックしたり、モバイルデバイスでリンクをタップしたりすると、 GET バックグラウンドでリクエスト。

POST

この POST メソッドは、リクエストと共にデータを送信します。 「リクエスト」がデータを送信するのは奇妙に聞こえるかもしれませんが、API リクエストを作成する際には、エンドポイント(受信側のソフトウェア)にリクエストを受け入れるように求め、 POST(送信されるデータも受け入れる) 送信されたデータは、通常、データベースやファイルなどのデータストアに書き込まれ、保存できます。

PUT

この PUT リクエストメソッドは、 POST これは、データを送信するのですが、送信されるデータが既にエンドポイントに存在する場合、 PUT 既存のデータを置き換えて更新します。 A POST 更新されず、単にを送信するので、複数 POST リクエストでは、既存のレコードを更新する代わりに、送信されたデータの複数のレコードを作成できます。

PATCH

この PATCH リクエストメソッドは、既存のレコードの一部を更新するデータを送信するために使用されます。例えば、アカウントプロファイルを更新してアドレスを変更する場合などです。 を使用 POST リクエストを実行すると、 PUTに値を指定しない場合、既存のプロファイルは PATCH メソッドは、住所など、既存のレコードの関連部分を更新するだけです。

DELETE

この DELETE request メソッドは、リクエストで指定されたリソースを削除します。例えば、アカウントプロファイルを完全に削除するためのリンクをクリックした場合などです。

その他にもいくつかありますが、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" リクエストメソッド。 他のコード行もリクエストの一部ですが、この記事の範囲外です。

このページ