カテゴリー内の他の記事

レコードの取得(GET)

フォローする

Index

レコードの取得(1件)

レコードの閲覧権限のあるユーザーが、レコードIDを指定してレコードの内容を取得できます。

HTTP メソッド

GET

URI

https://(サブドメイン名).cybozu.com/k/v1/record.json

ゲストスペース内のアプリの場合

https://(サブドメイン名).cybozu.com/k/guest/(スペースのID)/v1/record.json 

リクエストパラメータ

パラメータ名 指定する値 必須 説明
app 数値又は文字列 必須 アプリのIDを指定します。
id 数値又は文字列 必須 レコードIDを指定します。

リクエストの例

(1) パラメータを HTTP のクエリ文字列で送信する場合

「app」「id」のパラメータを「&」で連結し、HTTPのクエリ文字列として送信します。

クエリ文字列
app=8&id=100
リクエストヘッダを含んだ文字列
GET /k/v1/record.json?app=8&id=100 HTTP/1.1
Host: example.cybozu.com:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
  • Content-Typeヘッダは不要です。

(2) パラメータを JSON形式で送信する場合(HTTP リクエストのリクエストボディに JSON データをセットする場合)

リクエストのヘッダとボディの例

リクエストヘッダ
GET /k/v1/record.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形式で返されます。 ※各フィールドの形式については フィールド形式をご確認ください。

JavaScriptサンプル

kintone REST API

XMLHttpRequest

レコードの一括取得(クエリで条件を指定)

レコードの閲覧権限のあるユーザーが、レコードをクエリで条件を指定して取得できます。

2019年6月現在、将来的にoffset 上限値1万件の設定を検討しています。
全件取得をする場合、レコードの一括取得を使用してください。

  • 一度に取得できるレコードは 500件までです。
  • リクエスト時にクエリで指定できる fields の添字は、0~99の範囲になります。
  • リクエスト時にボディで指定できる fields数は 1000個までです。
  • クエリで文字列検索する場合は単語検索となります。詳しくは「検索キーワードに関する注意」を参照ください。
  • クエリ検索結果が10万件以上存在するとき、絞り込みが中断されます。
    その場合レスポンスヘッダに「x-cybozu-warning : Filter aborted because of too many search results.」が追加されます。

HTTP メソッド

GET

URI

https://(サブドメイン名).cybozu.com/k/v1/records.json

ゲストスペース内のアプリの場合

https://(サブドメイン名).cybozu.com/k/guest/(スペースのID)/v1/records.json 

リクエストパラメータ

パラメータ名 指定する値 必須 説明
fields 文字列の配列 省略可 レスポンスに含めるフィールドコードを指定します。
省略した場合は、閲覧権限を持つすべてのフィールドの値が返されます。
app 数値又は文字列 必須 アプリのID を指定します。
query 文字列 省略可 レスポンスに含めるレコードの条件を指定するクエリ文字列です。 クエリ文字列内では、後述の演算子とオプションが使用できます。
省略した場合は、閲覧権限を持つすべてのレコードが返されます。
totalCount 真偽値又は文字列 省略可

「query」パラメータで指定した条件にあてはまるレコードの件数を取得する場合、「true」を指定します。
指定を省略した場合、レスポンスにはtotalCountの値としてnullが返されます。

「query」パラメータで利用可能な演算子と関数

演算子

演算子 意味
= 文字列_0 = "テスト" 演算子の前に指定したフィールドコードの値と演算子の後に指定した値が一致するレコードが抽出されます。
!= 文字列_0 != "テスト" 演算子の前に指定したフィールドコードの値と演算子の後に指定した値が異なるレコードが抽出されます。
> 数値_0 > 10 演算子の前に指定したフィールドコードの値が、演算子の後に指定した値より大きいレコードが抽出されます。
< 数値_0 < 10 演算子の前に指定したフィールドコードの値が、演算子の後に指定した値より小さいレコードが抽出されます。
>= 数値_0 >= 10 演算子の前に指定したフィールドコードの値が、演算子の後に指定した値以上のレコードが抽出されます。
<= 数値_0 <= 10 演算子の前に指定したフィールドコードの値が、演算子の後に指定された値以下のレコードが抽出されます。
in ドロップダウン_0 in ("A", "B") 演算子の前に指定したフィールドコードの値が、演算子の後の括弧内に列挙した文字列のいずれかと一致するレコードが抽出されます。
ドロップダウンやラジオボタンなどの選択式のフィールドで指定した選択肢が選択されたレコードを抽出する場合に使います。
左の例では、ドロップダウンリストで「A」か「B」が選択されているレコードが抽出されます。
not in ドロップダウン_0 not in ("A", "B") 演算子の前に指定したフィールドコードの値が、演算子の後の括弧内に列挙した文字列と一致しないレコードが抽出されます。
ドロップダウンやラジオボタンなどの選択式のフィールドで指定した選択肢が選択されていないレコードを抽出する場合に使います。
左の例では、ドロップダウンリストで「A」か「B」以外が選択されているレコードが抽出されます。
like 文字列_0 like "テスト" 演算子の前に指定したフィールドコードの値が、演算子の後に指定した値を含むレコードが抽出されます。
判定するフィールドの型が添付ファイルの場合、ファイル名とファイルの内容が判定の対象になります。
not like 文字列_0 not like "テスト" 演算子の前に指定したフィールドコードの値が、演算子の後に指定した値を含まないレコードが抽出されます。
or 数値_0 < 10 or 数値_0 > 20 上述の演算子を使用した2つの条件式の論理和を求めます。
左の例では、フィールドコード「数値_0」が10より小さい、または20より大きいレコードが抽出されます。
and 数値_0 >= 10 and 数値_0 <= 20 上述の演算子を使用した2つの条件式の論理積を求めます。
左の例では、フィールドコード「数値_0」が10以上、かつ20以下のレコードが抽出されます。
  • フィールドコードは、演算子の前に記述します。演算子の後には記述できません。
  • 式を「( )」でグループ化できます。 例 (数値_0 >= 10 and 数値_0 <= 20) or (数値_1 >= 100 and 数値_1 <= 200)
  • クエリで文字列検索する場合は単語検索となります。詳しくは「検索キーワードに関する注意」を参照ください。

