フォームのレイアウトを取得する

目次

フォームのレイアウトを取得する

フォームのレイアウトを取得します。
次の設定を取得できます。

  • テーブルに設定したフィールドと、フィールドの並び順
  • グループフィールドに入れたフィールドと、そのレイアウト
  • ラベル/スペース/罫線の設定

フィールドの一覧を取得する場合は、フィールドの一覧を取得するAPIを利用してください。
フィールドの一覧を取得するAPI

URL

URLは、運用環境の設定を取得する場合と、動作テスト環境の設定を取得する場合とで異なります。

運用環境の設定を取得する場合
通常のアプリ
https://sample.cybozu.com/k/v1/app/form/layout.json
ゲストスペースのアプリ
https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/app/form/layout.json
動作テスト環境の設定を取得する場合
通常のアプリ
https://sample.cybozu.com/k/v1/preview/app/form/layout.json
ゲストスペースのアプリ
https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/preview/app/form/layout.json

HTTPメソッド

GET

必要なアクセス権

運用環境の設定を取得する場合

次のいずれかの権限が必要です。

  • アプリのレコード閲覧権限
  • アプリのレコード追加権限
動作テスト環境の設定を取得する場合
  • アプリ管理権限

リクエスト

パラメーター
パラメーター名 必須 説明
app 数値または文字列 必須 アプリID
リクエストの例(URLにパラメーターを含める場合)
URL

https://sample.cybozu.com/k/v1/app/form/layout.json?app=8

ヘッダー
1
2
3
{
  "X-Cybozu-API-Token": "API_TOKEN"
}

リクエストヘッダーの詳細は共通仕様を参照してください。
kintone REST APIの共通仕様

リクエストの例(リクエストボディにパラメーターを含める場合)
URL

https://sample.cybozu.com/k/v1/app/form/layout.json

ヘッダー
1
2
3
4
{
  "X-Cybozu-API-Token": "API_TOKEN",
  "Content-Type": "application/json"
}

リクエストヘッダーの詳細は共通仕様を参照してください。
kintone REST APIの共通仕様

ボディ
1
2
3
{
  "app": "8"
}

レスポンス

プロパティ
プロパティ名 説明
layout 配列 フォームの行ごとのレイアウトの一覧
layout[].type 文字列 行の種類
  • ROW:標準の行
  • SUBTABLE:テーブル
  • GROUP:グループフィールド
layout[].code 文字列 テーブル、またはグループのコード
テーブル、グループ以外の行では、このパラメーターは出力されません。
layout[].fields 配列 行に含まれるフィールドの一覧
layout[].fields[].type 文字列 フィールドの種類
  • CALC:計算
  • CHECK_BOX:チェックボックス
  • CREATED_TIME:作成日時
  • CREATOR:作成者
  • DATE:日付
  • DATETIME:日時
  • DROP_DOWN:ドロップダウン
  • FILE:添付ファイル
  • GROUP_SELECT:グループ選択
  • HR:罫線
  • LABEL:ラベル
  • LINK:リンク
  • MODIFIER:更新者
  • MULTI_LINE_TEXT:文字列(複数行)
  • MULTI_SELECT:複数選択
  • NUMBER:数値
  • ORGANIZATION_SELECT:組織選択
  • RADIO_BUTTON:ラジオボタン
  • RECORD_NUMBER:レコード番号
  • REFERENCE_TABLE:関連レコード一覧
  • RICH_TEXT:リッチエディター
  • SINGLE_LINE_TEXT:文字列(1行)
  • SPACER:スペース
  • TIME:時刻
  • UPDATED_TIME:更新日時
  • USER_SELECT:ユーザー選択
ルックアップフィールドは、コピー元のフィールドのフィールドタイプで表されます。
layout[].fields[].code 文字列 フィールドコード
layout[].fields[].label 文字列 ラベル名
ラベルフィールドで出力されます。
layout[].fields[].elementId 文字列 要素ID
スペースフィールドで出力されます。
layout[].fields[].size オブジェクト フィールドのサイズ
PCで表示したときのフィールドサイズです。モバイルで表示したときのフィールドサイズは取得できません。
layout[].fields[].size.width 文字列 ピクセル単位でのフィールドの横幅
layout[].fields[].size.height 文字列 フィールド名を含めた、ピクセル単位でのフィールドの縦幅
layout[].fields[].size.innerHeight 文字列 フィールド名を除いた、ピクセル単位でのフィールドの縦幅
layout[].layout 配列 グループ内のフィールドのレイアウトの一覧
revision 文字列 アプリの設定のリビジョン番号
レスポンスの例
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
{
  "revision": "2",
  "layout": [
    {
      "type": "ROW",
      "fields": [
        {
          "type": "SINGLE_LINE_TEXT",
          "code": "文字列1行_0",
          "size": {
            "width": "200"
          }
        },
        {
          "type": "MULTI_LINE_TEXT",
          "code": "文字列複数行_0",
          "size": {
            "width": "200",
            "innerHeight": "100"
          }
        },
        {
          "type": "LABEL",
          "label": "label",
          "size": {
            "width": "200"
          }
        },
        {
          "type": "SPACER",
          "elementId": "spacer",
          "size": {
            "width": "200",
            "height": "100"
          }
        },
        {
          "type": "HR",
          "size": {
            "width": "200"
          }
        }
      ]
    },
    {
      "type": "SUBTABLE",
      "code": "テーブル_0",
      "fields": [
        {
          "type": "NUMBER",
          "code": "数値_0",
          "size": {
            "width": "200"
          }
        }
      ]
    },
    {
      "type": "GROUP",
      "code": "グループ_0",
      "layout": [
        {
          "type": "ROW",
          "fields": [
            {
              "type": "NUMBER",
              "code": "数値_1",
              "size": {
                "width": "200"
              }
            }
          ]
        }
      ]
    }
  ]
}

サンプルコード

curlを使ったリクエスト
1
2
3
4
5
6
curl -X GET 'https://sample.cybozu.com/k/v1/app/form/layout.json' \
  -H 'X-Cybozu-API-Token: API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1
  }'
kintone.api()を使ったリクエスト

kintone.api()の詳細は、次のページを参照してください。
kintone REST APIリクエストを送信する

1
2
3
4
5
const body = {
  app: 1
};

await kintone.api(kintone.api.url('/k/v1/app/form/layout.json', true), 'GET', body);