ゲーム・アニメなどエンターテイメントのプロモーション・Web制作に
関わる人に少しプラスになる情報を発信するメディア

WEB

最近よく聞くAPIとは?何ができるの?簡単にわかりやすく具体例を用いて説明!

目次

  1. APIとは?なんの略?何ができるの?
  2. APIは「Application Programming Interface」!
  3. APIはアプリケーション同士をつなぐ仕組み!
  4. 実際のAPIの使い方は?
  5. APIを使用するためのAPIキーを取得しよう!
  6. APIで取得するためのURL、エンドポイント!
  7. APIにお願いをするAPIリクエスト!
  8. APIからデータを受け取るAPIレスポンス!
  9. APIからデータを受け取って加工してみよう!
  10. まとめ

いきなりですがAPIとはご存知ですか?
WEB関係のお仕事をされていると最近様々な所で耳にすることも多くなっていると思います。
例えば最近話題の「ChatGPT」

「ChatGPT」にも「ChatGPT API」が存在します。
他にも「YouTube Data API」だったり「Google Sheets API」、「Slack API」そして最近色々とあった「Twitter API」(Xに代わりましたがAPIはまだTwitterのママなんですね)

などなど様々なサービスにAPIが存在します。

ではこのAPIとは一体どういうものなのでしょうか?
今回は非エンジニアの方にもわかりやすいようにAPIについて説明をしていきます!

APIとは?なんの略?何ができるの?

APIは「Application Programming Interface」!

まず最初に先程から連呼しているAPI
これはある文書の略語で、元の文章は「Application Programming Interface」(Application Programming Interface)といいます!
無理やり日本語に訳すと「アプリケーションプログラムの接点」となります。
アプリケーションプログラムはまぁなんとなくわかると思いますが接点とは…?
次はこの接点の意味合いについて説明をしていきます!

APIはアプリケーション同士をつなぐ仕組み!

ではAPIはどのような役割を持つのでしょうか?
APIは異なるソフトウェアやアプリケーション同士をつなぐ仕組みのことをあらわしています!
どういうことか具体例でお話していきます。

ある企業のWeb担当者のあなたは新製品に関するWebサイトを作成をまかされました。
その新製品ではSNSを使用したプロモーションを続々と打ち出しており、どうにかWebサイトでもSNSでのプロモーションを伝えていきたいと考えています。
でも都度SNSの投稿をWebサイトにも反映するには費用も手間も大きくかかってしまいます…
いっそのことそのSNS自体をサイトに組み込めたらいいのに…

一方その頃、とあるSNSの運用のAさんはある問題に直面していました。
それはサービスの周知をもっと行い、かつ利用者のデータも集めたいとの上司からのお願いでした。
でも日々の仕事で手一杯のAさんはそこまで手が回りません。
なにかいい手立てはないものか….

そんなときに活躍するのがAPIです!
APIを使用すると、そのSNSの要素をサイト内に表示するためにデータを使用したり、そのサイト上からSNSに投稿できたりと様々なことができるようになります!
これがAPIのソフトウェアやアプリケーション同士をつなぐ仕組みの具体的なイメージです。

ただし上記の使用例ではそのサービスにAPIが用意されている必要があります。
そしてサービス毎にAPIで用意されている機能も違うので上のような具体例が使えないこともあります。

またここから先の話はサービス毎に細かな仕様が違っていたりするので実際に運用に組み込む場合は組み込む場合は、サービス毎のAPIの利用規約や仕様書をよく読んでから使用するようにしてください。

実際のAPIの使い方は?

APIを使用するためのAPIキーを取得しよう!

ではここからはどうやってAPIを使用するかをお話していきます!

先程APIはソフトウェアやアプリケーション同士をつなぐ仕組みとして、そのソフトウェアなどのデータや機能を使うことができると説明しました。
大変便利なAPIですが、悪意のある人間がそのデータを不正に取得して悪用したり、短時間で繰り返しAPIを使用してソフトウェアなどのサーバーに過度な負荷をかけてソフトウェア自体を機能不全にさせるということもできてしまいます。
上記のような自体を防ぐためにAPIにはAPIキーというものが存在していることがあります。
APIキーはそのソフトウェアの開発者アカウントとして登録したり、運営している会社などに申請をして取得するのが一般的です。 具体的にAPIキーには以下のような機能があります。

認証機能

APIキーはユーザーがAPIを利用する際に、そのユーザーが正当なユーザーであることを確認するための手段として機能することができます。
APIの提供者はユーザーが有効なAPIキーを持っているかどうかを検証し、アクセスを許可または拒否します。