関数

関数名 内容
LOGINUSER() 作成者 in (LOGINUSER()) APIを実行したユーザーに変換されます。
PRIMARY_ORGANIZATION() 組織 in (PRIMARY_ORGANIZATION()) APIを実行したユーザーの優先する組織。
NOW() 作成日時 = NOW() APIを実行した日時に変換されます。
TODAY() 作成日時 = TODAY() APIを実行した日に変換されます。
FROM_TODAY(数字, 期間の単位) 作成日時 < FROM_TODAY(5, DAYS)

期間の単位に指定可能な文字列です。

  • DAYS:日単位
  • WEEKS:週単位
  • MONTHS:月単位
  • YEARS:年単位
THIS_WEEK() 作成日時を日曜日にする場合
  • 作成日時 = THIS_WEEK(SUNDAY)

曜日に指定可能な文字列です。
※指定しない場合には、日曜日になります。

  • SUNDAY:日曜日
  • MONDAY:月曜日
  • TUESDAY:火曜日
  • WEDNESDAY:水曜日
  • THURSDAY:木曜日
  • FRIDAY:金曜日
  • SATURDAY:土曜日
LAST_WEEK() 作成日時 = LAST_WEEK() 曜日に指定可能な文字列は、THIS_WEEK()参照。
THIS_MONTH([数値|フォーマット文字]) 今月のすべて
  • 作成日時 = THIS_MONTH()
今月末
  • 作成日時 = THIS_MONTH(LAST)
今月の20日
  • 作成日時 = THIS_MONTH(20)
APIを実行した月に変換されます。
引数に次の値を指定することができます。
  • LAST:今月末
  • 1-31の数値:指定した今月の日付
    ※月に指定した日がない場合は、「翌月1日」で計算されます。
LAST_MONTH([数値|フォーマット文字]) 前月のすべて
  • 作成日時 = LAST_MONTH()
前月末
  • 作成日時 = LAST_MONTH(LAST)
前月の20日
  • 作成日時 = LAST_MONTH(20)
APIを実行した前月に変換されます。
引数に次の値を指定することができます。
  • LAST:前月末
  • 1-31の数値:指定した前月の日付
    ※月に指定した日がない場合は、「翌月1日」で計算されます。
THIS_YEAR() 作成日時 = THIS_YEAR() APIを実行した年に変換されます。

フィールド、システム識別子ごとの利用可能な演算子と関数一覧

フィールド又はシステム識別子 利用可能な演算子 利用可能な関数
レコード番号 = != > < >= <= in not in  
$id = != > < >= <= in not in  
作成者 in not in LOGINUSER()
作成日時 = != > < >= <= NOW()
TODAY()
FROM_TODAY()
THIS_WEEK()
LAST_WEEK() 
THIS_MONTH()
LAST_MONTH()
THIS_YEAR()
更新者 in not in LOGINUSER()
更新日時 = != > < >= <= NOW()
TODAY()
FROM_TODAY()
THIS_WEEK()
LAST_WEEK() 
THIS_MONTH()
LAST_MONTH()
THIS_YEAR()
文字列(1行)、リンク = != in not in like not like --
数値 = != > < >= <= in not in --
文字列(複数行) like not like --
リッチエディター like not like --
チェックボックス in not in --
ラジオボタン in not in --
ドロップダウン in not in --
複数選択 in not in --
添付ファイル like not like --
日付 = != > < >= <=

TODAY()
FROM_TODAY()
THIS_WEEK()
LAST_WEEK() 
THIS_MONTH()
LAST_MONTH()
THIS_YEAR()

時刻 = != > < >= <= --
日時 = != > < >= <= NOW()
TODAY()
FROM_TODAY()
THIS_WEEK()
LAST_WEEK() 
THIS_MONTH()
LAST_MONTH()
THIS_YEAR()
ユーザー選択 in not in LOGINUSER()
組織選択 in not in

