ユーザマニュアル

【重要】年間サポートサービスプラン改定 プリザンター×MCPサーバ 「プリザンターをもっと活用するために」資料ダウンロード 「プリザンター入門」発売中!

2026/07/15

MANUAL

開発者向け機能:スクリプト:$p.apiGet

## 概要 指定したサイトのレコード情報を取得します。[サイト統合](/ja/manual/table-site-integration)を設定しているテーブルの場合は、統合された各レコードの情報もあわせて取得します。 ## 制限事項 1. 取得できるレコードの件数は Api.json の PageSize(デフォルトで 200) が最大となります。200件以上のレコードを取得する場合は、[FAQ:API で 200 レコードを超えるデータを取得したい](/ja/manual/faq-api-paging)をご参照ください。 ## 構文 ##### JavaScript ``` $p.apiGet({ id: <サイトID>, data: { <取得条件> }, done: <任意の処理>, fail: <任意の処理>, always: <任意の処理> }); ``` ## パラメータ |パラメータ名|型|必須|概要| |:--|:--|:--|:--| |id|long|○|操作対象のサイトID、またはレコードIDを指定。| |data|object|○|POSTするJSONデータを指定。「JSONデータレイアウト:View」、テーブル種類(TableType)を指定することが可能。指定可能なテーブル種類については下記の "テーブル種類について" をご確認ください。 | |done|function|○|API通信成功時の処理| |fail|function||API通信失敗時の処理| |always|function||API通信完了時の処理| ### テーブル種類について テーブル種類(TableType)に指定可能な値は以下の通りです。 |値|説明| |:--|:--| |Normal|指定したサイトのレコード情報を取得する場合に指定します。取得するレコード情報は履歴が最新バージョンです。また、こちらの値はTableTypeの既定値で、TableTypeを指定しない場合は、内部ではこの値が設定されて処理が行われます。| |History|指定したサイトのレコードの履歴情報を取得する場合に指定します。取得するレコード情報は履歴が過去バージョン(最新バージョンは含まない)です。| |NormalAndHistory|指定したサイトのレコード情報と履歴情報を合わせて取得する場合に指定します。取得するレコード情報は履歴が全てのバージョンです。| ## 使用例① POSTするデータに "View" のJSONデータレイアウトを指定する場合は以下のように記述します。"View" のレイアウトについては「JSONデータレイアウト:View」をご確認ください。 ##### JavaScript ``` $p.apiGet({ id: 123, data: { View: { ApiDataType: "KeyValues", GridColumns: ["Title", "ClassA"] } }, done: function (data) { alert('通信が成功しました。'); } }); ``` ## 使用例② POSTするデータに テーブル種類 "TableType" を指定する場合は以下のように記述します。 ##### JavaScript ``` $p.apiGet({ id: 123, data: { TableType: 'History' }, done: function (data) { alert('通信が成功しました。'); } }); ``` ## 使用例③ POSTするデータに "View" のJSONデータレイアウト、テーブル種類 "TableType" を指定する場合は以下のように記述します。 ##### Javascript ``` $p.apiGet({ id: 123, data: { View: { ColumnFilterHash:{ ClassA: '中野区' } }, TableType: 'History' }, done: function (data) { console.log(data); } }); ``` ## サンプルコード ##### コード内の【 ... 】 は適宜修正してください。 <details> <summary>1. レコードIDを指定して取得する</summary> レコードIDを指定して取得します。 ##### JavaScript ```javascript // 取得対象のレコードID const recordId = 【レコードID】; $p.apiGet({ id: recordId, done: function (data) { const records = data.Response.Data; if (records.length === 0) { console.log('レコードが見つかりませんでした。recordId=' + recordId); return; } const item = records[0]; console.log(`${item.Title} ${item.ClassHash.ClassA}`); }, fail: function (data) { console.log('レコード取得に失敗しました。'); }, }); ``` ##### 実行結果 ``` サンプル案件E 改善要望 ``` </details> <details> <summary>2. サイトIDを指定しレコード全件取得する</summary> サイトIDを指定し、レコード全件します。 ##### JavaScript ```javascript // 取得対象のサイトID const siteId = 【サイトID】; $p.apiGet({ id: siteId, done: function (data) { const records = data.Response.Data; records.forEach(function (item) { console.log(`${item.Title} ${item.ClassHash.ClassA}`); }); }, fail: function (data) { console.log('レコード取得に失敗しました。'); }, }); ``` ##### 実行結果 ``` サンプル案件E 改善要望 サンプル案件D 問い合わせ サンプル案件C 障害 サンプル案件B 改善要望 サンプル案件A 問い合わせ ``` </details> <details> <summary>3. 日付の期間を指定しレコードを取得する</summary> 日付の期間を指定しレコードを取得します。 ##### JavaScript ```javascript // 取得対象のサイトID const siteId = 【サイトID】; // 取得対象の期間(DateA が start〜end の範囲内のレコードを取得) const start = '2025/01/10'; const end = '2025/01/12'; $p.apiGet({ id: siteId, data: { View: { ColumnFilterHash: { // 日付の範囲指定(開始日時, 終了日時) DateA: `["${start} 00:00:00, ${end} 23:59:59"]`, }, ColumnSorterHash: { DateA: 'asc', // 日付の昇順で並べ替え }, }, }, done: function (data) { const records = data.Response.Data; records.forEach(function (item) { console.log(`${item.Title} ${item.ClassHash.ClassA} ${item.DateHash.DateA}`); }); }, fail: function (data) { console.log('レコード取得に失敗しました。'); }, }); ``` ##### 実行結果 ``` サンプル案件A 問い合わせ Fri Jan 10 2025 00:00:00 GMT+0900 (日本標準時) サンプル案件B 改善要望 Sat Jan 11 2025 00:00:00 GMT+0900 (日本標準時) サンプル案件C 障害 Sun Jan 12 2025 00:00:00 GMT+0900 (日本標準時) ``` </details> <details> <summary>4. ステータスコードを指定し取得する</summary> ステータスを指定し取得します。 ##### JavaScript ``` // 取得対象のサイトID const siteId = 【サイトID】; // 取得対象のステータスコード(複数指定 → OR 検索) const statusCodes = `["100","200"]`; $p.apiGet({ id: siteId, data: { View: { ColumnFilterHash: { Status: statusCodes, // ステータスで絞り込み(OR) }, ColumnSorterHash: { DateA: 'asc', }, }, }, done: function (data) { const records = data.Response.Data; records.forEach(function (item) { console.log(`${item.Title} ${item.ClassHash.ClassA} ${item.Status}`); }); }, fail: function (data) { console.log('レコード取得に失敗しました。'); }, }); ``` ##### 実行結果 ``` サンプル案件A 問い合わせ 200 サンプル案件B 改善要望 100 サンプル案件C 障害 200 ``` </details> <details> <summary>5. 文字列で検索(部分一致)し取得する</summary> 文字列で検索(部分一致)し取得します。 ##### JavaScript ``` // 取得対象のサイトID const siteId = 【サイトID】; // 検索する文字列(DescriptionA に対して部分一致) const keyword = 'リリース'; $p.apiGet({ id: siteId, data: { View: { ColumnFilterHash: { DescriptionA: keyword, // 検索対象の項目と文字列 }, ColumnFilterSearchTypes: { DescriptionA: 'PartialMatch', // 部分一致 }, ColumnSorterHash: { DateA: 'asc', }, }, }, done: function (data) { const records = data.Response.Data; records.forEach(function (item) { console.log(`${item.Title} ${item.ClassHash.ClassA} ${item.DescriptionHash.DescriptionA}`); }); }, fail: function (data) { console.log('レコード取得に失敗しました。'); }, }); ``` ##### 実行結果 ``` サンプル案件B 改善要望 次期リリース候補 サンプル案件E 改善要望 仕様確定しリリース済 ``` </details> <details> <summary>6. 200件を超えるレコードを取得する</summary> 200件を超えるレコードを取得します。 ##### JavaScript ``` // 取得対象のサイトID const siteId = 【サイトID】; // 取得した全レコードを蓄積する配列 const allItems = []; // offset の位置から1ページ分を取得する(取得後に次ページを再帰呼び出し) function fetchPage(offset) { $p.apiGet({ id: siteId, data: { Offset: offset, // 取得開始位置 }, done: function (data) { const records = data.Response.Data; // 取得件数が0になったら終了し、全件をまとめて処理する if (!records || records.length === 0) { console.log(`最終的な取得件数: ${allItems.length} 件`); allItems.forEach(function (item) { console.log(`${item.Title} ${item.ClassHash.ClassA}`); }); return; } // 今回分を配列に追加 records.forEach(function (item) { allItems.push(item); }); console.log(`Offset=${offset}, 取得件数=${records.length}`); // Offset を「今回取得した件数ぶん」進めて次ページを取得 fetchPage(offset + records.length); }, fail: function (data) { console.log('レコード取得に失敗しました。offset=' + offset); }, }); } // 先頭(Offset=0)から取得開始 fetchPage(0); ``` ##### 実行結果 ``` Offset=0, 取得件数=200 Offset=200, 取得件数=150 最終的な取得件数: 350 件 サンプル案件A 問い合わせ サンプル案件B 改善要望 サンプル案件C 障害 サンプル案件D 問い合わせ サンプル案件E 改善要望 ・・・ ``` </details>
code VS Codeで開発作業をもっとスマートに

スクリプト開発の効率を高めたい方に、Code Assistをご用意しています。

Code Assistの詳細はこちら →
account_tree 複雑な構成も、すっきり視覚化

サイト構成やデータのつながりを可視化し、把握しやすくします。

Site Visualizerの詳細はこちら →
TOP