APIは「アプリケーションプログラミングインターフェイス」の略です。プログラミングに慣れていない場合、これは奇妙に聞こえるかもしれませんが、分解すると簡単に理解できます。携帯電話やパソコンを操作したり、インターネットを閲覧したりしながら、毎日使っています。
Webアプリ、モバイルアプリ、その他の多くのプログラムを含むソフトウェアは、インターネットを介して世界を結び付けます。ただし、これをより効率的にするには、このソフトウェア間に通信チャネルが必要です。そこでAPIが登場します。
ここでは、APIの意味とその使用方法について説明します。
APIとは何ですか?
NetflixやYouTubeなどのストリーミングプラットフォームで動画を視聴する方法を知っていますか? APIを介してリクエストを送信しているために可能です。
または、AmazonやeBayなどのオンラインストアから購入した商品の支払い方法を想像したことがありますか?これは、銀行とショッピングアプリの間にAPIと呼ばれる通信チャネルがあるためでもあります。
とは言うものの、APIは、アプリのサーバーがソリューションプロバイダーのサーバーと対話して、それらのリソースを使用できるようにする一連のルールを備えたインターフェイスです。本質的には、アプリまたはソフトウェアが相互に通信する方法を定義します。
ただし、場合によっては、APIによって相互主義的なデータ交換が可能になります。例として、銀行のアプリとオンラインストアのアプリの間に存在する接続があります。
APIはメッセンジャーのようなものです。一方の端でプロバイダーのサーバーに接続し、もう一方の端でクライアントのサーバーを固定します。次に、クライアントの要求をデータソース(プロバイダーのサーバー)に送信し、クライアントに応答を返します。ここでのクライアントはブラウザまたはアプリです。
ただし、フックはアプリをAPIに接続します。これはAPIエンドポイントです。しかし、舞台裏では多くのことが展開されています。これらについてさらに説明します。
APIがアプリの開発を迅速化するのにどのように役立つか
APIは、シームレスで堅牢なアプリケーションを構築するためのよりスマートなツールです。それらがなければ、洗練されたアプリの構築には時間がかかります。
複雑な操作を実行するためにアプリが必要だと想像してみてください。このタイプは、構築に多大な時間と労力を要します。そして、誰かがあなたが望むことを正確に、そしておそらくもっと良くする既製のプログラムを持って現れます。
お金を受け取るためにPayPalアカウントを設定するにはどうすればよいですか
しかし、どうすればこれをアプリに接続できますか?プロバイダーは、これに苦労するかもしれないことに気づき、コードとユーザーをシームレスに統合する接続インターフェイス(API)を作成したと言いました。
そのインターフェース(API)は、コードを含むサーバーに接続します。次に、スクリプトのアクションから関連データをフィードバックします。
もちろん、ソーススクリプト全体に飽き飽きしたくはありません。さらに、最新のAPIのほとんどは、現在、標準化されたREST(Representational State Transfer)テクノロジーに依存しています。これにより、拡張性が高く、統合が容易になります。事前にフォーマットされているため、内部で展開されている内容や、応答や要求の状態について心配する必要はありません。
この記事では、RESTAPIについてこれ以上説明しません。今のところ基本に焦点を当てます。
コードを最初から作成するよりも、コードを彼らのコードに接続することをお勧めします。ただし、これを行うには、提供されているAPIにコードを接続する必要があります。これどうやってやるの?そこで、APIエンドポイントが登場します。
APIエンドポイントとは何ですか?
物事を単純化するために、プロバイダーはAPIへの接続をシームレスにするためにURLを設定します。そのようなURLは APIエンドポイント 。これにより、アプリはAPIを介してサーバーにアクセスし、スクリプトと直接通信できます。
したがって、エンドポイントを取得してコードに貼り付け、それを使用して要求を行い、応答をカスタマイズするだけで、機能します。これはあなた次第です。したがって、APIエンドポイントは、APIを介してアプリをソリューションまたはデータソースにバインドします。
最終的に、APIを提供するプログラムの多くは、さまざまなプログラミング言語で利用できるため、APIの恩恵から誰もが除外されることはありません。
そうすることで、APIを維持する責任はあなたではなく、データまたはソリューションプロバイダーにあることを知って、より速く、より効率的にコーディングすることができます。
したがって、APIエンドポイントは、APIを一方のエッジでリソースサーバーにバインドし、もう一方の端でレシーバーのサーバーに接続する通信フックです。
つまり、使用するソリューションのスクリプト全体が必要ないということです。ただし、APIエンドポイントに接続しないと、コードはコードとの通信を確立できません。
API統合ルール
APIを統合するための厳格なルールはありません。それらはたくさんあり、それぞれに統合ルールがあります。しかし、あなたが期待していることを覚えておいてください 応答 APIとの接続を確立するときはいつでも。
APIエンドポイントを介してリクエストを行う方法は通常、プロバイダー定義のルールに基づいていますが、取得する応答をどのように処理するかは、好みによって異なります。本質的には、アプリのユーザーエクスペリエンスとインターフェースに合わせて、好きなようにひねることができます。
APIにアクセスする前に、オーセンティケーターが必要になる場合もあります。このようなオーセンティケーターは通常、アクセストークンまたはAPIキーとして提供されます。このトークンが認証テストに合格すると、APIはエンドポイントにシグナルを送信して、アプリとプロバイダーのサーバー間の接続を確立します。
APIコンシューマーとして、APIプロバイダーがこれらのパラメーターを使用可能にするため、これらのパラメーターについて心配する必要はありません。優れたAPIには、そのリソースにアクセスして使用する方法もドキュメントに記載されている必要があります。したがって、1つを統合しようとするときは、常にそのことに注意してください。
まとめると、API呼び出しはすべて ヘッダー 、 NS 終点 、 NS リクエスト 、 そしてその 応答 または 体 。
エンドポイントとは何かを説明しましたが、これらの他の用語をさらに細かく分けてみましょう。
ヘッダー
通常、APIに接続する際には、2つの形式のヘッダーを記述する必要があります。 リクエスト そしてその 応答 ヘッダー。
NS リクエストヘッダー API呼び出しのゲートウェイです。リソースにアクセスするためのクライアントのアプローチについて説明します。受け入れ可能な接続タイプ、プロキシ情報、APIから取得するデータタイプ(JSON、XML、またはHTML)などの詳細が記載されている場合があります。
前に説明したように、接続しているAPIのタイプによっては、リクエストヘッダー内にも一意の認証トークンを提供する必要がある場合があります。プロバイダーは通常これを提供します。
NS 応答ヘッダー 一方、は、プロバイダーのサーバーからのデータのアサーションです。プロバイダーの特性に関する情報をアプリに提供します。本質的に、それはあなたのアプリがAPIから来る応答へのアクセスを許可することを確実にします。
APIリクエスト
APIリクエストには通常、URL(Unique Resource Locator)にエンドポイントが含まれています。ハイパーテキスト転送プロトコル(HTTP)を使用して、APIでアクセスしようとしているリソースのアドレスを特定します。最終的に、URLにエンドポイントを含めないと、APIリクエストは完了しません。
Amazonパッケージに配達済みと表示されているが、配達されていない場合の対処方法
API応答
応答とは、APIがアプリからリクエストを受信するたびに返送するものです。リクエストヘッダーから受け取るデータまたはコンテンツタイプに応じて、JSON、XML、またはHTMLにすることができます。
APIから応答を受け取ったら、API呼び出しが成功したと見なすことができます。
APIの使用方法:実用例
これで、APIの基本と、APIを統合するために必要なものがわかりました。サッカー予測APIを接続して統合する方法をご覧ください RapidAPI 以下のPythonを使用します。
これは、JSON応答を返す単純なAPI呼び出しです。また、任意のテキストエディタでコードを記述し、コマンドラインから実行することもできます。
関連している: Pythonスクリプトを実行する方法
ただし、エンドポイント、リクエストヘッダーのコンテンツ、およびレスポンスヘッダーには細心の注意を払ってください。
import requests
endpoint = 'https://football-prediction-api.p.rapidapi.com/api/v2/predictions'
queryparams = {'market':'classic','iso_date':'2021-01-01','federation':'UEFA'}
#Define the request header:
headers = {
'x-rapidapi-key': 'Paste your access key here',
'x-rapidapi-host': 'football-prediction-api.p.rapidapi.com'
}
#Define the response header:
response = requests.request('GET', endpoint, headers=headers, params=queryparams)
#Get the response:
print(response.text)
学習を続ける:IPジオロケーションルックアップにIPStackAPIを使用する方法
を使って場所の現在の温度と湿度を取得するのはどうですか Weatherstack API Pythonで?以下に例を示します。
import requests
endpoint = 'http://api.weatherstack.com/current'
headers = {
'access_key': 'Paste your access key here',
'query': 'California'
}
req = requests.get(endpoint, headers)
res = req.json()
print(u'Current temperature in %s is %d℃' %
(res['location']['name'], res['current']['temperature']))
print(u'Current humidity in %s is %d℃' %
(res['location']['name'], res['current']['humidity']))
統合できるAPIの種類
オープンソースAPIは無料で、誰でも使用できます。内部APIは組織内に存在し、その組織に属するアプリのみがそのリソースを使用できます。
ただし、プロバイダーとパートナーシップ契約を結ぶことで、専用のAPIを選択することもできます。または、複数のAPIを組み合わせてさまざまな問題を解決することもできます。
また、これらのAPIは、オープンソースAPIと内部APIを除いて、数百ドルから数千ドルの価格になる場合があります。
APIを使用してアプリ開発を簡素化する
ご覧のとおり、時間のかかるコードを書く必要はもうありません。複雑な操作を実行するためにアプリが必要な場合は、いつでもそこを検索して、関連するAPIを取得できます。ありがたいことに、それらは今では古い従来のものよりも簡単に統合できます。また、興味があり、詳細を知りたい場合は、手を汚すのに役立つ無料のAPIがたくさんあります。
共有 共有 つぶやき Eメール APIの仕組みとAPIをアプリに統合する方法アプリケーションプログラミングインターフェイス(API)の使用は、すべてのプログラマーが習得するために不可欠なスキルです。
次を読む 関連トピック- プログラミング
- プログラミング
- 火
- 専門用語
- コーディングのヒント
Idowuは、スマートな技術と生産性に情熱を注いでいます。暇なときは、コーディングで遊んだり、退屈したときにチェス盤に切り替えたりしますが、たまに日常から離れることも大好きです。人々に現代の技術の道を示すことへの彼の情熱は、彼がもっと書くように動機づけます。
IdowuOmisolaのその他の記事ニュースレターを購読する
ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。
購読するにはここをクリックしてください