APIとは何ですか? [クイックリード]
公開: 2020-04-25開発者ではないが、技術分野で働いている場合、APIという用語はおそらく会話の意味で理解できるものです。 あなたはおそらくそれが何を意味するのか(アプリケーションプログラミングインターフェース)を知っているでしょう、そしておそらくあなたのチームは彼らの仕事をするためにAPIを使用します-あるいはそれは製品自体(例えばTwilioSendGrid)でさえあるかもしれません。
しかし、APIとは正確には何であり、それらはどのように機能しますか?
APIの背後にあるより深い原則を理解することは、これらのテクノロジーを自分でより良くマーケティング、販売、または使用するのに役立ちます。
この投稿では、APIの仕組み、開発者によるAPIの構築方法、およびAPIの使用方法(実際の例を使用)について説明します。
APIはどのように機能しますか?
Webブラウザーがサーバーと対話する方法は、APIの基本原則です。 Webは、地球全体に分散しているリモートサーバーのコレクションです。 ブラウザを開いてWebサイトに入力すると、ブラウザはクライアントのサーバー(Webサイトがホストされているアプリケーションまたはサーバー)を呼び出して、そのURLにあるものを取得して表示します。
APIはサーバー自体ではありませんが、特定の応答を送受信するサーバーの一部であり、エンドポイントと呼ばれます。 APIは、エンドポイントを開くことにより、さまざまなソフトウェアが相互に通信(送信と受信)するための方法です。
開発者は、アプリケーションやWebサイトを構築するときに、さまざまな目的に必要な特定のデータを取得するためのAPI呼び出しを設定します。 例えば:
- Instagramアプリを開いたばかりですか? これは、API呼び出しによって可能になりました。
- 別のウェブサイトやメールからGoogleカレンダーにイベントを追加したことがありますか。 そのサイトは、Google Calendar APIを利用して、GoogleCalendarサーバーからその特定の情報を取得していました。
要点:開発者はAPI呼び出しを設定して特定のデータ型を取得し、ユーザーがWebサイトにアクセスしているときやアプリケーションを実行しているときに必要なものを表示します。
RESTの台頭
聞いたことがあると思われるもう1つの用語は、RESTAPIです。 これは、APIの従来の定義と同じです。 それでも、REST APIが非常に人気になった理由と、RESTAPIを他のAPIと区別するものを理解することは価値があります。
当初、APIはSOAP(Simple Object Access Protocol)の要件を満たすように構築されていました。 しかし、この方法は少し面倒で、データセットを転送するために多くの帯域幅が必要でした。 また、多くの開発者のエネルギーを必要としました(楽しい種類ではないように)。 SOAPは、悪名高い重いXMLマークアップ言語を使用してデータを表示します。 普遍的な互換性を確保するのに便利ですが、それだけです。
開発者は、API呼び出しを行うためのより軽量で柔軟な方法を探していました。 REST(Representational State Transfer)APIは、SOAPAPIの代替ソリューションを提供します。 それらは特定のプロトコルに制約されませんが、特定のアーキテクチャスタイルを満たす必要があります(それに飛び込むことに興味がある場合は、ここに進んでください)。
サーバーは、XMLマークアップで表示される代わりに、軽量のJSON言語(テキストファイルのみ)を使用します。 REST APIは、SOAPよりも帯域幅がはるかに軽く(通常はURLのみです)、Webでの通信用に自然に最適化されています。
要点:RESTAPIをデータの近藤麻理恵と考えてください。 彼らは必要なものだけを*正確に*取り、使用します。 SOAP APIは、現在トイレットペーパーでいっぱいになっている隣人のガレージのようなものです。
さまざまなタイプのAPIを理解する
APIが従うプロトコルやスタイルに関係なく、APIには次のようないくつかのタイプがあります。
- オープンAPI–パブリックAPIとも呼ばれるこれらのエンドポイントは、すべての開発者がアクセスでき、通常、ユーザーに制限を課しません。 彼らは通常、寄付を受け入れます。
- パートナーAPI–これらは一緒に使用するように設計されたAPIであり、通常、ある種のマーケットプレイスからのみアクセスできます。
- 内部API–これらは、企業が従業員の効率を高めたり、従業員がデータ/情報を共有するためのより安全な方法を提供したりするために使用する内部ツールです。
- 複合API–複合APIは、関連しているが通常は個別のAPI呼び出しを必要とするAPI呼び出しを統合する方法です。
APIの実際の例
ユーザーがさまざまなアプリケーションにアクセスするのに役立つAPIが数多く存在します(15,000を超えるものもあります)。 以下は、APIエコシステムの範囲を理解するのに役立ついくつかの注目すべきものです。
カクテルDB
あなたが地元の酒屋を経営していて、あなたのウェブサイトでカクテルレシピを提供したいとしましょう。 上記のCocktailDBAPIの使用を検討できます。 そのすべてのデータ(カクテルレシピ)はすでに他の誰かのサーバーに存在しており、APIを介して評価できます。
ユーザーがマルガリータレシピ(おそらく優れたカクテル)をクリックすると、サーバーは特定のレシピがJSONで送信することを検出し、Webサイトを取得し、HTMLとCSSに解析して、Webサイトのブラウザーに表示できるようにします。
OpenWeatherMap
Webサイトに天気セクションを追加することは、非常に一般的な使用例です。 スキーリゾート、自転車店、またはツアー会社を考えてみてください。 OpenWeatherMap APIは、すべての天気予報と情報を保存し、要求している部分のみを表示します。
このAPIは、表示するデータの量に応じて、無料バージョンとプレミアムバージョンの両方を提供します。
SendGrid Email API
SendGrid Email APIは、SMTP(Simple Mail Transfer Protocol)を利用して、顧客が大量のトランザクションおよびトリガーされた電子メールを送信できるようにします。パスワードのリセット、アカウントの確認、出荷通知などを考えてみてください。
Twilio SMS
Twilio SMS APIは、アプリケーションにメッセージング機能を追加する方法を提供するもう1つのRESTAPIです。 SMSメッセージングは、個人的なものであり、リアルタイムであり、これらのメッセージははるかに高いレートで読み取られるため、ブランドが顧客と通信する方法としてますます人気が高まっています。
APIの使用方法
あなたまたはあなたのチームがAPIの使用を開始する前に、APIがオープンであるか、パートナーサービスと組み合わせて使用されるか、またはコンポジットであるかを知ることが重要です。
APIの使用を開始する方法
ドキュメントを読んでください。 すべてのAPIには、従うべき適切なドキュメントが必要です。 それはあなたが持っている依存関係、それがどんなタイプのAPIであるか、そしてそれをどのように使うかをあなたに教えてくれます。 不十分なドキュメントは、あなたとあなたの開発者にとって危険信号となるはずです。 TwilioとSendGridの優れたドキュメントを非常に誇りに思っています。
APIキーを生成します。 使用を開始するには、APIキーを生成する必要があります。 GoogleMapsAPIからの手順は次のとおりです。
注:APIキーを共有しないでください。また、GitHubに配置するパブリックコードにAPIキーが表示されないようにしてください。
構築を開始:SendGridEmailAPIを使用して無料でメールを送信します
後は君しだい! APIを使用している場合、チャンスは本当に無限です。 Twilio APIを使用するすべての機会については、Twilioコード交換を確認してください。
SendGrid Email APIを使用して無料の電子メールを送信することに興味がある場合は、こちらを確認してください。