検索の実行

検索を実行するには、HTTP POST メソッドを使用してデータベース名およびレイアウトと、クエリーフィールド、クエリー条件、ソート順、開始レコード、およびレコード数を指定する追加情報を _find API エンドポイントで指定します。ポータル情報を指定して返される関連レコードの数を制限することもできます。

HTTP メソッド

POST

URL

/fmi/data/version/databases/database-name/layouts/layout-name/_find

version – リクエストされた FileMaker Data API のバージョン。v1v2、または vLatest のいずれかを使用できます。

  • バージョン 1 (v1) - 返されるポータルデータの構造は指定されたレイアウトの表示形式 (フォーム形式または表形式) に基づきます。

    • フォーム形式 - すべての関連レコードを返します

    • 表形式 - 最初の関連レコードを返します

      メモ  表示設定を変更すると返される値のポータルデータ構造が変化します。

  • バージョン 2 (v2) - 返されるポータルデータの構造はフォーム形式に基づきます。

  • 最新バージョン (vLatest) - 動作は API の最新バージョンに基づきます。

database-name – 共有データベースの名前

layout-name – 検索条件のコンテキストとして使用するレイアウト

HTTP ヘッダ

Content-Type: application/json

Authorization: Bearer session-tokensession-token はデータベースセッションに固有の X-FM-Data-Access-Token の値です。

引数

フィールドおよび検索条件を指定する JSON 形式のクエリー。オプションの引数を使用して除外リクエスト (omit)、ソート順 (sort)、開始レコード (offset)、レコード数 (limit)、および返される関連レコード数を制限するためのポータル (portal) を指定できます。offsetlimit、および sort の引数はレイアウトテーブルのレコードでは機能しますが、非関連ポータルレコードでは機能しません。関連セットで表示するレコードと行の数を制限するには、offset.portal-name および limit.portal-name 引数を指定します。

例:

コピー
{
  "query": [
    {"Group": "=Surgeon"},
    {"Work State" : "NY", "omit" : "true"}
  ],
  "sort": [
    {"fieldName": "Work State", "sortOrder": "ascend"},
    {"fieldName": "First Name", "sortOrder": "ascend"}
  ]
}

オフセット、制限、およびポータルの使用例:

コピー
{
  "query": [
    {"Group": "=Surgeon"},
    {"Work State": "NY", "omit" : "true"}
  ],
  "portal": ["Portal1","Portal2"],
  "limit": "10",
  "offset": "1",
  "offset.Portal1": "1",
  "limit.Portal1": "5",
  "layout.response": "Doctors"
}

その他のオプションのリクエストボディの引数:

  • layout.response - 異なるレイアウトのコンテキストにある応答データを返します。指定されたレイアウトは現在のレイアウトと同じ基本テーブルである必要があります。異なる基本テーブルのレイアウトを指定すると予期しない結果になる可能性があります。

  • dateformats - 日付およびタイムスタンプフィールドの形式を指定します。米国形式の場合は値が 0、ファイルロケールの形式の場合は 1、ISO 8601 形式の場合は 2 です。指定されていない場合、デフォルト値は 0 です。

  • script.prerequestscript.presortscript - リクエストの一部として FileMaker スクリプトを実行します。「別のリクエストによるスクリプトの実行」を参照してください。

応答

JSON 形式のレコードデータおよびエラーコード 0 を表示するメッセージ配列。

例:

コピー
{
  "response": {
    "data": [ 
      ...  
    ]
  },
  "messages": [
    {
      "code": "0",
      "message": "OK"
    }
  ]
}

エラー応答」を参照してください。

メモ