レコード更新におけるテーブル操作のテクニック

フォローする

 

(著者:サイボウズ 後迫 孝

kintone アプリのレコードには、テーブルという複数の行を作成できます。 見積もりや月間タイムカード、訪問記録など、テーブルを利用するシーンは多いです。 このページでは、kintone REST APIを使ったテーブル操作を紹介します。

kintone REST APIを使って、レコード内のテーブルを更新するときには注意点があります。

  • レコード更新時にテーブルのデータを含まない場合には、テーブルのデータは保持される
  • レコード更新時にテーブルのデータを含む場合には、リクエストに含まれないデータは更新されない

これらの注意点を考慮し、さまざまなケースを紹介します。

まず、レコードを用意しましょう

事前に次のようにレコードのテキストとテーブルの2行を作成しておきましょう。
kintone APIはフィールドコードを使うため、今回は便宜上、フィールド名とフィールドコードは同じ名称にしておきます。

レコードの値を取得しましょう

レコードの値は、次のJSON形式で取得できます。

  • "type" ・・・フィールドタイプ
  • "id" ・・・テーブルの行のインデックス(1行目のidは0です)
  • "value" ・・・値
  • "Table"内の"id" ・・・行ID 

GET https://{subdomain}.cybozu.com/k/v1/record.json?app=2364&id=1
※ "app"・・・アプリID、 "id"・・・レコードID

テーブルの最後に値を追加する

行追加であっても、すでにテーブルにあった値をリクエストに含める必要があります。

  • "app" ・・・更新するアプリのアプリID
  • "id" ・・・更新するレコードID

実行後の画面

テーブルの1行目に挿入する

挿入の場合にも、テーブルの行追加と同様の処理になります。テーブルに表示したい順番でリクエストします。

  • "app" ・・・更新するアプリのアプリID
  • "id" ・・・更新するレコードID

実行後の画面

テーブルの1行の特定のフィールドのみを更新する

更新する行のIDを指定することで、その行の特定のフィールドのみを更新できます。
同じ行の他のフィールドを更新しない場合にはそのフィールドを省くことができます。

  • "app" ・・・更新するアプリのアプリID
  • "id" ・・・更新するレコードID
  • "Table"内の"id" ・・・更新する行ID

実行後の画面

赤枠の部分のみが更新されています。

補足)テーブルの内容をすべて削除する

テーブルを [] でしてして更新することで、削除できます。

  • "app" ・・・更新するアプリのアプリID
  • "id" ・・・更新するレコードID

このようにテーブル更新のテクニックを理解するだけで、さまざまな利用シーンに活用できるかと思います。
ぜひ、お試しください。

 

 

このTipsは、2014年4月版で確認したものになります。

 

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

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

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