こんにちは、ジョイゾーでkintoneプラグインの開発エンジニアをやっている小林です。
2025年ももうちょっとというところですが、kintone JS APIかなり拡充されましたね。眺めてみるといるじゃないるじゃない、待ってたアレが。
ってことで、ちょっと立て込んだ画面制御、業務仕様の作りこみをする時、ほぼ参照が必要なアプリのフィールド、レイアウト情報の取得がついに来ました。
アプリのフィールド情報を一括取得する
アプリのフォームのレイアウトを取得する
今回はこのフィールド情報、レイアウト情報取得をメインにしたお話。
弊社では初回開発無料の定額39万円でkintoneアプリを開発する定額型開発サービス「システム39」を提供しております。kintoneの導入やアプリ開発でお困りの方は、お気軽にご相談ください。
*Webでの打ち合わせも可能です。
「フィールド構成」「レイアウト情報」ってどんなときに使う?
kintoneカスタマイズをしていると、「アプリの設計情報(フィールド/レイアウト)を動的に取得したい」場面は意外と多いです。
フィールド情報を使いたくなるケース
- フィールドの型(SINGLE_LINE_TEXT、NUMBERなど)を見て処理を切り替えたいとき
- フィールドの各設定情報を元にした処理を書きたい
- 別アプリのフィールド構成を読み込み、UIを構築したいとき
レイアウト情報を使いたくなるケース
- フィールドの配置順やフォーム構成をベースにした処理を書きたい
- スペースフィールドの存在、グループ構成/テーブル構成の把握
どちらも、「アプリを構造的に理解して動的に処理する」ために欠かせない情報です。
今まではREST API
たとえば、アプリのフィールド構成を取得したい場合、これまではREST APIを用いて次のように書いていました。
フィールド情報
(async () => {
const appId = kintone.app.getId();
const params = { app: appId };
// レイアウトなら'/k/v1/app/form/layout'にしてね
const resp = await kintone.api(kintone.api.url('/k/v1/app/form/fields', true), 'GET', params);
console.log(resp);
})();
どちらもAPI URLを組み立てて、パラメータを渡して、結果をPromiseで受け取るという流れ。ちょっとめんどい。
JS APIが来た!
これが、、こう!
(async () => {
const resp = await kintone.app.getFormFields();
console.log(resp);
})();
実行してみると、返ってくるデータ構造はほぼ同じです。
REST APIのようにURLを組み立てる必要もなく、
「いま開いているアプリの設定情報をそのまま取る」だけ。
とても直感的です。
とはいえ、行数的にはそんなに変わらないなぁ、、なんだけど↓
置き換えの意味とメリット
kintone JavaScript APIを使うことで、次のような利点があります。
- いつも設計時に不安になるAPIコール数にカウントされない
- スマートな実装
- REST API仕様変更の影響を受けにくい
- 学習コストが低い
新しいメンバーにも「kintone.app.getFormFields()で取れるよ」と伝えるだけで済みまっす
おわりに
何度なくAPIコールで眠れぬ夜を過ごした私には待望というほかないJS API拡充でした!まだまだ気になるのがあるので次回是非紹介したいー
※ APIの詳細が知りたい方は公式APIドキュメント developer network をご確認ください。
弊社では初回開発無料の定額39万円でkintoneアプリを開発する定額型開発サービス「システム39」を提供しております。kintoneの導入やアプリ開発でお困りの方は、お気軽にご相談ください。
*Webでの打ち合わせも可能です。