API とは?

アプリケーションプログラミングインターフェイス (API) は、テクノロジー製品とシステム間の通信を容易にします。API では、構造化された一連のルールを介して通信することで、コントロールパネルを使用せずにプログラムを使用してシステムと対話できるため、API は「マシンが他のマシンと対話するのを支援するもの」と言われることがあります。

通常はコントロールパネルを介して完了するタスクを実行できるだけでなく、API では既存のアプリケーションと統合して、プロセスを自動化することができます。 Web 上には何千もの API があり、その多くは無料で利用できます。 Postman API ネットワークのような API ディレクトリを参照するか、統合したいサービスやプロダクトにアクセスして API があるかどうかを確認できます。

API アーキテクチャには複数のタイプがありますが、このガイドでは最も一般的な REST (Representational state transfer) に焦点を当てています。REST API スタイルに準拠する Web サービスは、RESTful API と呼ばれます。 RESTful API は HTTP を使用します。このガイドでは、RESTful API の呼び出しが Web ページ URL の呼び出しに非常に類似している点をご紹介します。

始める前に

エッセンシャルガイドの「キャッシュとは?」を参照し、このマニュアルに記載されているリクエスト、レスポンス、クライアント、サーバーという用語の意味を理解しておくことをお勧めします。

実際に使用されている API

気づかないうちに、実際に使用されている API を目にしたことがあるはずです。地元のお気に入りのタコスレストランの Web サイトで、ランチを注文していると想像してみてください。 チェックアウトする時には、配送先を入力する必要がありますね。 検索バーに住所を入力すると、都市、州、郵便番号が自動的に入力されます。 次に、支払い情報を入力する必要があります。ここでは、支払いフィールドが信頼できるモバイル支払いサービスによって処理されていることがわかります。 最後に、注文した後にはロイヤリティプログラムに登録して、注文に基づいてリワードポイントを獲得することができます。 この Web サイトでは、希望するソーシャルメディアプラットフォームを使用して登録することができます。

住所の自動入力、決済処理、そしてソーシャルメディア登録などは全て、API との統合例です。 これらの各コンポーネントを作成する必要はなく、この Web サイトでは簡単に発送先を収集するために Google Maps API、また Square の支払い処理システムと統合させるにあたり Square API、そして簡単にリワードアカウントを作成できるようにするにあたり Facebook API を使用しています。

REST API の仕組みとは?

REST API は HTTP リクエストとレスポンス を使用して、インターネット上で情報を交換します。 これにはメリットがあります。リクエストする Web クライアントと、レスポンスを返す API サーバーが共通の言語を話すからです。 メッセージのリクエストとレスポンス自体では、共通の HTTP Web プロトコルを使用します。

REST API の一般的な使用例は数多くあり、通常は、一般的なデータベース機能の作成、取得、更新、削除 (CRUD) などに使用されます。例えば、REST API では作成アクションを実行することができます。Facebook API を使用して新しいリワードアカウントを作成する場合がそうです。また、データを取得することもできます。Google Maps API を使用してアドレスを取得する場合がそうです。このガイドの後半部分では、分かりやすくするためにデータの取得に焦点を当てています。

API リクエストの構造

API リクエストの構造を見ていきましょう。 API リクエストは5つのセクションで構成されています。

  • エンドポイントのプリフィックスである ベース URL
  • リクエストの宛先を指定する エンドポイント
  • 実行されるリクエストのタイプを決定する メソッド
  • クライアントとサーバーが相互に通信するのに役立つ情報を提供する ヘッダー
  • サーバーに送信する情報が含まれる 本文

もう少し深く掘り下げてみましょう。

Google Maps Places API のエンドポイントの例を次に示します。

https://maps.googleapis.com/maps/api/place/autocomplete/

このエンドポイントには2つのコンポーネントがあります。 1つ目はベース URL です。 これは API が提供されるドメインです。 この例では、 https://maps.googleapis.com がベース URL です。 エンドポイントのパスによって、リクエストするリソースが決まります。 この例では、Autocomplete という名前の Google Maps Places API の特定のリソースをリクエストしています。 これにより、 /maps/api/place/autocomplete がパスとなります。

これは URL のように見えるかもしれません。 実際にそうなのです。このリクエストは HTTP 経由で発生していることを覚えていますか。これをブラウザに表示すると、非常にベーシックな HTML ページが表示され、API に応じてさまざまな方法でレスポンスがフォーマットされます (JSON は最も一般的なレスポンスフォーマットのひとつです)。

しかし、実際に API を使用するには、いくつかの他のコンポーネントが必要です。 1つ目はメソッドです。メソッドは、すべてのリクエストに含める必要がある定義済みキーワードです。 最も一般的なメソッドは、CRUD操作、つまり POST (作成)、GET (読み込み)、PUT (更新)、DELETE (削除) に関連するものです。このメソッドは API に何を実行するのかを伝えるもので、各々のエンドポイントが特定のメソッドを必要とします。

