ContentDocument
Salesforce CRM Content のライブラリにアップロードされたドキュメントまたは Salesforce Files を表します。Salesforce CRM Content では、バージョン 17.0 以降でこのオブジェクトを使用できます。Salesforce Files では、API バージョン 21.0 以降でこのオブジェクトを使用できます。
公開できる最大ドキュメント数は 30,000,000 です。アーカイブされたファイルは、この制限とディスク使用量制限に含まれます。
- Contact Manager Edition、Group Edition、Professional Edition、Enterprise Edition、Unlimited Edition、および Performance Edition を使用するお客様は、24 時間につき最大で 200,000 件の新しいバージョンを公開できます。
- Developer Edition とトライアル版のお客様は、24 時間につき最大で 2,500 件の新しいバージョンを公開できます。
サポートされているコール
delete()、describeLayout()describeSObjects()、query()、retrieve()、search()、undelete()、update()
特別なアクセスルール
-
デフォルトでは、ユーザ (「すべてのデータの参照」権限を持つユーザを含む) は、自分がアクセス権を持つファイルに対してのみクエリを実行できます。たとえば、次のファイルです。
- ライブラリの権限に関係なく、自分の個人ライブラリおよび自分がメンバーであるライブラリ内の Salesforce Files (API バージョン 17.0 以降)。
- 自分が所有しているか、直接共有しているか、プロファイルに投稿したか、参照可能なグループに投稿した Salesforce Files (API バージョン 21.0 以降)。
- カスタマーポータルユーザおよびパートナーポータルユーザが、アクセス権を持つライブラリのコンテンツを照会するには、「ポータルのコンテンツの参照」権限が必要です。
- 次のいずれかに該当する場合、Salesforce CRM Content ドキュメントを削除できます。
- ドキュメントが個人ライブラリに公開されているか、またはユーザのアップロードキューである。
- ドキュメントが公開ライブラリに公開され、ドキュメントを削除しようとしているユーザがファイルの所有者であり、そのユーザがそのライブラリのメンバーである。
- ドキュメントが公開ライブラリに公開され、ドキュメントを削除しようとしているユーザが所有者ではなく、そのユーザが「ライブラリの管理」権限または「コンテンツの削除」ライブライ権限を所有している。
API バージョン 25.0 以降では、Salesforce Files および Salesforce CRM Content ドキュメントの所有権を変更できます。
- 次のいずれかの条件を満たす場合、ユーザは Salesforce CRM Content ドキュメントまたは Salesforce ファイルの所有権を変更できます。
- ユーザは現在の所有者です。
- ユーザが、「すべてのデータの編集」権限または「Salesforce CRM Content の管理」権限のいずれかを所有している。
- コンテンツライブラリ内のファイルの場合、ユーザが、そのドキュメントを含むライブラリに対して有効な「ライブラリの管理」権限を所有している。
項目
使用方法
- このオブジェクトを使用して、ライブラリのドキュメントまたは Salesforce ファイルの最新バージョンを取得、クエリ、更新、削除します。ContentVersion オブジェクトを使用して、Salesforce CRM Content ドキュメントまたは Salesforce ファイルの特定のバージョンを作成、クエリ、取得、検索、編集、更新します。
- ドキュメントレコードは複数のバージョンのレコードのコンテナです。システムにドキュメントを追加するには、バージョンを作成します。新しいバージョンには実際のファイルデータが含まれます。これにより、ドキュメン���に複数のバージョンを含むことができます。このバージョンにはアップロードされたドキュメントの本文が格納されます。
- ドキュメントを作成するには、ContentDocumentId を設定しないで、ContentVersion オブジェクトを使用してバージョンを作成します。このプロセスにより、親ドキュメントレコードが自動的に作成されます。ドキュメントの新しいバージョンを追加する場合、ドキュメントの修正プロセスを開始する既存の ContentDocumentId を指定する必要があります。最新バージョンが公開されると、ドキュメントのタイトル、所有者、公開状況の項目が更新されます。
- アーカイブ済みドキュメントの新しいバージョンを追加することはできません。
- ドキュメントを削除すると、評価、コメント、タグを含むドキュメントのすべてのバージョンが削除されます。
- ContentDocument の挿入トリガは、ファイルライブラリにファイル (ContentDocument) が追加されたときに実行されます。
- ContentDocument の削除トリガは、ファイルが削除されると実行されますが、カスケードされた ContentDocumentLink の削除では ContentDocumentLink のトリガは実行されません。
- query() コールは、アーカイブされたドキュメントを返しません。queryAll() コールは、アーカイブされたドキュメントを返します。
-
レコード共有でのみアクセス可能なファイルを照会するには、ファイルのコンテンツ ID を指定する必要があります。SOQL で ContentVersion オブジェクトを照会する場合、ContentVersionId または ContentDocumentId を AND 演算子で複合する必要があります。
次に例を示します。
1SELECT FileExtension, Title FROM ContentVersion 2WHERE (ContentDocumentId = '<ContentDocumentId>' or Id='<ContentVersionId>') and IsLatest=true1SELECT Id, VersionData, FileExtension, Title FROM ContentVersion 2WHERE ContentDocumentId='<ContentDocumentId>' AND FirstPublishLocationId = '<FirstPublishLocationId>' - API でバージョンを照会する場合、Upload Interrupted の PublishStatus を指定したバージョンは返されません。
- トピックを ContentDocument に割り当てるには API バージョン 37.0 以降の TopicAssignment を使用します。
関連付けられたオブジェクト
このオブジェクトには次の関連するオブジェクトがあります。特に記載がない限り、関連付けられたオブジェクトはこのオブジェクトと同じ API バージョンで使用できます。
- ContentDocumentChangeEvent (API バージョン 55.0)
- このオブジェクトには変更イベントを利用できます。
- ContentDocumentFeed (API バージョン 20.0)
- このオブジェクトにはフィード追跡を利用できます。
- ContentDocumentHistory
- オブジェクトの追跡項目について履歴を利用できます。