PRIMARY_ORGANIZATION()

グループ選択 in not in --
ステータス = != in not in --

ルックアップ

ルックアップ元のフィールドタイプと同一 ルックアップ元のフィールドタイプと同一
関連レコード 参照するアプリのフィールドタイプと同一 参照するアプリのフィールドタイプと同一

テーブル化されたフィールド、関連レコードのフィールドをクエリに含める場合の注意事項

テーブル化されたフィールドおよび、関連レコードのフィールドをクエリに含める場合、「=」、「!=」演算子の代わりに「in」、「not in」演算子を使う必要があります。

関連レコードに含まれるフィールドを指定する方法

関連レコードに含まれるフィールドを条件に含める場合、次のような形式でフィールドを指定します。

関連レコードのフィールドコード.関連レコード先のフィールドコード

関連レコードのフィールドコードを指定する例

  • 関連レコードのフィールドコードが「企業マスタ」
  • 企業マスタに含まれる「企業名」フィールドが「サイボウズ」
  • 企業マスタに含まれる「所在地」フィールドが「東京都」を含む
「query」パラメータの例
企業マスタ.企業名 in ("サイボウズ") and 企業マスタ.所在地 like "東京都"

レコード番号フィールドの指定

絞り込み条件とorder byでレコード番号のフィールドコードを指定する代わりに$idでレコード番号フィールドを指定することができます。
関連レコード一覧内のレコード番号フィールドを指定する場合、「関連レコード一覧のフィールドコード.$id」で指定できます。

「query」パラメータで使用できるオプション

オプション 説明
order by order by 更新日時 asc レコードの出力される順番が、本オプションに続けて指定したフィールドコードの値でソートされます。
フィールドコードの後に「asc」を指定すると昇順、「desc」を指定すると降順でソートされます。
省略した場合は、レコードIDの降順で返されます。
limit limit 20 本オプションの後に指定した数だけ、レコードが出力されます。
左の例では、レコード先頭から20レコードだけ出力されます。
省略時の初期値は100、上限値は500です。
offset offset 30 本オプションの後に指定した数だけ、出力するレコードをスキップして、レコードが抽出されます。
左の例では、レコード先頭から30レコードは出力されず、31番目のレコードから出力されます。
上限値はありません。

上記演算子、オプションは組み合わせて使用できます。

リクエストの例

パラメータを HTTP のクエリ文字列で送信する場合

「app」「query」「fields」の3つのパラメータを「&」で連結したものをHTTPのクエリ文字列として送信します。クエリの各パラメータ名およびその値はURLエンコードが必要です。

レコード取得条件の例
  • アプリIDが「8」
  • 「query」パラメータの値が「更新日時 > "2012-02-03T09:00:00+0900" and 更新日時 < "2012-02-03T10:00:00+0900" order by レコード番号 asc limit 10 offset 20」
  • 出力するフィールドが「レコード番号」「作成日時」「ドロップダウン」
  • 指定した条件にあてはまるレコードの件数を取得する
HTTPのクエリ文字列の例
app=8&query=updated_time%20%3E%20%222012-02-03T09%3A00%3A00%2B0900%22%20and%20updated_time%20%3C%20%222012-02-03T10%3A00%3A00%2B0900%22%20order%20by%20%24id%20asc%20limit%2010%20offset%2020&fields%5B0%5D=%24id&fields%5B1%5D=created_time&fields%5B2%5D=dropdown
リクエストヘッダの例
GET /k/v1/records.json?app=8&query=updated_time%20%3E%20%222012-02-03T09%3A00%3A00%2B0900%22%20and%20updated_time%20%3C%20%222012-02-03T10%3A00%3A00%2B0900%22%20order%20by%20%24id%20asc%20limit%2010%20offset%2020&fields%5B0%5D=%24id&fields%5B1%5D=created_time&fields%5B2%5D=dropdown HTTP/1.1
Host: example.cybozu.com:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
  • Content-Typeヘッダは不要です。

パラメータを JSON形式で送信する場合(HTTP リクエストのリクエストボディに JSON データをセットする場合)

リクエストのヘッダとボディの例

リクエストヘッダ
GET /k/v1/records.json HTTP/1.1
Host: example.cybozu.com:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
Content-Type: application/json
Content-Length: 234
ボディ
    • Content-Type に application/json を指定して下さい。 指定しない場合は JSON が解釈できないため、実行時エラーとなります。
    • 文字列の値は、「\(バックスラッシュ)」でエスケープした「"(ダブルクォーテーション)」で囲みます。

レスポンスの例

指定したフィールドのみが含まれるレコードのリストが JSON 配列で返されます。 ※各フィールドの形式については フィールド形式をご確認ください。

JavaScriptサンプル

kintone REST API

XMLHttpRequest

制限事項

共通仕様の制限事項 をご確認ください。

関連Tips

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

Avatar
TAKA

事務局様

承知しました。

コミュニティを活用させていただきます。
失礼しました。

ログインしてコメントを残してください。