Web APIとは?わかりやすく解説する!

Web技術
スポンサーリンク

Web APIってなに?

どんなメリットがあるの?

わかりやすく教えて欲しい。

こういった疑問にこたえます。

この記事を読めば
  • Web APIとはなにかわかる
  • WebAPIの例がわかる
  • PHPでWebAPIを利用する方法がわかる

エンジニアの僕がわかりやすく解説します。

Web APIとは?

Web APIとは
Web API

Web API(Application Program Interface)とは、プログラムがサービスを利用する窓口のことを言います。

Webではクライアントがデータを送信し、サーバがそれを処理し、結果を返すという流れでやりとりが行われます。

Web APIを利用すると、ユーザがWebブラウザから操作しなくてもプログラムが直接サービスを利用することが可能になります。

クライアントとなるプログラムがデータをWebAPIにデータを送信し、それを受け取ったWebサーバが処理結果をプログラムに返します。

Webサーバからの処理結果を受け取ったプログラムはそのデータを使って処理を実行し、結果をクライアントに返します。

Web APIとのデータのやりとりにはXMLやJSONなど構造化されたデータを使用するため、プログラムで扱いやすく、データ量も少なくて済みます。

Web APIの例

Web APIを使えばどんなことができるか?というところを説明します。

例えば、位置情報を送信すればその場所の天気を返してくれるものや、ログイン情報と文章を送信すれば、SNSにその文章が投稿されるようなものなどがあります。

テーマパークのサイトを作成しているとします。
周辺の天気予報をサイトに表示したい場合、天気予報のWeb APIを利用することによって周辺の天気予報の情報を取得し、サイトに表示させることが可能になります。

Web APIが用意されていることで独自に天気予報サービスを作らなくて済み、開発コストを減らすことができます。

実際に公開されているWeb APIの例には次のようなものがあります。

Web APIの例
  • Google Maps Platform
  • Rakuten Developers
  • ぐるなびWebサービス

PHPでWeb APIを使ってみる

PHPでWeb APIを使う例を見てみましょう。

Qiita APIを使って記事一覧を取得するということをやってみます。

コードはこんな感じ。

<?php

$url = "https://qiita.com/api/v2/items";

// cURLセッションを初期化
$ch = curl_init();

// オプションを設定
curl_setopt($ch, CURLOPT_URL, $url); // 取得するURLを指定
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 実行結果を文字列で返す
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // サーバー証明書の検証を行わない

// URLの情報を取得
$response =  curl_exec($ch);

// 取得結果を表示
$result = json_decode($response, true);

var_dump($result);

// セッションを終了
curl_close($ch);

このプログラムを実行すると、$responseにQiitaのWeb APIで取得したデータが入ります。

PHPで扱うためのJSON形式の文字列をデコードしています。

データが取得できればあとはそれを利用することが可能です。

Web APIとは?まとめ

解説の内容をまとめます。

  • Web APIはプログラムがサービスを利用するための窓口のこと
  • Web APIのURLへデータを送信すると処理結果を返してくれる
  • Web APIを使えば開発コストを削減できる

さまざまなWeb APIがありますので、目的に合うものを探してみてください。

コメント

タイトルとURLをコピーしました