なぜこの記事を執筆しようと思ったのか
こんにちは。デジタルラボのらいちです。
プログラミング言語を学習する中でAPIを知り、いざ調べてみたものの難しくて挫折しそうになっている方もいるのではないでしょうか。
私もプログラミング言語を学んでいる最中にAPIに出会い、調べたところ、ほとんど理解できずに挫折しかけたことがあります。
その際、「そもそもこんな難しいことをしてまでプログラミング言語を学ぶ意味があるのか?」とも思ってしまうほどに気が滅入ってしまいました。
そこで本記事では、WEBフリーランスを目指す方に同じ経験をしてほしくないため、APIの基礎知識や使い方をわかりやすく解説していきます。
また、APIのニーズやAPIとプログラミング言語の関係から、そもそものAPIやプログラミング言語を学ぶことの重要性もお伝えしていきます。
APIの基礎知識

APIの基礎知識について、下記3つの内容で解説していきます。

諦めさせないよう、できるかぎりわかりやすく説明しております。
そもそもAPIとは
APIは「Application Programming Interface」の頭文字で、ソフトウェア間でデータや処理をやりとりするためのインターフェース(決まりごと)です。
APIによって、異なるプログラミング言語で開発されたシステム同士の連携やデータの受け渡し、既存サービスの機能を扱えるようになります。



WordPressで作成された別サイトの記事を受け取り、システム側で特定の単語を含む記事のみに絞り込んで表示するなどです。
こうしたAPIがあることにより、一から機能を作る手間や、よく使われているサービスと連携するなどでより便利なシステムを提供可能になります。
APIの仕組み


APIはクライアントがエンドポイントに対してリクエストを送り、リクエストの内容をもとにサーバーが処理し、レスポンスによって処理の結果を提供するという仕組みです。
用語 | 説明 |
---|---|
クライアント | APIを使用する側のシステムやアプリのこと。いわゆる利用者。 |
エンドポイント | クライアントがアクセスするための特定のURLのこと。窓口となる場所。 |
リクエスト | クライアントがサーバーに対しておくる要求(取得、追加、更新、削除など)のこと。 |
サーバー | APIを提供する側のサーバー(システム)のこと。リクエストをもとに処理をする。 |
レスポンス | サーバーからクライアントに送られる応答(取得したデータや、処理の結果)のこと。 |
フードコートで例えると、お客さん(クライアント)が店の注文口(エンドポイント)に対して注文(リクエスト)し、店(サーバー)が料理(結果)を渡すという流れです。



処理の結果には、希望のデータ受け取り以外にも、データの追加や更新、削除ができたかどうかの報告などがあります。
代表的なAPI
APIにはさまざまなものがありますが、代表的な例として以下の3つが挙げられます。
- YouTube Data API
Youtubeの動画やチャンネル、プレイリストのデータを取得、管理できるAPI - OpenWeatherMap API
世界中の天気データを取得できるAPI - WordPress REST API
WordPressの記事の取得や更新・削除ができるAPI
APIという言葉は技術者たちの間で知られますが、技術自体は身近なアプリやWebサービスでなど多くの場面で使用されています。



実はXのbotや分析ツール、よくある「Googleアカウントでログイン」もapiで実装されたものです。
APIの使い方





APIの基礎知識について解説したところで、開発における具体的なAPIの使い方を解説していきます。
APIの使用手順
実際の開発でのAPIの使い方については、以下の5つの手順になります。
APIを提供するシステムやサイトから、APIへのアクセスを許可してもらうためのAPIキーを取得します。
HTTPメソッド(GETやPOSTなど)やエンドポイントURL、その他APIごとに必要な情報を組み込みこみ、リクエストを作成します。
作成したAPIリクエストを、APIを提供するサーバーへ送信します。
APIサーバーからのレスポンスを受け取り、受け取ったデータを解析して必要な情報を取り出します。
取得したデータをシステムの処理に使用したり、表示を行ったりします。
上記手順をコードに落とし込み、自身が開発しているシステムに組み込むことで、APIを使ったデータのやりとりや連携が可能です。



