REST APIとは何ですか?アプリやウェブサイトのデータを取得するにはどうすればよいですか?

頭字語APIは、アプリケーションプログラミングインターフェイスの略です。 APIは、2つのソフトウェアアプリケーション間の通信を容易にする一連の関数です。基本的に、 APIは、あるソフトウェアアプリケーションから別のソフトウェアアプリケーションへの要求を受け取り、関連する応答とともに開始ソフトウェアに戻ります。

RESTは、 Representational State Transferを意味し、クライアントサーバーアプリケーションの設計に使用されるアーキテクチャです。 Rest APIを使用すると、データベースに保存されている要求されたデータの表現を取得できます。 REST APIもステートレスです。つまり、サーバーはクライアントからのリクエスト間でデータを保存しません。

Rest APIの例とその仕組みの詳細な説明を探している場合は、読み続けてください。

REST APIはどのように機能しますか?

REST APIは、特定のリソースを識別する文字列であるURI(Uniform Resource Identifier)を介してデータにアクセスします。 REST APIで使用されるURIのタイプは、URI(Uniform Resource Locator)です。

リソースにアクセスし、操作し、REST APIには、次の要求動詞を使用しています。

  • Get(これはデータベースからデータを取得するために使用されます)
  • 投稿(データベースに新しいデータを追加)
  • 置く(データベースのデータを更新する)
  • 削除(データベースからデータを削除)

(ゼロから構築するのではなく)Web上で利用可能な多くのREST APIの1つのサービスを利用したい場合は、 REST APIのgetリクエスト動詞にのみアクセスできます(URLを介して)。これらのURLにはいくつかのコンポーネントがありますが、知っておく必要があるのはAPIキーとクエリです。

APIキーは一意の識別子であり、 RESTAPIプラットフォームに登録すると受け取ります。クエリは通常、検索をパーソナライズするために使用される単純な方程式です。したがって、ニューヨーク市の現在の天気を取得したい場合、URLのクエリセクションは「city = NewYork」になります。

getリクエストを実行すると、ステータスコードと本文を含むレスポンスが返されます。リクエストが成功した場合、レスポンスの本文には、ウェブサイトまたはアプリケーションで使用するデータが含まれます。

JavaScriptアプリケーションを使用してさまざまなRESTAPIからデータを取得する

この単純なアプリケーションをビルドするには、コンピューターにインストールする必要のある他の2つのソフトウェアアプリケーションがあります。NodeJSとnpmです。 UbuntuにNodeJSとnpmをインストールする方法と、Windowsでこれを行う方法についての記事を書いたので、詳細を知りたい場合はそれらをチェックしてください。

上記のアプリケーションをコンピューターにインストールした後、次の手順を実行する必要があります。

  1. IDEを開き、ターミナルを起動します。
  2. cdコマンドを使用して、JavaScriptアプリケーションファイルを含むフォルダーに移動します。
  3. 次のコード行でnpmを初期化します。
 npm init -y

このアプリケーションの機能で重要な役割を果たすnpmモジュールが1つあります。これは、NodeJSのHTTPリクエストライブラリであるgotモジュールです。次のコード行は、取得したライブラリの最新バージョンをアプリケーションファイルにインストールします。

 npm install got@latest

これで、先に進んでアプリケーションを構築できます。

Gotライブラリを使用してアプリケーションを構築する

//import the got library into your application
const got = require('got');

//fetch data from a specific REST API and prints its body to the terminal
(async () => {
try {

const response = await got(URL);
const data = JSON.parse(response.body);
console.log(data);
} catch (error) {
console.log(error.data);
}
})();

上記のアプリケーションは、Web上の任意のRESTAPIからデータを取得します。ただし、最初に関連するリソースのURLを指定する必要があります。

Weather RESTAPIからデータを取得する

Weatherbit.io APIは、最も人気のある天気RESTAPIの1つです。このAPIのURLを上記の単純なJavaScriptアプリケーションに挿入すると、アプリが動作可能になります。

Weatherbit.io RESTAPIの使用

//import the got library into your application
const got = require('got');

//fetch data from a specific REST API and prints its body to the terminal
(async () => {
try {
const URL = 'https://api.weatherbit.io/v2.0/current?lat=40.7128&lon=-74.0060&key=API_KEY';
const response = await got(URL);
const data = JSON.parse(response.body);
console.log(data);
} catch (error) {
console.log(error.data);
}
})();

Weatherbit.io APIのURLは今、成功したアプリケーションに挿入されています。ただし、アプリケーションを実行するために調整する必要があるURLの1つの側面があります。これは「API_KEY」というラベルの付いたセクションであり、このキーは、無料アカウントに登録したときにWeatherbit.ioから受け取るものです。

上記のコードのクエリセクションを調整するオプションもあります。アプリケーションは現在、緯度40.7128、経度-74.0060の天気を照会していますが、新しい座標を挿入できます。上記のクエリが推奨されるアプローチですが、都市名を使用して場所の天気を検索できます。

Weatherbit.io REST APIの使用方法の詳細については、ここをクリックしてください

上記の関連セクションにAPIキーを挿入すると、JavaScriptファイルを実行できるようになります。アプリケーションは、ターミナルで次の出力のようなものを提供します。