アクセス制御

APIキーには、ユーザーが利用できる機能やエンドポイントに対するアクセス権を指定する機能があります。
これにより、異なるユーザーに異なるレベルのアクセス権を付与できます。

利用制限

APIキーを使用することで、API提供者はユーザーごとに利用制限を設定できます。
例えば、一定の時間内に許可されるリクエストの数やデータの量を制限することができます。
これにより、過度な利用や不正なアクセスを防ぎます。

追跡とモニタリング

APIキーを使用することで、API提供者はユーザーのアクティビティを追跡し、利用状況をモニタリングできます。
これにより、不審なアクティビティや問題の追跡が容易になります。

上記な機能のおかげて、APIキーはAPIの利用を安全かつ効果的に管理するための「鍵」として機能します。
これにより、API提供者はセキュリティを確保し、クライアントは正当な手段でAPIにアクセスできるようになります!

APIで取得するためのURL、エンドポイント!

APIを使うための下準備、APIキーは準備ができました。
では実際にAPIを使うにはどうすればいいのでしょうか?
APIを使用するには、API毎に用意がされているエンドポイントというものを使用していきます。
さきほどのAPIキーの話のなかでもさらっと話にでてきました。
簡単に説明するとエンドポイントは特定のデーターやサービスにアクセスするためのURLやURIです。
アプリケーションにより形式はさまざまですが、下記のURLにアクセスするととあるデータが取得できます。
https://pokeapi.co/api/v2/pokemon/25
上記のデータが一体なんのデータなのかは後で説明しますね。

APIにお願いをするAPIリクエスト!

エンドポイントにアクセスするとリクエストがAPIに送られます。
このリクエストには先程のAPIキーの情報や要求の内容やパラメータを付与して送信しています。
(ちなみにこの上記のAPIにはAPIキーが必要ないのでのエンドポイントにはAPIリクエストにはAPIキーは含まれていないです。)

このことをAPIリクエストといいます。
APIリクエストは通常、HTTPメソッドを使用して行われます。
HTTPメソッドには次のようなものがあります。

GET

データの取得に使用されます。

POST

データの送信や新しいデータの作成に使用されます。

PUT/PATCH

既存のデータの更新に使用されます。

DELETE

データの削除に使用されます。

APIからデータを受け取るAPIレスポンス!

さて、これでAPIにはHTTPメソッドを使用してAPIリクエストが送信されました。
APIでは受け取ったリクエストを受け取り、適切に処理した後、レスポンスとしてデータや情報を返します。 これにより、ユーザーは必要な情報を取得できます。
このとき受け取る情報は通常、データの交換にJSONやXMLなどのフォーマットを使用しています。
これにより、異なるアプリケーション間でもデータを共有しやすくなります。
さきほどのURLにアクセスしたときも、長々とさまざまなことが書いてあったと思います。
これも上記のようなフォーマット(JSON)を使用しています。

APIからデータを受け取って加工してみよう!

さて、これでAPIをつかって情報を受け取るという流れが理解できたと思います!

そして先程のURLを使用して下記のようなものを作ってみました!

名前 : ピカチュウ

みてもらったらわかると思いますがポケモンを探せます!

先程のURLは「PokéAPI」と呼ばれるポケモンデータをまとめたAPIでした!

「PokéAPI」について今回説明した要点で改めてまとめてみます。

APIキー : なし
エンドポイント : https://pokeapi.co/api/v2/pokemon/{ID}
データ形式 : JSON
となっています。

上記のポケモンを探すでは、ボタンを押すと1~1017の乱数を生成します。
生成された数字をエンドポイントの{ID}の箇所に入れてアクセスすると…
対応した番号のポケモンのデータが表示されるというわけです!
図で流れを説明すると…


このように実際に使ってみると流れがイメージしやすいかもしれませんね。

まとめ

APIについて簡単に説明してきました!
最後に簡単に紹介した「PokéAPI」だけでなく、世界中にはありとあらゆるAPIが存在します。
次回はどのようなAPIがあるのか、どんなことができるのかをお話できればなと思います!
ENTACLGRAPHICXXXではゲーム・アニメ系のエンタメ系サイト制作を中心に様々なクリエイティブを制作しています。 ENTACLGRAPHICXXXオフィシャルサイト
サイトに掲載されていない実績も数多くございます。
実績のお問い合わせ等はこちらから

この記事を書いた人

三ツ石 健太

プログラマー

前の記事

Webサイトで効果的に使用されているイラストのテイストとその効果

次の記事

シリーズ連載:5分でわかる「eスポーツ」-観戦編-

Recommend

Projects