更新單個記錄

information

本頁面使用機器翻譯而成。
機器翻譯免責聲明 (External link)

目錄

更新單個記錄

更新單個記錄。
有兩種方法:一種是指定記錄ID,另一種是指定欄位的值。

URL

常規應用程式
https://sample.cybozu.com/k/v1/record.json
訪客空間的應用程式
https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/record.json

HTTP 方法

PUT

所需存取權限

  • 應用程式的記錄的編輯權限
  • 要更新其值的記錄的編輯權限
  • 要更新其值的欄位的編輯權限

請求

參數
參數名稱 類型 必須 說明
app 數值或字串 必須 應用ID
id 數值或字串 部分條件下必須 記錄ID
如果指定updateKey,則id 不能指定。
updateKey 物件 條件必填項 欄位代碼和値
如果要透過指定值來更新欄位,請指定updateKey
可指定的欄位為設置了"值為唯一"的「單行文字方塊」或「數值」欄位。
如果指定id,則updateKey 不能指定。
record 物件 可省略 指定記錄資訊(欄位代碼和欄位值)的物件
有關詳細的欄位格式,請參閱以下頁面。
欄位格式
如果省略,則不會更新數據。
revision 數值或字串 可省略 預期修訂號
如果它與實際修訂號不匹配,則會發生錯誤,並且不會更新記錄。
如果指定值「-1」或未指定值,則不會驗證修訂號。
示例請求
URL

https://sample.cybozu.com/k/v1/record.json

標頭
1
2
3
4
{
  "X-Cybozu-API-Token": "API_TOKEN",
  "Content-Type": "application/json"
}

有關請求頭的詳細資訊,請參閱通用規格。
kintone REST API通用規範

正文(指定記錄 ID)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
  "app": 1,
  "id": 1001,
  "record": {
    "單行文字方塊_0" : {
      "value": "character string is changed"
    },
    // 對於放置在表中的欄位的第一行
    "表格_0": {
      "value": [
        {
          "id": 1,
          "value": {
            "單行文字方塊_1" : {
              "value": "character string is changed"
            }
          }
        }
      ]
    }
  },
  "revision": 2
}
正文(如果要指定不重複的欄位代碼與值)
 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
{
  "app": 1,
  "updateKey": {
    "field": "單行文字方塊_0",
    "value": "欄位的値"
  },
  "record": {
    "單行文字方塊_1" : {
      "value": "character string is changed"
    },
    // 對於放置在表中的欄位的第一行
    "表格_0": {
      "value": [
        {
          "id": 1,
          "value": {
            "單行文字方塊_2": {
              "value": "character string is changed"
            }
          }
        }
      ]
    }
  },
  "revision": 2
}

回應

屬性
屬性名稱 類型 說明
revision 字串 已更新的記錄的修訂號
示例回應
1
2
3
{
  "revision": "3"
}

示例代碼

使用 curl 的請求
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
curl -X PUT 'https://sample.cybozu.com/k/v1/record.json' \
  -H 'X-Cybozu-API-Token: API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "id": 1001,
    "record": {
      "單行文字方塊_0" : {
        "value": "ABC"
      }
    }
  }'
kintone.api()請求使用

有關詳細的kintone.api(),請參閱以下頁面。
發送kintone REST API請求

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
const body = {
  app: kintone.app.getId(),
  id: 1001,
  record: {
    單行文字方塊_0: {
      value: 'ABC'
    }
  }
};

await kintone.api(kintone.api.url('/k/v1/record.json', true), 'PUT', body);

注意事項

更新附件欄位時
  • 如果要將新檔添加到已附加檔的欄位中,請將附加檔 fileKey 的值指定為欄位值。
  • 如果要更新已附加的檔,需要重新上傳文件來獲取fileKey,並在"獲取一個紀錄的API”中指定fileKey
  • 如果要從欄位中刪除已附加的檔案,請從欄位的值中排除要刪除 fileKey 的檔。
更新表格時
  • 如果省略record中表的欄位代碼,則保留該表中的數據。
    但是,如果要更新表的一部分,請在請求中包含所有現有行。 請求中未指定的行將被刪除。
  • 用獲取“1個紀錄的API”獲取到的表格中,如果指定了表格的行的id,則會對指定了id的行進行更新。
    獲取多條記錄
    如果不指定id,而直接更改行的值,則id將發生變更變。
  • 行的順序是請求中指定的陣列的順序。
    如果只想對行進行排序,請在請求中僅指定調整了排序的 id

限制事項

  • 以下欄位的值無法更新:
    • 從Lookup源複製的欄位
    • 狀態
    • 類別
    • 計算
    • 執行者
    • 建立人
    • 建立時間
    • 更新人
    • 更新時間
    • 具有自動計算功能的單行字串欄位