さくらインターネットの WinVPS / レンタルサーバーで FileMaker Data API を WordPress に組み込む方法

FileMaker Data API を WordPress に組み込む

さくらインターネットの「WinVPS」または「レンタルサーバー」で FileMaker Data API を活用する方法を解説します。

1. FileMaker Data API とは?

FileMaker Data API は、Claris FileMaker Server 上のデータベースに対して、HTTPS 経由でデータを取得・更新できる REST API です。
WordPress の固定ページと組み合わせることで、動的なデータ表示が可能になります。

FileMaker Data API 呼び出しの処理の流れ

FileMaker Data API アーキテクチャ

▲ FileMaker Data API のリクエスト処理フロー

  1. REST API クライアント: ユーザーのリクエストが発生し、HTTPS (ポート 443) を介して API リクエストが送信される。
  2. Web サーバー: API リクエストを受け取り、FileMaker Web サーバーモジュールを通じて FileMaker Data API にリクエストを転送する。
  3. FileMaker Data API エンジン: API リクエストの内容 (URL と JSON データ) を解釈し、データベースサーバーが処理できる形に変換する。
  4. データベースサーバー: FileMaker Server 内のデータベースにリクエストされたデータを問い合わせ、API エンジンにレスポンスを返す。
  5. FileMaker Data API エンジン: データベースサーバーから受け取ったデータを JSON 形式に変換し、HTTPS 応答として Web サーバーに送る。
  6. Web サーバー: 受け取ったデータを REST API クライアントに返し、リクエストが完了する。
FileMaker Data API で利用されるポート:

  • ポート 443: REST API クライアント ⇔ Web サーバー (HTTPS 通信)
  • ポート 3000 / 8989: Web サーバー ⇔ FileMaker Data API エンジン
  • ポート 5003: FileMaker データベースサーバー (データリクエスト処理)

2. さくらインターネット WinVPS での導入

① FileMaker Server をインストール

Windows Server 上に FileMaker Server をインストールし、Data API を有効化します。

② WinVPS に PHP 環境をセットアップ

WinVPS に XAMPPIIS を導入し、PHP を利用できる環境を整えます。

③ WordPress で API 接続

次のコードを functions.php に追加して FileMaker Data API に接続します。


function get_filemaker_data() {
  $url = "https://your-filemaker-server.com/fmi/data/v1/databases/YourDB/layouts/YourLayout/records";
  $headers = array("Authorization: Bearer your-token", "Content-Type: application/json");
  $ch = curl_init($url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
  $response = curl_exec($ch);
  curl_close($ch);
  return json_decode($response, true);
}

3. さくらのレンタルサーバーでの導入

① PHP で FileMaker Data API に接続

レンタルサーバーは Windows 環境と異なり、Apache + PHP のみで運用されます。

② API からデータを取得

次のコードを WordPress の固定ページで実行すると、データを取得できます。


<?php
$url = "https://your-filemaker-server.com/fmi/data/v1/databases/YourDB/layouts/YourLayout/records";
$headers = array("Authorization: Bearer your-token", "Content-Type: application/json");
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
echo json_encode($data, JSON_PRETTY_PRINT);
?>

記事内に [filemaker_data] を入れると、FileMaker のデータが表示されます。


過去の投稿一覧