FileMaker 18 Admin API ガイド
概要
このガイドについて
このガイドでは、FileMaker Admin API バージョン 2 (v2) を使用して FileMaker Cloud 製品および FileMaker Server 上で管理タスクを実行する方法について説明します。(FileMaker Admin API バージョン 1 (v1) については、サポートされている製品にインストールされる FileMaker Admin API Reference を参照してください。)
このガイドでは、次の経験があることを想定しています:
- FileMaker Pro Advanced を使用したデータベースのアップロード。FileMaker Pro Advanced ヘルプを参照してください。
- FileMaker Server または FileMaker Cloud 製品を使用したデータベースの共有および管理。プロダクトドキュメンテーションセンターで FileMaker Server ヘルプ、または FileMaker Cloud 製品のマニュアルを参照してください。
- POST、GET、PATCH、および DELETE メソッドと JSON 形式のデータを呼び出すサーバーサイドアプリケーションまたは Web サービスでの REST API の使用。任意のプログラミング言語またはプログラミングツールを使用できる必要があります。
メモ
- 「FileMaker Cloud」は FileMaker Pro Advanced、FileMaker Go、および FileMaker WebDirect を使用するカスタム App をクラウド上で使用するためのサービスです。FileMaker Cloud では FileMaker ID と統合されたサインオンシステムを使用してユーザを認証し、FileMaker, Inc. から直接提供されます。
- 「FileMaker Cloud for AWS」は FileMaker Pro Advanced、FileMaker Go、および FileMaker WebDirect を使用するカスタム App をクラウド上で使用するためのサービスです。FileMaker Cloud for AWS は AWS (Amazon Web Services) クラウド上で実行され、AWS Marketplace から提供されます。
- 「FileMaker Cloud 製品」は FileMaker Cloud および FileMaker Cloud for AWS の両方を意味します。
- このガイドでは「Admin Console」は特定の製品について説明する場合以外、FileMaker Server、FileMaker Cloud for AWS、および FileMaker Cloud の Admin Console を意味します。「FileMaker Cloud Admin Console」は特定の製品について説明する場合以外、両方の FileMaker Cloud 製品の Admin Console を意味します。
- 「カスタム App」、「ソリューション」、「データベース」、および「ファイル」は FileMaker 製品を使用して作成および操作するものを意味します。
- このガイドでは「アクセストークン」は認証に必要な JSON Web Token を意味します。
FileMaker Admin API について
FileMaker® Admin API は、FileMaker Cloud 製品および FileMaker Server 上での管理タスクを Web サービスから実行できるようにするアプリケーションプログラミングインターフェース (API) です。この API は REST (Representational State Transfer) アーキテクチャを使用しているため、FileMaker Admin API は REST API です。
FileMaker Admin API は、特定のプログラミング言語形式に依存しないことから REST API で一般的に使用されているテキスト形式 JSON (JavaScript Object Notation) でデータを返します。
FileMaker Admin API を使用するには:
- FileMaker Admin API 呼び出しを使用して管理タスクを実行するコードを作成します。
- FileMaker Admin API アクセスが正しく動作するかをテストします。
- FileMaker Cloud 製品の「gateway.log」ファイルまたは FileMaker Server の「fac.log」ファイルにすべての API 呼び出しが記録されるため、これらのログを確認して結果を監視します。「gateway.log」ファイルは FileMaker Cloud Admin Console からダウンロードすることができます。「fac.log」ファイルは .../FileMaker Server/Admin/FAC/logs フォルダ内にあります。
メモ
- 共有データベースのデータにアクセスするには、FileMaker Data API ガイドを参照してください。
FileMaker Admin API 呼び出しの処理の流れ
認証の呼び出しなどの一部の FileMaker Admin API 呼び出しは、次の最初の 2 つの手順のみに基づいて処理されます。その他の、スケジュールの作成または構成の更新などに関連する呼び出しは、次のすべての手順に基づいて処理されます。
- REST API クライアントが Web サーバーに FileMaker Admin API 呼び出し (HTTPS リクエスト) を送信します。
- Web サーバーが FileMaker Web サーバーモジュールを使用してリクエストを FileMaker Admin API エンジンにルーティングします。
- FileMaker Admin API エンジンが HTTPS リクエスト (URL および JSON データ) を FileMaker データベースサーバーと互換性のある形式に変換します。
- データベースサーバーが要求の結果を FileMaker Admin API エンジンに返します。
- FileMaker Admin API エンジンが結果を HTTPS 応答 (URL および JSON データ) に変換して Web サーバーに渡します。
- Web サーバーが要求元の REST API クライアントに HTTPS 応答を送信します。
FileMaker Admin API Reference
FileMaker Admin API Reference は FileMaker Server および FileMaker Cloud 製品とともにインストールされます。このリファレンスファイルには、FileMaker Admin API でサポートされるすべての呼び出しに関する詳細情報が含まれています。
FileMaker Cloud 製品のリファレンスを表示するには、ブラウザウインドウに次の URL を入力します:
https://<ホスト>/fmi/admin/apidoc/
<ホスト>
は FileMaker Cloud 製品を実行する仮想サーバーのホスト名または IP アドレスです。
FileMaker Server のリファレンスにアクセスするには:
マスタマシンのブラウザウインドウでこのリファレンスを表示するには、次の URL を入力します:
https://localhost/fmi/admin/apidoc/
リモートマシンのブラウザウインドウでこのリファレンスを表示するには、次の URL を入力します:
https://<ホスト>/fmi/admin/apidoc/
-
Windows サーバーの場合、リファレンスは次のフォルダ内にあります:
[ドライブ]:¥Program Files¥FileMaker¥FileMaker Server¥Documentation¥Admin API Documentation
[ドライブ] は FileMaker Server 展開が存在するドライブです。
Windows 上のデフォルト以外の場所にインストールした場合、次のようにデフォルトのインストールパスの先頭部分がインストール場所に置き換わります:
[ドライブ]:<インストール場所>¥FileMaker¥FileMaker Server¥Documentation¥Admin API Documentation
-
macOS サーバーの場合、リファレンスファイルは次のフォルダ内にあります:
/ライブラリ/FileMaker Server/Documentation/Admin API Documentation
メモ
- Admin API Reference 内の URL の例を使用する、およびローカルドライブからリファレンスファイルを開く場合、例はすべて
file:///
で始まります。URL を使用するには、file:///
をhttps://<ホスト名>/fmi/admin/api/v2
に置き替えます。
FileMaker Admin API 呼び出し
FileMaker Admin API の機能
FileMaker Admin API で提供される REST API を使用すると、所定の手順の管理タスクを Admin Console を使用せずにスクリプトによって自動化することができます。
FileMaker Admin API では、インタラクションの状態が常に記録されます。認証の呼び出しで始める、またはその他の認証のための呼び出しを使用することができます。その後は、それ以降の呼び出しに対して返されるアクセストークンを使用することができます。
トークンは Invalidate Access Token (アクセストークンの無効化) 呼び出しを使用して無効にされるか、またはそのトークンを指定した最後の呼び出しから 15 分経過するまで有効です。(トークンが有効な間は、そのトークンを指定して呼び出しを行うたびにセッションタイムアウトカウンタがゼロにリセットされます。)
データベースに関連する API 呼び出し、およびスケジュールの作成とスケジュールの編集/実行呼び出し以外のスケジュールの API 呼び出しは非同期のため FileMaker Cloud 製品または FileMaker Server からの応答を待機しません。非同期の呼び出しの後は、続けて取得の呼び出しを使用してファイルの状態が変更されたことを確認する必要があります。たとえば、データベースを閉じる呼び出しの後、続けてデータベース取得の呼び出しを使用してデータベースが閉じられたことを確認します。すぐに状態が変更されない場合はチェックを続行します。
それ以外の API 呼び出しは同期して FileMaker Cloud 製品または FileMaker Server からの応答を待機します。
FileMaker Server または FileMaker Cloud for AWS の認証
FileMaker Admin API では、アクセストークンを使用してホストへの接続を定義します。ルート管理者のアカウント名およびパスワードを使用してホストにアクセストークンを要求するために認証の呼び出しを使用します。Basic <Base64 エンコード文字列> 値に Authorization ヘッダを含めます。Base64 エンコード文字列は「ユーザ名:パスワード」に基づいて生成する必要があります。その他の呼び出しでは基本認証スキーマも使用できます。
認証の呼び出しに基本認証スキーマを使用する場合、その要求は応答のボディでアクセストークンを返します。その他の呼び出しに基本認証スキーマを使用する場合、要求は応答ヘッダの X-FM-Data-Access-Token でアクセストークンを返します。
それ以降の API 呼び出しの場合、Bearer 認証スキーマを使用して Bearer <アクセストークン> 値に Authorization ヘッダを含めます。
メモ
- 基本認証スキーマを使用してアクセストークンを取得するたびに、新しい API セッションが作成されます。複数の API セッションが作成されないようにするには、すべての API 呼び出しに Bearer 認証スキーマで同じアクセストークンを使用します。
FileMaker Cloud の認証
FileMaker Admin API では、アクセストークンを使用してホストへの接続を定義します。
FileMaker Cloud のアカウントを認証するには:
- FileMaker ID トークンを生成します。プロダクトドキュメンテーションセンターで FileMaker Customer Console ヘルプを参照してください。
-
認証の呼び出しまたはその他の任意の呼び出しで手順 1 からの FileMaker ID トークンを含めてアクセストークンを生成します。
たとえば、認証の呼び出しに次の URL およびヘッダを使用します:
URL:
https://<ホスト>/fmi/admin/api/v2/user/auth
<
ホスト
> は FileMaker Cloud を実行する仮想サーバーのホスト名または IP アドレスです。- ヘッダ:
Authorization FMID FileMaker_ID_Token
認証の呼び出しを使用する場合、応答のボディでアクセストークンが返されます。その他の呼び出しを使用する場合、応答ヘッダの X-FM-Access-Token フィールドでトークンが返されます。
-
それ以降の API 呼び出しの場合、認証の呼び出しに次の Authorization ヘッダを含めます:
ヘッダ:
Authorization Bearer <アクセストークン>
- FileMaker ID 認証スキーマを使用してアクセストークンを取得するたびに、新しい API セッションが作成されます。複数の API セッションが作成されないようにするには、すべての API 呼び出しに Bearer 認証スキーマで同じアクセストークンを使用します。
メモ
FileMaker Admin API 呼び出しの一覧
次の表に FileMaker Server または FileMaker Cloud 製品でサポートされている FileMaker Admin API 呼び出しを示します。
API 呼び出し | FileMaker Server でサポート | FileMaker Cloud 製品でサポート |
---|---|---|
認証 | ||
Request Access Token (アクセストークンの要求) | はい | はい |
Invalidate Access Token (アクセストークンの無効化) | はい | はい |
データベースサーバー | ||
Get Server Status (サーバー状態の取得) | はい | いいえ |
Update Server Status (サーバー状態の更新) | はい | いいえ |
Get Server Security Setting (サーバーのセキュリティ設定の取得) | はい | いいえ |
Update Server Security Setting (サーバーのセキュリティ設定の更新) | はい | いいえ |
Get Server General Settings (サーバーの一般設定の取得) | はい | いいえ |
Update Server General Settings (サーバーの一般設定の更新) | はい | いいえ |
データベース | ||
List Databases (データベースの一覧) | はい | はい |
Perform Database Operations for All Databases (すべてのデータベースにデータベース操作を実行) | はい | はい |
Perform Database Operations for a Database (1 つのデータベースにデータベース操作を実行) | はい | はい |
クライアント | ||
List Clients (クライアントの一覧) | はい | はい |
Send Message to Client (クライアントにメッセージを送信) | はい | はい |
Disconnect Client (クライアントの接続解除) | はい | はい |
スケジュール | ||
List Schedules (スケジュールの一覧) | はい | はい |
Duplicate Schedule (スケジュールの複製) | はい | はい |
Create Backup Schedule (バックアップスケジュールの作成) | はい | いいえ |
Create FileMaker Script Schedule (FileMaker スクリプトスケジュールの作成) | はい | 一部
sendEmail 引数はサポートされていません。 |
Create Message Schedule (メッセージスケジュールの作成) | はい | 一部
sendEmail 引数および resourceType 引数の DB_IN_FOLDER 値はサポートされていません。 |
Create Script Sequence Schedule (スクリプトシーケンススケジュールの作成) | はい | いいえ |
Create System Script Schedule (システムスクリプトスケジュールの作成) | はい | いいえ |
Create Verify Schedule (検証スケジュールの作成) | はい | いいえ |
Get Schedule (スケジュールの取得) | はい | はい |
Edit/Run Schedule (スケジュールの編集/実行) | はい | 一部
sendEmail 引数はサポートされていません。 |
Delete Schedule (スケジュールの削除) | はい | はい |
PHP | ||
PHP Settings (PHP 設定) | はい | いいえ |
Update PHP Settings (PHP 設定の更新) | はい | いいえ |
XML | ||
XML Settings (XML 設定) | はい | いいえ |
Update XML Settings (XML 設定の更新) | はい | いいえ |
ODBC/JDBC | ||
ODBC/JDBC Settings (ODBC/JDBC 設定) | はい | いいえ |
Update ODBC/JDBC Settings (ODBC/JDBC 設定の更新) | はい | いいえ |
FileMaker Data API | ||
FileMaker Data API Settings (FileMaker Data API 設定) | はい | はい |
Update FileMaker Data API Settings (FileMaker Data API 設定の更新) | はい | はい |
Web 公開エンジン | ||
FileMaker WebDirect Settings (FileMaker WebDirect 設定) | はい | いいえ |
Update FileMaker WebDirect Settings (FileMaker WebDirect 設定の更新) | はい | いいえ |
WPE Settings for All Machines (すべてのマシンの WPE 設定) | はい | いいえ |
WPE Settings for a Single Machine (1 台のマシンの WPE 設定) | はい | いいえ |
Update WPE Settings (WPE 設定の更新) | はい | いいえ |
OData | ||
OData Settings (OData 設定) | いいえ | はい
FileMaker Cloud のみでサポート |
Update OData Settings (OData 設定の更新) | いいえ | はい
FileMaker Cloud のみでサポート |
メモ
- FileMaker Server Admin API の startupRestorationLogPath 引数では、復元ログを保存するためのフォルダパスを指定します。最適な結果を得るには、復元ログフォルダの場所を別のディスクドライブに変更します。
- FileMaker Cloud 製品では、startTimeStamp 引数に UTC 時刻を使用します。
- filemakerScriptType の場合、実行するスクリプトに fmScriptAccount および fmScriptPassword 引数の両方を渡す必要があります。
- FileMaker Cloud の filemakerScriptType の場合、fmScriptAccount 引数を使用して FileMaker ID トークンを指定し、fmScriptPassword 引数で FileMaker ID 更新トークンを指定する必要があります。更新トークンを指定しない場合、FileMaker ID トークンが期限切れになった後はスクリプトを実行できません。トークンを生成する方法については、プロダクトドキュメンテーションセンターで FileMaker Customer Console ヘルプを参照してください。
- List Databases (データベースの一覧) の呼び出しの状態引数に対して返された値が「Normal」の場合、データベースは開いています。