APIを実行したユーザーのレコードのアクセス権の設定を取得する

目次

APIを実行したユーザーのレコードのアクセス権限を取得する

APIを実行したユーザーについて、レコードやフィールドのアクセス権の設定を取得します。

URL

通常のアプリ
https://sample.cybozu.com/k/v1/records/acl/evaluate.json
ゲストスペースのアプリ
https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/records/acl/evaluate.json

HTTPメソッド

GET

必要なアクセス権

次のいずれかの権限が必要です。

  • アプリのレコード閲覧権限
  • アプリのレコード追加権限

リクエスト

パラメーター
パラメーター名 必須 説明
app 数値または文字列 必須 アプリID
ids 配列(数値) 必須 アクセス権を取得するレコードのレコードID
最大で100件のレコードIDを指定できます。
存在しないレコードIDが含まれているとエラーになります。
リクエストの例(URLにパラメーターを含める場合)
URL

https://sample.cybozu.com/k/v1/records/acl/evaluate.json?app=8&ids[0]=1&ids[1]=2

ヘッダー
1
2
3
{
  "X-Cybozu-Authorization": "QWRtaW5pc3RyYXRvcjpjeWJvenU="
}

リクエストヘッダーの詳細は共通仕様を参照してください。
kintone REST APIの共通仕様

リクエストの例(リクエストボディにパラメーターを含める場合)
URL

https://sample.cybozu.com/k/v1/records/acl/evaluate.json

ヘッダー
1
2
3
4
{
  "X-Cybozu-Authorization": "QWRtaW5pc3RyYXRvcjpjeWJvenU=",
  "Content-Type": "application/json"
}

リクエストヘッダーの詳細は共通仕様を参照してください。
kintone REST APIの共通仕様

ボディ
1
2
3
4
{
  "app": "1",
  "ids": [1, 2]
}

レスポンス

プロパティ
プロパティ名 説明
rights 配列 アクセス権の設定の一覧
rights[].id 文字列 レコードID
rights[].record オブジェクト 指定したレコードのアクセス権の設定
rights[].record.viewable 真偽値 レコードの閲覧が可能かどうか
  • true:閲覧できる
  • false:閲覧できない
メンテナンスモードの場合は、「false」が設定されます。
rights[].record.editable 真偽値 レコードの編集が可能かどうか
  • true:編集できる
  • false:編集できない
メンテナンスモードの場合は、「false」が設定されます。
rights[].record.deletable 真偽値 レコードの削除が可能かどうか
  • true:削除できる
  • false:削除できない
メンテナンスモードの場合は、「false」が設定されます。
rights[].fields オブジェクト レコードに存在するフィールドのアクセス権
レコードを更新するAPIで操作できるフィールドのアクセス権が返ります。
APIを実行するユーザーに閲覧権限のないフィールドや、アクセス権を設定していないフィールドも含まれます。
テーブル内のフィールドでも通常に配置したフィールドと同じ階層で返ります。
rights[].fields.フィールドコード.viewable 真偽値 フィールドの閲覧が可能かどうか
  • true:閲覧できる
  • false:閲覧できない
メンテナンスモードの場合は、「false」が設定されます。
rights[].fields.フィールドコード.editable 真偽値 フィールドの編集が可能かどうか
  • true:編集できる
  • false:編集できない
メンテナンスモードの場合は、「false」が設定されます。
レスポンスの例
 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
33
34
35
36
37
38
39
40
{
  "rights": [
    {
      "id": "1",
      "record": {
        "viewable": true,
        "editable": false,
        "deletable": false
      },
      "fields": {
        "文字列1行_0": {
          "viewable": true,
          "editable": false
        },
        "文字列複数行_0": {
          "viewable": false,
          "editable": false
        }
      }
    },
    {
      "id": "2",
      "record": {
        "viewable": true,
        "editable": true,
        "deletable": true
      },
      "fields": {
        "文字列1行_0": {
          "viewable": true,
          "editable": true
        },
        "文字列複数行_0": {
          "viewable": true,
          "editable": true
        }
      }
    }
  ]
}

サンプルコード

curlを使ったリクエスト
1
2
3
4
5
6
7
curl -X GET 'https://sample.cybozu.com/k/v1/records/acl/evaluate.json' \
  -H 'X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "ids": [1, 2]
  }'
kintone.api()を使ったリクエスト

kintone.api()の詳細は、次のページを参照してください。
kintone REST APIリクエストを送信する

1
2
3
4
5
6
const body = {
  app: kintone.app.getId(),
  ids: [1, 2]
};

await kintone.api(kintone.api.url('/k/v1/records/acl/evaluate.json', true), 'GET', body);

制限事項

  • APIトークンは使用できません。
  • 次のフィールドに関するアクセス権は、このAPIで取得できません。
    • レコード番号 *1
    • ラベル *1
    • 罫線 *1
    • スペース *1
    • テーブル *1
    • グループ
    • 関連レコード一覧
    • 作成者
    • 作成日時
    • 更新者
    • 更新日時
  • フィールドの閲覧権限や編集権限は、レコードの権限で上書きされます。

*1 「フィールドのアクセス権」で設定できないフィールドです。 ^