この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

UserRecordAccess

ユーザーの一連のレコードへのアクセスを表します。このオブジェクトは参照のみで、API バージョン 24.0 以降で使用できます。このオブジェクトは、ユーザーのアクセスが制限ルールによってブロックされているかどうかを考慮しません。

サポートされているコール

describeSObjects()query()

項目

項目 詳細
HasAllAccess
boolean
プロパティ
Defaulted on create、Filter、Group、Sort
説明
ユーザーがレコードを共有できるかどうかを示します。
HasDeleteAccess
boolean
プロパティ
Defaulted on create、Filter、Group、Sort
説明
ユーザーにレコードに対する削除アクセス権があるか (true)、否か (false) を示します。
HasEditAccess
boolean
プロパティ
Defaulted on create、Filter、Group、Sort
説明
ユーザーにレコードに対する編集アクセス権があるか (true)、否か (false) を示します。
HasTransferAccess
boolean
プロパティ
Defaulted on create、Filter、Group、Sort
説明
ユーザーにレコードに対する転送アクセス権があるか (true)、否か (false) を示します。
HasReadAccess
boolean
プロパティ
Defaulted on create、Filter、Group、Sort
説明
ユーザーにレコードに対する参照アクセス権があるか (true)、否か (false) を示します。
MaxAccessLevel
picklist
プロパティ
Group、Nillable、Restricted picklist、Sort
説明
ユーザーのレコードに対する最大レベルのアクセス権を示します。
有効な値は、次のとおりです。
  • None
  • Read
  • Edit
  • Delete
  • Transfer
  • All
RecordId
picklist
プロパティ
Filter、Group、Restricted picklist、Sort
説明
レコードの ID。
UserId
reference
プロパティ
Filter、Group
説明
ユーザーの ID。

使用方法

このオブジェクトを使用してユーザーのレコードに対するアクセス権を照会します。[共有設定] 設定ページにリストされているオブジェクトのレコードのみを照会できます。このオブジェクトを使用してレコードを作成、削除または更新することはできません。

UserRecordAccess は、ユーザーのアクセスが制限ルールによってブロックされているかどうかを考慮しません。ユーザーのアクセスが可能なことをクエリ結果が示しているにもかかわらず、ユーザーのアクセスがブロックされた場合、オブジェクトの制限ルールによってユーザーのアクセスが妨げられていないかを確認してください。

メモ

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 = true

API バージョン 30.0 以降では、UserRecordAccess はレコードの外部キーになります。このオブジェクトをルックアップまたは外部キーとして使用する場合は、UserId または RecordId 項目を検索条件に使用したり、指定したりすることはできません。前記のサンプルクエリは、次のように実行できます。

1SELECT Id, Name, UserRecordAccess.HasReadAccess, UserRecordAccess.HasTransferAccess, UserRecordAccess.MaxAccessLevel 
2      FROM Account
1SELECT Id, Name, UserRecordAccess.HasReadAccess 
2      FROM Account
SOQL 制限
  • 実行ユーザーがレコードのセットに対するユーザーのアクセスを照会する場合は、実行ユーザーが参照アクセス権を持たないレコードは、結果から除外されます。
  • UserId および RecordId のみを使用して絞り込む場合は、SELECT RecordId および任意で 1 つ以上のアクセスレベル項目 (HasReadAccessHasEditAccessHasDeleteAccessHasTransferAccessHasAllAccess) を使用する必要があります。MaxAccessLevel を含めることができます。
  • UserIdRecordId、およびアクセスレベル項目で絞り込む場合は、SELECT RecordId のみを使用する必要があります。