基本的に特定のプログラミング言語に依存しないため、開発中のシステムと同じプログラミング言語で作成できます。
サンプルコード
よりAPIの使い方をイメージしていただくため、気象情報を取得できるOpenWeatherMap APIを例に、PHPのサンプルコードを記載します。
<?php
// 1.APIキーの設定(実際には取得したキーを使用します)
$apiKey = "YOUR_API_KEY";
$city = "Tokyo";
// 2.APIリクエストの作成
$endpoint = "https://api.openweathermap.org/data/2.5/weather";
$url = $endpoint . "?q=" . urlencode($city) . "&appid=" . $apiKey . "&units=metric";
// 3.GETリクエストを送信
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//4.レスポンスの受信
$response = curl_exec($ch);
curl_close($ch);
//5.取得したデータの表示
if ($response) {
$data = json_decode($response, true);
if ($data && $data['cod'] == 200) {
echo "現在の天気: " . $data['weather'][0]['description'] . "<br>";
echo "気温: " . $data['main']['temp'] . "°C<br>";
} else {
echo "天気情報の取得に失敗しました: " . $data['message'] . "<br>";
}
} else {
echo "APIリクエストに失敗しました。";
}
?>
上記のコードを実行することで、処理が成功すれば現在の天気と気温を、失敗すれば失敗メッセージを画面に表示されます。



複雑なコードをイメージしがちですが、簡単な処理であれば短いコードで実行可能です。
APIへのニーズについて





APIは世の中において高いニーズがあります。こうしたニーズについて、以下の2点から説明します。
APIの実用性
APIには以下の5つの観点から実用性があり、世の中のニーズに結び付いています。
- ソフトウェアの統合
異なるシステムやアプリを統合し、システム同士の連携やデータのやりとりができる - 効率的な開発
既存システムやアプリにより、機能の開発の手間を省き、開発スピードを大幅に向上できる - 拡張性
別のシステムの機能を使用できることから、システムの機能を簡単に拡張できる - セキュリティ向上
外部の安全な認証システムにより、システムのセキュリティをより高めることができる - データのやりとり
異なるシステム間のデータの交換や処理ができることにより、作業プロセスや操作の効率を高めることができる
こうした実用性から、APIは開発において「単純に便利なもの」ではなく、高度な処理や便利なシステムの開発に「不可欠な存在」となっています。



スキルの面でも、ちょっとしたサイトやシステムが作れる程度のフリーランスが多い中、APIを使えることで頭一つ抜けることが可能です。
APIの活用事例
Webサービスやアプリをより便利なものにする、APIの活用事例を3つ挙げます。
- Google Maps APIによる店舗検索機能
飲食店や旅行アプリの店舗検索機能に使用。地図上に店舗の位置を表示したり、ルート案内に役立っている。 - Stripe APIによる決済機能
学習サービスや動画配信サービスの支払いにて使用。高いセキュリティを実現しつつ、自動引き落としやカード決済に役立っている。 - XやFacebook等のAPIによるソーシャルログイン機能
Webサービスやアプリに使用。新規登録の簡略化や迅速なログインに役立っている。
これらの事例は身近で便利な機能であり、よく知られたサービスやアプリにおいては標準で搭載されていたりします。



他にも身近に使用されているAPIはたくさんあり、サービス内容によっては搭載されていないと不便に感じるほどのものもあります。
また、こうしたAPIを扱えることで、自身に付加価値を高められるだけでなく、フリーランスとして提案内容や取り扱いサービスも充実できます。
APIとプログラミング言語の関係


プログラミング言語学習を進めていく上で、必ずといって良いほどAPIがでてくるのは、主に3つの関係があるためです。
- APIの呼び出しにプログラミング言語は必須
APIの呼び出しや操作には、プログラミング言語のコードが必要不可欠 - APIがプログラミング言語の機能を拡張
言語の機能が強化され、外部サービスとの連携や機能が使えるようにする - APIでプログラミング言語での開発を効率化
他言語サービスなどの機能を再利用し、開発スピードを高める
APIとプログラミング言語を一緒に学ぶことで、より高度なことができるようになり、クライアントの要望に応えられるようになります。



習得できれば他のWEBフリーランスよりも優位に立てるため、ぜひ学習しましょう。
まとめ:プログラミング言語を学ぶ上でかかせないAPIとは?APIの基礎と使い方について解説!
本記事を読んだことにより、APIについてのイメージやAPIとプログラミングを学ぶことの重要性が理解できたかと思います。
項目 | 説明 |
---|---|
APIとは | ソフトウェア間でデータや処理をやりとりするためのインターフェース(決まりごと)。 |
APIの仕組み | 1.クライアントがエンドポイントへリクエストを送る 2.リクエストをもとにサーバーが処理 3.サーバーがレスポンスで処理を返す |
APIの使用手順 | 1.APIキーの取得 2.APIリクエストの作成 3.APIリクエストの送信 4.レスポンスの受信 5.レスポンスデータの利用 |
APIとプログラミング言語の関係 | ・APIの呼び出しにプログラミング言語は必須 ・APIがプログラミング言語の機能を拡張 ・APIでプログラミング言語での開発を効率化 |



APIとプログラミング言語をしっかり学ぶことで、他のWebフリーランスよりもスキル面や差別化できるなどで優位になるため、ぜひ学習しましょう。