9章サードパーティアプリケーションからの呼び出しを待つ

複雑で大規模なWebアプリケーションでは、開発者はサードパーティアプリケーションによるラピッド開発を検討するようになる。基本的に、私たちはWebアプリケーションの共通処理を自動化するために、サードパーティフレームワーク、ライブラリを活用している。しかし、サードパーティサービスを使ってアプリケーションのコアロジックに直接関係のない機能を提供することもできる。APIは、サードパーティサービスを統合するためによく使われる方法だ。APIを作れば、サードパーティアプリケーションが私たちのアプリケーションのデータにアクセスするための門を開くことができる。

WordPressは、XML-RPCを利用する組み込みのAPIを通じてAPIメソッドを持っており、サードパーティアプリケーションに機能を提供することができる。組み込みのAPIメソッドは、ブログ、CMSのための機能を提供しつつ、開発者がカスタム機能でAPIメソッドを拡張できるようにしている。この章では、ポートフォリオ管理アプリケーションにカスタムAPIの基礎を作りつつ、既存のAPIの基礎を説明する。大規模なアプリケーションのために複雑なAPIを構築するために必要なテクニックを身に付けられる。

この章では、以下のテーマを扱っていく。

  • APIの基礎
  • WebアプリケーションのためのWordPress XML-RPC API
  • APIクライアントの作り方
  • カスタムAPIの作り方
  • APIユーザー認証の統合
  • APIアクセストークンの統合
  • APIドキュメントの提供方法

では始めよう。

9.1 APIの基礎

APIとは、Application Programming Interfaceの略で、Wikipediaの定義によれば、特定のタスクを実行したり特定のソフトウェアコンポーネントを操作したりするための一連の関数を規定するものだ。Webアプリケーションが大規模になってくると、サードパーティアプリケーションにアプリケーションサービスやデータを提供することが必要になることがある。セキュリティ上の理由から、サードパーティアプリケーションにソースコードやデータベースへの直接的なアクセスを認めるわけにはいかない。そこで、APIという制限されたインターフェイスを介して、アプリケーションのサービスやデータにアクセスできるようにするのである。こうすると、ユーザーがアクセスできるのは、APIを介して提供されているデータだけになる。一般に、ユーザーはユーザー名とパスワードまたはAPIキーを入力して認証を要求される。アプリケーション固有APIを用意するメリットとは何なのだろうか。 ...

Get WordPressによるWebアプリケーション開発 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.