こちらのAPIは、設計情報の取得のみ対応しています。
設計情報の更新を含む、より多様な機能がある form/fields.json、form/layout.json についてもご確認ください。
アプリのフォーム情報を取得するライブラリ kintone-config-helper も活用できます。
Index
フォーム設計情報取得
フォームの設計情報を取得できます。
URI
https://(サブドメイン名).cybozu.com/k/v1/form.json
ゲストスペースのアプリの場合
https://(サブドメイン名).cybozu.com/k/guest/(スペースのID)/v1/form.json
HTTP メソッド
GET
必要なアクセス権
次のいずれかの権限が必要です。
- アプリのレコード閲覧権限
- アプリのレコード追加権限
リクエストパラメータ
パラメータ名 | 値 | 必須 | 説明 |
---|---|---|---|
app | 数値又は文字列 | 必須 | フォームの設計情報を取得するアプリの ID を指定します。 |
リクエストの例
パラメータを HTTP のクエリ文字列で送信する場合
「app」パラメータを、HTTP のクエリ文字列として送信します。
HTTP のクエリ文字列
app=4
リクエストヘッダを含んだ例
GET https://example.cybozu.com/k/v1/form.json?app=4 HTTP/1.1 Host: example.cybozu.com:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
- Content-Typeヘッダは不要です。
パラメータを JSON形式で送信する場合(HTTP リクエストのリクエストボディに JSON データをセットする場合)
リクエストボディの JSON データ例は以下の通りです。
リクエストヘッダ
GET /k/v1/form.json HTTP/1.1 Host: example.cybozu.com:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU= Content-Type: application/json
- Content-Type に application/json を指定して下さい。 指定しない場合は JSON が解釈できないため、実行時エラーとなります。
ボディ
レスポンスプロパティ
処理成功時は各フィールドのプロパティが単一の JSON データとして取得されます。
プロパティ名 | キー名 | 取りうる値 | 例 |
---|---|---|---|
フィールド名 | label | 文字列(空文字にはならない) |
"label": "タイトル" |
フィールドコード | code | 文字列(空文字にはならない) |
"code": "フィールドコード" |
要素ID | elementId | 文字列(空文字にはならない) |
"elementId": "Space" |
フィールドタイプ | type | 下記「各フィールドで取得するプロパティ」参照 |
"type": "CHECK_BOX" |
フィールド名の非表示 | noLabel | "true" または "false" |
"noLabel": "true" |
必須可否 | required | "true" または "false" |
"required": "true" |
重複可否 | unique | "true" または "false" |
"unique": "true" |
値の制限(数値) | |||
maxValue | 数値 または文字列または null |
"maxValue": "1" |
|
minValue | 数値 または文字列または null |
"minValue": "100" |
|
文字数の制限 | maxLength | 数値 または文字列または null |
"maxLength": "5" |
minLength | 数値 または文字列または null |
"minLength": "2" |
|
初期値 | defaultValue | 文字列 または 空文字 または null |
"defaultValue":"初期値です"※複数初期値が指定できるフィールドの場合は配列で値が返ります。 |
初期値の式(日付、時刻、日時) | defaultExpression | "NOW" または null |
"defaultExpression":"NOW"※日付、時刻、日時の初期値に現在の日付、時刻、日時が指定されている場合はNOWが返り、このときのdefaultValueはnullとなります。 ※defaultExpressionがnullの場合は初期値はdefaultValueの値となります。 |
項目(選択系) | options | 文字列の配列(空文字列にはならない) |
"options":["A","B","C"] |
自動計算 | expression | 文字列 または "" |
"expression":"金額 * 数量"※計算式はフィールドコードで記述されます。 |
数値の桁区切り | digit | "true" または "false" |
"digit":"true" |
種類(リンク) | protocol |
|
"protocol":"WEB" |
表示書式 | format |
|
"format":"NUMBER" |
小数点以下の表示桁数 | displayScale | 小数点以下の表示桁数。未設定の場合はnull。 |
"displayScale": "4" |
計算式の非表示 | hideExpression | "true" または "false" |
"hideExpression": "false" |
ルックアップ、関連レコード一覧の参照元アプリのID | relatedApp |
数値(参照元アプリの権限がない場合はnull)又は文字列 |
"relatedApp":"123" |
テーブル内のフィールド | fields | 配列 |
"fields": [ { "code": "文字列__1行_テーブル", "defaultValue": "", "expression": "", "hideExpression": "false", "maxLength": "64", "minLength": null, "label": "文字列 (1行)テーブル", "noLabel": "false", "required": "true", "type": "SINGLE_LINE_TEXT", "unique": "true" }, { "code": "数値テーブル", "defaultValue": "12345", "digit": "true", "displayScale": null, "expression": "", "maxValue": null, "minValue": null, "label": "数値テーブル", "noLabel": "true", "required": "false", "type": "NUMBER", "unique": "false" } ] |
単位記号 | unit | 文字列(未設定の場合はnull) |
"unit": "$" |
単位記号の位置 | unitPosition |
"BEFORE":前に付ける 単位記号の設定に関わらず、保存している"BEFORE" または、"AFTER"を返す。 フォームに配置直後は"BEFORE"となる。 |
"unitPosition": "BEFORE" |
フィールドごとの取得できるプロパティ
フィールド型 | タイプ | 取得するプロパティ |
---|---|---|
ラベル | LABEL |
|
文字列(1行) | SINGLE_LINE_TEXT |
|
数値 | NUMBER |
|
計算 | CALC |
|
文字列(複数行) | MULTI_LINE_TEXT |
|
リッチエディター | RICH_TEXT |
|
チェックボックス | CHECK_BOX |
|
ラジオボタン | RADIO_BUTTON |
|
ドロップダウン | DROP_DOWN |
|
複数選択 | MULTI_SELECT |
|
添付ファイル | FILE |
|
日付 | DATE |
|
時刻 | TIME |
|
日時 | DATETIME |
|
リンク | LINK |
|
スペース | SPACER |
|
罫線 | HR |
|
ユーザー選択 | USER_SELECT |
|
ルックアップ |
コピー元のフィールドのタイプに従う 例: |
|
関連レコード一覧 |
REFERENCE_TABLE |
|
レコード番号 | RECORD_NUMBER |
|
作成者 | CREATOR |
|
作成日時 | CREATED_TIME |
|
更新者 | MODIFIER |
|
更新日時 | UPDATED_TIME |
|
テーブル | SUBTABLE |
|
組織選択フィールド | ORGANIZATION_SELECT |
|
グループ選択フィールド | GROUP_SELECT |
|
取得できないフィールド
- カテゴリー
- ステータス
- グループ
- グループフィールド内の下記のフィールド
組み込みフィールド(レコード番号、作成者、作成日時、更新者、更新日時)、スペース、ラベル、罫線
サンプル
kintone.api() を使用してフォーム設計情報取得時にメッセージを表示します。
XMLHttpRequestを使用してリクエストを送信する場合。
開発中アプリのフォーム設計情報取得
アプリの管理権限のあるユーザーが、開発中アプリのフォームの設計情報を取得できます。
HTTP メソッド
GET
URI
https://(サブドメイン名).cybozu.com/k/v1/preview/form.json
ゲストスペース内のアプリの場合
https://(サブドメイン名).cybozu.com/k/guest/(スペースのID)/v1/preview/form.json
※リクエストパラメータ及びレスポンスのプロパティについては、フォーム設計情報取得APIと同等です。
必要なアクセス権
- アプリ管理権限
JavaScriptサンプル
kintone REST APIリクエストを送信する API を使ったリクエスト
XMLHttpRequest を使ったリクエスト
お世話になります。
フィールドごとの取得できるプロパティを変数に代入したいときはどのように記述すればよいのでしょうか。
具体的にはoptionでドロップダウンフィールドの項目名を取得したいと思っています。
kumaさん
ご質問いただきありがとうございます。cybozu developer network運営事務局です。
ドロップダウンフィールドの項目名の取得についてですが、
resp.propertiesは配列になっているので、以下の順で処理することになります。
ご確認よろしくお願いします。
またご不明点ございましたらコメントください。
ご返信いただき、ありがとうございます。
ご教授いただいた方法で無事アプリ内の全てのドロップボックスの要素名が取得できました。
ありがとうございました。
参考までに作成したコードを置いておきます。
kumaさん
無事取得できたとのこと、良かったです。
サンプルコードも添付いただきありがとうございます。
また何かありましたら、ご連絡ください。
このドキュメントに、ルックアップはSINGLE_LINE_TEXTとして記載されていますが、実際にはNUMBERなど他のフィールドタイプで返ってくることがあります。
ドキュメントの記載が実際と違っていないでしょうか?
また明確なルックアップフィールドかどうかの判定方法の定義が書かれていると良いと思います。
makinoshi 様
お世話になります。cybozu developer network 運営でございます。
ご指摘ありがとうございます。
ご指摘のとおり、ルックアップのフィールドタイプは、
「コピー元のフィールド」で設定しているフィールドのフィールドタイプにより取得できる値が変化します。
文字列(1行)-> SINGLE_LINE_TEXT
数値 -> NUMBER
計算 -> NUMBER
ルックアップ -> 対象のルックアップフィールドに設定されているコピー元フィールドに従う
リンク -> SINGLE_LINE_TEXT
レコード番号 -> NUMBER
ドキュメントに不備があり申し訳ありません。
また、ルックアップフィールドかどうかの判別については、
フォームの設定の取得のAPIをご利用頂くことで実装可能です。