更改記錄的許可權設置

information

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

目錄

更改記錄的許可權設置

更改記錄的許可權設置。

  • 更改許可權設置的結果將按順序反映在應用程式中,從該過程完成開始。有關詳細資訊, 請檢查是否顯示 (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
id 指定或 app
如果兩者都指定id ,則設定值 。
rights 陣列 必須 存取權限清單
按優先順序排序。
rights[].filterCond 字串 自選 記錄的條件
以查詢格式指定。有關查詢格式, 請參閱如何 編寫查詢。
您可以指定的條件存在 限制
如果省略,則將定位"所有記錄"。
rights[].entities 陣列 必須 設置訪問許可權的目標清單
按優先順序排序。
即使您為"所有人"指定了優先順序,與其他設置相比,它的優先順序也是最低的。
rights[].entities[].entity 物件 必須 設置許可權的內容
rights[].entities[].entity.type 字串 必須 訪問許可權的類型
  • USER:使用者
  • GROUP:群組
  • ORGANIZATION:組織
  • FIELD_ENTITY:在"添加表單欄位"中指定的欄位
rights[].entities[].entity.code 字串 必須 要為其設置許可權的代碼
entity.type 這取決於的值。
  • 對於"使用者":用戶的登錄名
  • 對於"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
  • and or 並且不能混合。
  • 您不能與以下類型的欄位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);