ユーザマニュアル

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

2026/08/05

MANUAL

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

## 概要 AjaxのPOSTリクエストにより、[サイト名検索](/ja/manual/api-site-get-closest-siteid)で該当サイトに最も近いサイトIDを取得します。 ## 前提条件 1. 本機能はサイトの「サイト名」を検索します。あらかじめサイト名を設定してください。サイトの[タイトル](/ja/manual/tenant-logo)ではありませんので注意ください。 ![image](https://pleasanter.org/binaries/be2492d00d0c4ee0b48cd62f3356ac73) ## 構文 ##### JavaScript ``` $p.apiGetClosestSiteId({ id: <検索開始のサイトID>, data: { <取得条件> }, done: <任意の処理>, fail: <任意の処理>, always: <任意の処理> }); ``` ## パラメータ |パラメータ名|型|必須|概要| |:--|:--|:--|:--| |id|long|○|検索開始のサイトID。通常は $p.siteId() を使用して、このメソッドを呼び出しているサイトのIDを指定します。| |data|object|○|取得条件| |done|function|○|API通信成功時の処理| |fail|function||API通信失敗時の処理| |always|function||API通信完了時の処理| ## 取得条件について |キーワード|説明|必須| |:--|:--|:--:| |FindSiteNames|検索したい対象のサイト名を配列で指定。|○| ## 使用例 ### 呼び出し ##### JavaScript ``` $p.apiGetClosestSiteId({ id: $p.siteId(), data: { FindSiteNames:['ParentSite','HideSize'] }, done: function (data) { console.log(data); } }); ``` ### レスポンス ##### JSON ``` { "SiteId": 12345, "Data": [ { "SiteName": "ParentSite", "SiteId": 12344 }, { "SiteName": "HideSite", "SiteId": -1 } ] } ``` ## サンプルコード ##### コード内の【 ... 】 は適宜修正してください。 <details> <summary>1. サイトIDをキャッシュし処理効率化</summary> サイト名からサイトIDを取得する処理を、一度取得した結果をキャッシュしておくことで、同じサイト名を何度も検索しないようにするサンプルです。 **実務での使いどころ** 複数のプロセスやループ処理の中で同じサイト名を繰り返し検索する場合 一覧の一括処理など、同じサイト名を何度も参照する処理がある場合 通信回数を減らして処理速度を改善したい場合 ##### JavaScript ``` // ===== 設定 ===== const TARGET_SITE_NAME = '【サイト名】'; // 検索対象のサイト名 // サイトIDキャッシュ const _siteIdCache = new Map(); /** * サイト名からSiteIdを取得する(キャッシュ利用) * @param {string} siteName - 検索したいサイト名 * @returns {Promise<number|null>} 見つかったSiteId。見つからない場合はnull */ function getSiteIdOrNull(siteName) { return new Promise((resolve) => { if (_siteIdCache.has(siteName)) { resolve(_siteIdCache.get(siteName)); return; } $p.apiGetClosestSiteId({ id: $p.siteId(), data: { FindSiteNames: [siteName] }, done: (res) => { const found = res?.Data?.find(d => d.SiteName === siteName); if (!found || !found.SiteId || found.SiteId === -1) { console.error(`(error)${siteName} サイト情報取得失敗`); resolve(null); return; } _siteIdCache.set(siteName, found.SiteId); resolve(found.SiteId); }, fail: (res) => { console.error(`(error)${siteName} サイト情報取得失敗`, res); resolve(null); } }); }); } (async () => { const siteId = await getSiteIdOrNull(TARGET_SITE_NAME); if (siteId) { console.log(`(info)${TARGET_SITE_NAME}のSiteId: ${siteId}`); } })(); ``` ##### 実行結果 ``` (info)案件管理のSiteId: 99999 ``` </details> ## 関連情報 <div id="ManualList"><ul><li><a href="/ja/manual/tenant-logo">テナント管理機能:ロゴ、タイトル、ロゴ画像</a><span>2024/04/11 up</span></li></ul></article> <ul><li><a href="/ja/manual/api-site-get-closest-siteid">開発者向け機能:API:サイト操作:サイト名検索で該当サイトに最も近いサイトID取得</a><span>2025/01/30 up</span></li></ul></article> <ul><li><a href="/ja/manual/server-script-items-get-closest-site">開発者向け機能:サーバスクリプト:items.GetClosestSite</a><span>2026/06/23 up</span></li></ul></article> <ul><li><a href="/ja/manual/faq-get-closest-site-logic">FAQ:サイト名検索で該当サイトに最も近いサイトID取得の検索順が知りたい。</a><span>2024/06/11 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />
code VS Codeで開発作業をもっとスマートに

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

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

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

Site Visualizerの詳細はこちら →
TOP