Weatherbit.io RESTAPI応答の例

data: [
{
rh: 53,
pod: 'd',
lon: -74.01,
pres: 1005.9,
timezone: 'America/New_York',
ob_time: '2021-09-27 14:50',
country_code: 'US',
clouds: 25,
ts: 1632754200,
solar_rad: 652.8,
state_code: 'NY',
city_name: 'New York City',
wind_spd: 5.66,
wind_cdir_full: 'west-southwest',
wind_cdir: 'WSW',
slp: 1015.9,
vis: 5,
h_angle: -30,
sunset: '22:44',
dni: 851.72,
dewpt: 12,
snow: 0,
uv: 5.68859,
precip: 0,
wind_dir: 240,
sunrise: '10:49',
ghi: 657.55,
dhi: 106.79,
aqi: 53,
lat: 40.71,
weather: [Object],
datetime: '2021-09-27:14',
temp: 22,
station: 'KJRB',
elev_angle: 40.89,
app_temp: 21.7
}
],
count: 1
}

応答で返されるデータのより重要な側面には、次のものがあります。

  • City_name (指定された経度と緯度での都市の名前を返します)。
  • 日時(現在のサイクル時間をYYYY-MM-DD:HH形式で返します)。
  • 天気(天気アイコン、天気コード、天気のテキスト説明を含むオブジェクトを返します)。

ニュースRESTAPIからデータを取得する

このセクションで使用されるニュースAPIはNewsdata.ioです。 Web上のすべてのRESTAPIと同様に、世界中から最新ニュースを取得するために使用できるいくつかのクエリオプションを提供します。 Newsdata.io APIを使用すると、特定の国から、または特定の言語、カテゴリなどでニュースを取得できます。

JavaScriptアプリケーションを使用すると、ニュースRESTAPIからデータを取得できます。上記のアプリケーションのURLを次のURLに置き換えるだけです。

 'https://newsdata.io/api/1/news?apikey=YOUR_API_KEY&country=us'

次のステップは、上記のURLの「YOUR_API_KEY」セクションを、Newsdata.ioに登録した後に受け取るAPIキーに置き換えることです。上記のURLは、アメリカからの最新ニュースを返します。ただし、日本からのニュースが必要な場合は、「contry = us」クエリを「country = jp」に置き換えるだけです。

Newsdata.io REST APIの使用方法の詳細については、ここをクリックしてください

関連:あなたのウェブサイトやアプリにニュースの見出しを追加したいですか? MediastackAPIが必要です

Newsdata.io RESTAPI応答の例

{
title: 'Driver Killed By His Own Car Door While Waiting In Line At Fast-Food Drive-Thru, Providing Cautionary Insights For AI Self-Driving Cars',
link: 'https://www.forbes.com/sites/lanceeliot/2021/09/27/driver-killed-by-his-own-car-door-while-waiting-in-line-at-fast-food-drive-thru-providing-cautionary-insights-for-ai-self-driving-cars/',
keywords: [Array],
creator: [Array],
video_URL: null,
description: "Sad news story about a driver that was killed by his own car door (while in a drive-thru), provides cautionary insights about
the advent of AI-based self-driving cars. Here's the insider look.",
content: "Sad news story about a driver that was killed by his own car door (while in a drive-thru), provides cautionary insights about the
advent of AI-based self-driving cars. Here's the insider look.",
pubDate: '2021-09-27 15:30:00',
image_URL: 'https://thumbor.forbes.com/thumbor/fit-in/0x0/filters%3Aformat%28jpg%29/https://specials-images.forbesimg.com/imageserve/614272b9f18bec6882652695/0x0.jpg?cropX1=23&cropX2=2455&cropY1=23&cropY2=1538',
source_id: 'forbes'
}

Pythonアプリケーションを使用してさまざまなRESTAPIからデータを取得する

使い慣れたプログラミング言語を使用して、Webサイトまたはアプリケーションのデータを取得することができます。したがって、JavaScriptを使用したくない場合は、Pythonアプリケーションでも同じ結果を得ることができます。

関連: PythonでAPIを構築する方法:人気のあるフレームワーク

あなたがする必要があるのは、pip環境を使用してrequestsHTTPpythonモジュールをインストールすることです。次に、次のコードを使用してPythonアプリケーションをビルドできます。

 # import the requests library
import requests
# grabbing data using the requests library
URL = 'https://newsdata.io/api/1/sources?apikey=YOUR_API_KEY=us'
res = requests.get(URL)
json = res.json()
for key in json:
print(key, json[key])

前の例と同様に、関連するセクションにAPIキーを挿入する必要があります。その後、JavaScriptアプリケーションが返すのと同じデータを受け取ります。

あなたのウェブサイトやアプリケーションのデータを取得するのはとても簡単です

これで、ソフトウェアアプリケーションのデータを取得するために必要なツールが手に入りました。 RESTアーキテクチャは緩い結合を促進することを覚えておくことが重要です。つまり、任意のプログラミング言語を使用して、Web上の任意のRESTAPIからデータを取得できます。

これで、 Rest APIの使用方法がわかりました。試してみませんか?