REST APIハンドブック

2020.03.19 2020.03.19

TOPICS

翻訳元記事はこちらです。

WordPress REST APIは、JSON形式でサイトにデータを送ったり、サイトからデータを受け取ったりするインターフェースを提供します。
WordPress REST APIはWordPressのブロックエディターの基礎となっており、WordPressのテーマ、プラグイン、カスタムアプリケーションの管理・公開のインターフェースとなっています。

WordPress REST APIを使えば、全く新しい管理画面が作れたり、対話型で操作できたり、WordPressの内容をアプリケーションと分離できます。

REST APIは、開発者指向の機能です。
サイトの内容にアクセスしたり、同様の権限の制限で実装されています。
あなたのサイトで公開されている内容は、REST APIを介しても公開状態でアクセスできます。
一方で、非公開、パスワード保護、一部のユーザー、カスタム投稿タイプ、メタデータは、権限がないとアクセスできません。もしくは、あなたが明確に設定するか。
あなたが開発者でない場合、APIについて理解しておいてほしいのは、ブロックエディターが触れる、セキュリティーやプライバシーのことを気にせず、プラグインのインターフェースが触れるということです。

REST APIとは?

APIは、「Application Programming Interface」の略です。 RESTは、「REpresentational State Transfer」の略です。RESTは、モデリングの概念で、アプリケーションのデータに相互にアクセスできるということです。WordPressのREST APIは、RESTに基づいたエンドポイントで提供されます。
例えば、posts,pages,taxonomiesなど、WordPressに組み込まれたデータ型。
あなたのアプリケーションは、JSONデータを送ったり、受け取ったりして、サイトの内容を作成したり、変更したりできます。

JSONは、軽量で、人が読みやすい一般的なデータ形式です。あなたがAPIでデータを送ったり、受け取ったりするときは、JSON形式になります。
なぜならば、JSONは、幅広いプログラミング言語でサポートされており、開発者はWordPressのアプリケーションでJavaScriptを使って構築できるからです。
モバイルアプリケーションとしても、コマンドラインツールとしても。

REST APIは、WordPressから提供されているAPIのうちの一つに過ぎません。WordPressの他のAPIについては、こちらを参照してください。

WordPress REST APIを使用する

WordPressはすでに、サイトを構築するために豊富な機能を提供しています。もし現状で、サイトが思い通りに動いているのであれば、無理にREST APIを使用する必要はありません。

しかし、テーマ、プラグイン、外部のアプリケーションを書きたい、PHP以外の言語でプログラムを書きたい場合、WordPressの内容にアクセスできる方法が必要です。
HTTPリクエストを処理できて、JSONを解釈できるプログラミング言語であれば、WordPressのREST APIを使用できます。(PHP, Node.js, Go, Java, Swift, Kotlinなど)

たとえ、あなたがテーマやプラグインで、JavaScriptやjQueryを使っていても、admin-ajaxよりもREST APIの方が使いやすいです。アクセスにかかる時間を短くして、よりよいユーザー体験を提供します。

もし、データを取得するために、構造化されていて、拡張性が高く、簡単な方法を求めているのであれば、おそらくREST APIを使いたいのでしょう。

REST APIを簡単に感じられるように、細かく分類して説明するハンドブックを作成しました。