API の呼び出しに使用されるもう1つのコンポーネントは、リクエストヘッダーです。 リクエストヘッダーは HTTP ヘッダーです。 リクエストのコンテキストに関する補足情報を提供します。たとえば、リクエストヘッダーには、レスポンスを受け取る際に優先される言語が示されている場合があります。 ほとんどの API では認証ヘッダーも必要になります。このヘッダーは、認証情報 (API を使用しているユーザーが正当であることを示すパーソナルキーなど) をクライアントに提供します。

メソッドによっては、リクエストの本文に追加のデータを定義する必要がある場合があります。 例えば、POST メソッドを使用して何かを作成する場合、作成時に必要となるデータフィールドがあり、このフィールドに入力する必要がある場合があります。

例えば、ユーザーが報酬アカウントに登録しているとします。 ユーザーは、自分のアカウントを作成するために、Web サイトの特定のフィールドに入力します。 バックエンドでは、API が呼び出され、ユーザーが入力した詳細がリクエストの本文で使用されます。

1{
2"first_name": "Kris",
3"last_name": "Owner",
4"email": "krisowner@email.com",
5}

API の呼び出し

API リクエストの構成要素を理解することができましがた、実際に呼び出すにはどのようにすればよいのでしょうか?API をすぐにテストしてレスポンスを見るには、curl や Postman などのアプリケーションでリクエストを送信することができます。

例えば、特定のユーザーアカウントの詳細を取得したいとしましょう。 レスポンスは次のようになります。

1HTTP/1.1 200 OK
2Content-Type: application/json
3
4{
5 "comment": "",
6 "created_at": "2020-04-27T19:40:49+00:00",
7 "deleted_at": null,
8 "customer_id": "x4xCwxxJxGCx123Rx5xTx",
9 "first_name": "Kris",
10 "last_name": "Owner",
11 "email": "krisowner@email.com",
12}

返されるレスポンスは、API とリクエストによって異なります。 詳しく見ていきましょう。 最初の行にはステータスが含まれています。ここでは成功の200になっています。 次の行では、Content-Type ヘッダーが要求された情報の形式を示しています。ここでは JSON となっています。 最後に、レスポンスの本文には、ユーザーに関する詳細が含まれています。

ここでは、簡単な取得を行う API の呼び出しをご紹介しました。 アプリケーションの Web インターフェイスからログインしても、おそらく同じ情報が得られるでしょう。API を呼び出すユースケースとして最も考えられるのは、アプリケーションにリクエストを組み込み、レスポンスで受け取ったデータで何かを行うケースです。

Fastly API を使用する方法

Fastly API は RESTful API であり、Fastly コントロールパネルを介して利用可能なすべての機能へのアクセスを提供します。

API を使用することにより、既存のワークフローと統合するのであれ、頻繁に繰り返されるプロセスや面倒なプロセスを自動化するのであれ、選択した方法で Fastly サービスとアカウントに関連するオブジェクトを操作することができます。 例えば、Fastly のリアルタイム分析 API を使用して、カスタム分析ダッシュボードに Fastly 分析を統合することができます。 または、自動化されたパージ プロセスを設定することもできます。 可能性は、想像力(そしてプログラミングスキル)があれば無限大です。

Fastly API ではさまざまなエンドポイントが提供されており、詳細は API リファレンスドキュメントに記載されています。各 API コールのエンドポイントドキュメントには、リクエストを形成するためにベース URL と組み合せる必要があるメソッド、パス、認証タイプ、リソース、およびパラメータが示されています。 Fastly はまた、API リクエストとレスポンスを作成および処理するために選択できる、いくつかの クライアントライブラリ も提供しています。 クライアントライブラリを使用すると、特定のプログラミング言語を使用して API のリクエストとレスポンスを作成および処理できるため、書き込まなければならないコードの量を減らすことができます。

Fastly API は無料でご利用いただけます。 API を使い始める際には、 Fastly アカウント (無料で登録して、50ドル相当のトラフィックをお試しいただけます) と API トークンが必要になります。 API トークンは、 Fastly コントロールパネルで作成できます。 このトークンはユーザーの ID 認証に使用され、API リクエストが正当なソースから来ていることが確認されます。ご使用を開始いただくための詳細については、API リファレンス をご覧ください。

次のステップ

Developer Hub から入手できる API リファレンスガイドには、Fastly API を使用するために必要なすべての情報が含まれています。 Fastly が提供するすべての API エンドポイントの全索引 については、このページを参照してください。

An illustration of a graduation cap.Fastly アカウントに登録しましたか?アカウントの作成は無料です。最大50米ドル分のトラフィックを無料で試すことができます。

翻訳についての注意事項
このガイドは役に立ちましたか?

このフォームを使用して機密性の高い情報を送信しないでください。サポートが必要な場合は、サポートチームまでご連絡ください。このフォームは reCAPTCHA によって保護されており、Google のプライバシーポリシー利用規約が適用されます。