Web APIとは?
Web APIとはなにかについてまずは解説します。他のAPIとの違いやWeb APIの種類についても説明します。
Web APIはHTTP通信によってやり取りするAPI
Web APIはHTTP通信によってやり取りするAPIのことです。HTTPとはWebサーバと通信する際に使う通信プロトコルのことです。Web APIを使う際はインターネット経由でWebブラウザを通じてアクセスする必要があります。
多くの企業が自社の認知度アップなどのためにWeb APIを公開しています。Web APIは個人でも活用できるものが多く、登録することで自分のアプリに機能を追加することが可能です。
Web APIでできること
Web APIでできることは多岐にわたりますが、中でも代表的なのがSNSログインです。ECサイトなどのWebアプリを活用する場合、ユーザーはアカウント登録を行う必要がありますが、アカウント登録が面倒で利用を止めてしまう方も多くいます。SNSログインを導入すると、アカウント登録しなくてもSNSアカウントを利用してログインすることが可能です。
ほかにも、Web API経由で取得した情報を商品分析に利用したり効果検証を行ったりすることができます。他社サイトから情報を取得する場合スクレイピングを行う方法もありますが、Web APIが用意されているならスクレイピングを行うプログラムも必要ありません。
Web APIとAPIの違い
APIはApplication Programming Interfaceの略であり、プログラムの一部機能を外部のプログラムから利用できるようにした仕組み全般を指します。Web APIはそのなかでもHTTP通信によってやり取りするもののことです。Web APIはネット環境さえあれば、プログラミング言語が違っても通信できる点がメリットです。
Web APIの種類
Web APIとプログラム間で通信を行うには通信プロトコル(規約)に従う必要があり、通信プロトコルによってWeb APIの種類は別れています。Web APIには次の2つの種類があります。
SOAP API
SOAPはSimple Object Access Protocolの略でHTTPの呼び出しと応答にXMLを使う通信プロトコルのことです。拡張性の高さなどに強みがあるAPIです。
REST API
RESTはRepresentational State Transferの略であり、SOAPよりも新しい通信プロトコルのことです。軽量で使いやすいと言われており、最近主流で使われているAPIです。
REST APIは「提供するリソースはURLで表現できるようにする」「セッション管理などせず、現在の状態ではなくあくまで入力内容によって出力を決定する」などルールが細かく決められており、利用者によって使いやすいAPIとなっています。
Web APIを使うメリット
続いて、Web APIを使うメリットについて解説します。Web API導入のメリットを知ることで初めてWeb APIを使いこなせるようになるでしょう。
Webサービスの利便性を上げられる
Web APIを使うことでWebサービスの利便性を上げることが可能です。最近は似たようなWebサービスが増え、ユーザーもWebサービスを日常的に使うことが増えました。そのため、ユーザーのWebサービスの水準が上がっている傾向があります。
ユーザーを満足させるWebサービスを作るには、他社サービスにはない多くの機能を追加する必要があります。Web APIを使うことで、Webサービスに新しい機能を追加することができ、Webサービスの利便性を向上させることが可能です。
低コストで機能を追加できる
Web APIは低コストで機能を追加できるのもメリットです。Web APIを使わなくても、自分でWebサービスに機能を追加することはできますが、1からプログラムを組むのは相応のコストを必要とします。また、プログラムを組むだけでなくテストも繰り返さなくてはいけません。
Web APIを活用すればすでに完成された外部のプログラムを利用できます。こちらで用意しなくてはいけないのは、Web APIと通信するためのプログラムのみなので、開発コストを大幅に削減することが可能です。
ユーザー層を広げられる
Web APIを上手く活用することでユーザー層を広げられるメリットもあります。たとえば、ログインSNSを導入することでそのSNSを日常的に活用しているユーザーを取り込める可能性があります。
また、決済APIを活用し自社サービスにさまざまな決済手段を追加すれば、クレジットカードを持っていないユーザーも使えるようになります。ユーザー層を広げることができれば商品売上にもつながるため、Web APIを活用しないことで機会損失している可能性もあるでしょう。
セキュリティ面の向上
自社で会員登録やログイン機能を実装する場合、セキュリティ面を考慮したうえで実装しないといけません。こういった機能を実装するには、ユーザーの個人情報が格納されたデータベースにアクセスする必要があります。ユーザーがデータベースに不正アクセスし、情報を抜き出すことは防がないといけません。
SNSログインならセキュリティ対策をサービス提供企業に任せることが可能です。そのためセキュリティ面の心配が減るのもメリットと言えるでしょう。
Web APIを使うデメリット
続いて、Web APIを使うデメリットについて解説します。状況によってはWeb APIを使わない方が良い場合もあるので注意しましょう。
API連携先に依存してしまう
Web APIを使うと、API提供企業に依存してしまう可能性があります。提供企業がサービスを停止すると、Web APIを利用したログインや決済機能などが使えなくなってしまいます。また、提供企業がメンテナンスなどを行う場合もその期間サービスが使えなくなるため、あらかじめユーザーに告知しないといけません。
また、Web APIの仕様が変更されると、自社のプログラムもそれに対応しないといけない可能性があるでしょう。このように、API連携先に依存してしまうのはデメリットでもあります。
不具合時に自社で対応できないことも
Web APIに障害などが発生した場合も利用ができなくなってしまいます。不具合発生時は自社で対応することができず、提供企業の対応を待たなくてはいけません。このような障害が発生した際に企業としてどのような対応を取るかも、あらかじめ検討しておく必要があります。また、不具合が多いWeb APIは利用を避けるなどの措置を取る必要もあるでしょう。
Web APIの使い方
最後に、Web APIの使い方について解説します。Web APIの使い方はサービスによって異なるため詳しくは各サイトを参考にする必要がありますが、基本的な利用の流れは共通していることが多いです。
利用したいサービスに登録する
まずはWeb APIを利用したいサービスにアカウント登録を行う必要があります。アカウント登録では、名前やメールアドレス、自社サービスのURLなどを入力する必要がある場合が多いです。無料で使えるため、クレジットカード登録などは基本不要になります。海外サービスの場合アカウント登録画面が英語で書かれているため、日本語で登録方法を解説しているサイトなどを参考にしながら処理を行いましょう。
APIキーなどを取得する
Web APIを活用するには、事前にAPIキーやシークレットキーなどを設定する必要があります。各Web APIの仕様書に従ってAPIキーなどを取得します。APIキーはランダムに生成された文字列であり、利用者ごとに別の文字列が使われています。
APIキーは外部に漏洩しないように厳重に管理する必要があります。漏洩すると、APIキーの情報から会社の機密事項が取り出されてしまう可能性もあるためです。
APIキーなどをアプリに設定する
続いて、APIキーなどを自分で開発しているアプリに設定します。APIキーは通信を行うプログラムに直接貼り付ける方法でも利用は可能です。しかし、コピーミスや漏洩を防ぐためにAPIキーは別ファイルなどで管理するのが良いでしょう。
実際にAPIを叩く
最後に、実際に自分のプログラムからWeb APIを利用してみます。Web APIにアクセスして情報を受け取ることを「APIを叩く」と表現します。Web APIの仕様書にはサンプルコードが用意されていることもあるので、まずはサンプルコードをそのまま実行してみましょう。
Web APIを叩くことに成功したら、後はWeb APIの各コマンドについてリファレンスを見ながら理解していきます。また、Web APIの処理結果はXMLなどで返ってくるので、データを整形するためのプログラムも用意する必要があります。
Web APIを活用することでWebサービスに新機能を追加できる
本記事ではWeb APIとはなにかについて解説しました。Web APIの種類やメリット・デメリットなどがおわかりいただけたかと思います。Web APIを使うことで外部プログラムの機能を手軽に活用でき、自社サービスに機能を追加することが可能です。
Web APIのほとんどは無料で活用できるため、Web APIに興味がある方は実際にアカウント登録を行って使ってみることをおすすめします。リファレンスを見ながらWeb APIの各機能を試していくことで、Web APIとはどういうものか理解も深まるでしょう。本記事がWeb APIに興味がある方にとって有意義なものとなれば幸いです。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから