【WordPress】GASでWordPress REST APIを使って最新記事のIDを取得する方法

WordPressにはHTTPリスエストを送信するとブログの情報が取得できるRESTAPIという機能があります。今回はRESTAPIを使って最新記事のIDを取得する方法を簡単に解説していきます。

但し、RESTAPIが使える状態になっているサイトに対してのみ有効です。(WordPress REST APIの使い方については、ネット上に多くの記事がありますのでそちらをご参照下さい。)RESTAPIの使用手続きが出来ていない場合、まずはRESTAPIを使用できる状態にして頂く必要があります。

WordPress REST APIは、ウェブサイトのURLの後ろにいろいろパラメータを付けてHTTPリクエストを送ると、JSON形式で要求した情報が返ってきます。
この仕組みを利用することで外部(ウェブアプリなど)からブログの情報がとってこれるようになります。

また、本記事はGoogle Apps Script(GAS)を用いた方法を記載しております。JavaScript等他の言語を使って実行される場合は、HTTPリクエストの方法とJSONの解析(パース)方法をご使用される言語に合わせて変更下さい。

投稿記事データの取得方法

ウェブサイトURLの後ろに「/wp-json/wp/v2/posts」を付けると投稿データを取得することができます。
取得できるデータの項目についてはPosts API Referenceをご参照下さい。

最新の投稿データ10件を取得

試しに、「siteUrl + ‘wp-json/wp/v2/posts’」にHTTPリクエストする(クエリを投げる)と、最新の投稿データが10件取得できます。

最新の投稿データの取得方法
function getIdFucntion(){
  var siteUrl = 'https://{{ウェブサイトURL}}/';

  // WordPress REST API エンドポイント
  var apiUrl = siteUrl + 'wp-json/wp/v2/posts';
  var response = UrlFetchApp.fetch(apiUrl);
  var data = JSON.parse(response.getContentText());
  console.log(data);
}

最新の投稿データ1件を取得

必要なデータが最新記事1件のみの場合は、前段のエンドポイントに追加で「?per_page=1」のクエリを追加します。これによって、最新10件の中の更に最新の1件のみに絞ることが出来ます。

更に、取得したJSONデータから「id」キーを指定すると最新記事のIDを取得することが出来ます。

最新の投稿データ1件を取得
function getIdFucntion(){
  var siteUrl = 'https://{{ウェブサイトURL}}/';

  // WordPress REST API エンドポイント
  var apiUrl = siteUrl + 'wp-json/wp/v2/posts';
  var response = UrlFetchApp.fetch(apiUrl + '?per_page=1');
  var data = JSON.parse(response.getContentText());
  var latestId = data[0].id;
  console.log(latestId);
}

コメント

タイトルとURLをコピーしました