UserRecordAccess
サポートされているコール
describeSObjects()、query()
項目
| 項目 | 詳細 |
|---|---|
| HasAllAccess |
|
| HasDeleteAccess |
|
| HasEditAccess |
|
| HasTransferAccess |
|
| HasReadAccess |
|
| MaxAccessLevel |
|
| RecordId |
|
| UserId |
|
使用方法
このオブジェクトを使用してユーザのレコードに対するアクセス権を照会します。[共有設定] 設定ページにリストされているオブジェクトのレコードのみを照会できます。このオブジェクトを使用してレコードを作成、削除または更新することはできません。
200 個までのレコード ID を照会できます。クエリで選択されている項目に対して ORDER BY 句を含めることができます。
次のサンプルのクエリでは、レコード、クエリ対象のユーザに各レコードに対する参照および転送アクセス権があるかどうか、および各レコードに対するユーザの最大アクセスレベルが返されます。
1SELECT RecordId, HasReadAccess, HasTransferAccess, MaxAccessLevel
2 FROM UserRecordAccess
3 WHERE UserId = [single ID]
4 AND RecordId = [single ID] //or Record IN [list of IDs]次のクエリでは、クエリ対象のユーザが参照アクセス権を持つレコードが返されます。
1SELECT RecordId
2 FROM UserRecordAccess
3 WHERE UserId = [single ID]
4 AND RecordId = [single ID] //or Record IN [list of IDs]
5 AND HasReadAccess = trueAPI バージョン 30.0 以降では、UserRecordAccess はレコードの外部キーになります。このオブジェクトをルックアップまたは外部キーとして使用する場合は、UserId または RecordId 項目を検索条件に使用したり、指定したりすることはできません。前記のサンプルクエリは、次のように実行できます。
1SELECT Id, Name, UserRecordAccess.HasReadAccess, UserRecordAccess.HasTransferAccess, UserRecordAccess.MaxAccessLevel
2 FROM Account1SELECT Id, Name, UserRecordAccess.HasReadAccess
2 FROM AccountSOQL 制限
- 実行ユーザがレコードのセットに対するユーザのアクセスを照会する場合は、実行ユーザが参照アクセス権を持たないレコードは、結果から除外されます。
- UserId および RecordId のみを使用して絞り込む場合は、SELECT RecordId および任意で 1 つ以上のアクセスレベル項目 (HasReadAccess、HasEditAccess、HasDeleteAccess、HasTransferAccess、HasAllAccess) を使用する必要があります。MaxAccessLevel を含めることができます。
- UserId、RecordId、およびアクセスレベル項目で絞り込む場合は、SELECT RecordId のみを使用する必要があります。