更改記錄的存取權限設置

information

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

目錄

更改記錄的存取權限設置

更改記錄的存取權限設置。

URL

在生產環境中更新應用時,URL 與在測試環境中更新應用時不同。

如果要在正式版中更新應用

運行此 API 時,測試環境中應用的所有設置都會反映在生產應用中,而不僅僅是應用程式的存取權限。

常規應用程式
https://sample.cybozu.com/k/v1/record/acl.json
訪客空間的應用程式
https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/record/acl.json
如果要在測試環境中更新應用
常規應用程式
https://sample.cybozu.com/k/v1/preview/record/acl.json
訪客空間的應用程式
https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/preview/record/acl.json

HTTP 方法

PUT

所需存取權限

  • 應用程式管理

請求

參數

如果設置了以下許可權,則還必須允許相關許可權。

  • 如果允許“編輯記錄“或“刪除記錄“ 則還必須允許“查看記錄“。
參數名稱 類型 必須 說明
id或APP 數值或字串 必須 應用ID
指定idapp
如果同時指定了兩者,則設置id的值。
rights 陣列 必須 存取權限清單
按優先順序排序。
rights[].filterCond 字串 可省略 記錄的條件
以查詢格式指定。有關查詢格式,請參閱 如何編寫查詢
您可以指定的條件存在 限制
如果省略,則將定位“所有記錄”。
rights[].entities 陣列 必須 設置訪問許可權的目標清單
按優先順序排序。
即使您為“Everyone”(所有使用者)指定了優先順序,與其他設置相比,它的優先順序也是最低的。
rights[].entities[].entity 物件 必須 設置許可權的內容
rights[].entities[].entity.type 字串 必須 訪問許可權的類型
  • USER:使用者
  • GROUP:群組
  • ORGANIZATION:組織
  • FIELD_ENTITY:在“選擇表單中的欄位”中指定的欄位
rights[].entities[].entity.code 字串 必須 要為其設置許可權的代碼
entity.type 這取決於的值。
  • 對於“USER:用戶的登入名稱
  • 對於“GROUP”:群組代碼
  • 對於“ORGANIZATION”:組織代碼
  • 對於FIELD_ENTITY:在選擇表單中的欄位中指定的欄位的欄位代碼
如果未指定“Everyone”,則不允許對Everyone(所有使用者)進行所有操作。
如果要指定訪客,請在登入名稱前加上“guest/”。
rights[].entities[].viewable 布爾值或字串 可省略 是否可以查看記錄
  • true:允許查看
  • false:不允許查看
如果省略,則設置“false”。
rights[].entities[].editable 布爾值或字串 可省略 是否可以編輯記錄
  • true:允許編輯
  • false:不允許編輯
如果省略或不允許查看,則設置為“false”。
rights[].entities[].deletable 布爾值或字串 可省略 是否可以刪除記錄
  • true:允許刪除
  • false:不允許刪除
如果省略或不允許查看,則設置為“false”。
rights[].entities[].includeSubs 布爾值或字串 可省略 設置是否由子單位繼承
  • true:繼承時
  • false:不繼承
如果省略,則設置“false”。
revision 數值或字串 可省略 預期修訂號
如果與實際修訂號不匹配,則會發生錯誤,並且不會更改設置。
如果指定值“-1”或未指定值,則不會驗證修訂號。
對可指定的記錄條件的限制

rights[].filterCond中,您只能指定可以通過在螢幕上操作來設置的條件。
因此,它具有以下限制:

  • order by limit offset不可用。
  • andor不能混用。
  • 您不能與以下類型的欄位like not like 一起使用:
    • 單行文字方塊
    • 連結
  • 您不能與以下類型的欄位in > < 一起使用:
    • 記錄號碼
    • 數值
    • 計算
  • 您不能與以下類型的欄位= 一起使用:
    • 狀態
  • 以下類型的欄位不能用於指定條件:
    • 多行文字方塊
    • 文字編輯方塊
    • 附件
  • 無法使用函數。
    • NOW()
    • TODAY()
    • YESTERDAY()
    • TOMORROW()
    • THIS_WEEK()
    • LAST_WEEK()
    • NEXT_WEEK()
    • LAST_MONTH()
    • NEXT_MONTH()
    • THIS_MONTH()
    • THIS_YEAR()
    • LAST_YEAR()
    • NEXT_YEAR()
示例請求
標頭
1
2
3
4
{
  "X-Cybozu-API-Token": "API_TOKEN",
  "Content-Type": "application/json"
}

關於請求標頭,請參見 kintone REST API的通用規範

內文
 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
{
  "app": 1,
  "rights": [
    {
      "filterCond": "更新時間 > \"2012-02-03T09:00:00Z\" and 更新時間 < \"2012-02-03T10:00:00Z\"",
      "entities": [
        {
          "entity": {
            "type": "ORGANIZATION",
            "code": "org1"
          },
          "viewable": false,
          "editable": false,
          "deletable": false,
          "includeSubs": true
        },
        {
          "entity": {
            "type": "FIELD_ENTITY",
            "code": "更新人"
          },
          "viewable": true,
          "editable": true,
          "deletable": true
        }
      ]
    }
  ],
  "revision": 2
}

回應

屬性
屬性名稱 類型 說明
revision 字串 更改應用設置后的修訂號
示例回應
1
2
3
{
  "revision": "3"
}

示例代碼

使用 curl 的請求
 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
curl -X PUT 'https://sample.cybozu.com/k/v1/record/acl.json' \ 
  -H 'X-Cybozu-API-Token: API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
      "app": 1,
      "rights": [
      {
        "filterCond": "更新時間 > \"2012-02-03T09:00:00Z\" and 更新時間 < \"2012-02-03T10:00:00Z\"", 
        "entities": [
          {
            "entity": {
              "type": "USER",
              "code": "user1"
            },
            "viewable": false,
            "editable": false,
            "deletable": false,
            "includeSubs": true
          },
          {
            "entity": {
              "type": "FIELD_ENTITY",
              "code": "更新人"
            },
            "viewable:" true,
            "editable": true,
            "deletable": true
          }
        ]
      }
    ]
  }'
使用 發送kintone REST API請求的API發送的請求
 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
const body = {
  app: kintone.app.getId(),
  rights: [
    {
      filterCond: '更新時間 > "2012-02-03T09:00:00Z" and 更新時間 < "2012-02-03T10:00:00Z"',
      entities: [
        {
          entity: {
            type: 'USER',
            code: 'user1'
          },
          viewable: false,
          editable: false,
          deletable: false,
          includeSubs: true
        },
        {
          entity: {
            type: 'FIELD_ENTITY',
            code: '更新人'
          },
          viewable: true,
          editable: true,
          deletable: true
        }
      ]
    }
  ]
};

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