ContentVersion
24 時間に公開できるバージョンの最大数は 200,000 です。
サポートされているコール
create()、describeLayout()、describeSObjects()、query()、retrieve()、search()、update()、upsert()
特別なアクセスルール
- カスタマーポータルユーザおよびパートナーポータルユーザが、アクセス権を持つライブラリのコンテンツをクエリするには、「ポータルのコンテンツの参照」権限が必要です。
- カスタマーポータルユーザ、およびパートナーポータルユーザは、Salesforce CRM Content 機能のライセンスを持っている場合にのみ、ドキュメントの公開、バージョン作成、編集を実行できます。
- コンテンツ機能のライセンスを持つすべてのユーザは、個人ライブラリでバージョンを作成できます。
- ユーザ (「すべてのデータの参照」権限を持つユーザを含む) は、自分がアクセス権を持つファイルに対してのみクエリを実行できます。次に例を挙げます。
- ライブラリの権限に関係なく、自分がメンバーであるライブラリと個人ライブラリのすべての Salesforce CRM Content ファイル (API バージョン 17.0 以降)。
- 自分が所有しているか、プロファイルに投稿したか、参照可能なグループに投稿したか、直接共有しているすべての Salesforce Files (API バージョン 21.0 以降)。
- すべてのユーザは、自身の個人ライブラリでバージョンを更新できます。
- ライブラリの権限に関係なく、ライブラリのメンバーであれば、バージョンまたはドキュメントの所有者はドキュメントを更新できます。
- Salesforce CRM Content ドキュメントを更新するには、ユーザは次のライブラリ権限が有効なライブラリのメンバーである必要があります。
- 「コンテンツの追加」
- 「コンテンツの代理追加」
- 「ライブラリの管理」
- FileType は、リンクの ContentUrl またはドキュメントの PathOnClient のいずれかで定義されます。
- API バージョン 34.0 以降では、ファイルが Chatter からであるか Salesforce CRM Content からであるかに関わらず、任意のファイルをライブラリと共有できます。
- API バージョン 39.0 以降では、ドキュメントへのアクセスを制御可能なカスタム Apex ダウンロードハンドラを作成できます。詳細は、『Apex コード開発者ガイド』を参照してください。
項目
| 項目 | 詳細 |
|---|---|
| Checksum |
|
| ContentBodyId |
|
| ContentDocumentId |
|
| ContentLocation |
|
| ContentModifiedById |
|
| ContentModifiedDate |
|
| ContentSize |
|
| ContentUrl |
|
| Description |
|
| Division |
|
| ExternalDataSourceId |
|
| ExternalDocumentInfo1 |
|
| ExternalDocumentInfo2 |
|
| FeaturedContentBoost |
|
| FeaturedContentDate |
|
| FileExtension |
|
| FileType |
|
| FirstPublishLocationId |
|
| IsAssetEnabled |
|
| IsEncrypted |
|
| IsLatest |
|
| IsMajorVersion |
|
| Language |
|
| NegativeRatingCount |
|
| NetworkId |
|
| Origin |
|
| OwnerId |
|
| PathOnClient |
|
| PositiveRatingCount | |
| PublishStatus |
|
| RatingCount |
|
| ReasonForChange |
|
| RecordTypeId |
|
| SharingOption |
|
| SharingPrivacy |
|
| TagCsv |
|
| TextPreview |
|
| Title |
|
| VersionData |
|
| VersionNumber |
|
使用方法
- このオブジェクトを使用して、Salesforce CRM Content ドキュメントまたは Salesforce ファイルの特定バージョンを作成、クエリ、取得、検索、編集、更新します。ContentDocument オブジェクトを使用して、ライブラリのドキュメント (コンテンツパックを除く) または Salesforce ファイルの最新バージョンを取得、クエリ、更新、削除します。
- このオブジェクトを使用して、Salesforce ファイルの特定バージョンを作成、クエリ、取得、検索、編集および更新します。ContentDocument オブジェクトを使用して、Salesforce ファイルの最新バージョンを取得、クエリ、更新、削除します。
- レコードとのみ共有されているファイルをクエリするには、ファイルのコンテンツ ID を指定する必要があります。
- Salesforce Files にすべての項目を設定できるわけではありません。
- 最新バージョンで公開されている場合にのみ、バージョンを更新できます。
- バージョンをアーカイブすることはできません。
- API バージョン 32.0 以降では、バージョンのレコードタイプを更新できます。
- API を使用してバージョンを削除することはできません。
- SOAP API を使用してアップロードできるファイルの最大サイズは 50 MB です。ドキュメントが API を使用してアップロードまたはダウンロードされると、base64 に変換され、VersionData に格納されます。この変換により、ドキュメントサイズは約 37% 増加します。アップロードする予定のファイルが 50 MB 未満になるように base64 変換による増加を考慮する必要があります。
- API を使用してドキュメントをダウンロードするには、ドキュメントの VersionData をエクスポートする必要があります。これにより、ダウンロード数は増えません。
- データローダを使用してドキュメントをローカルドライブからアップロードする場合、VersionData および PathOnClient で実際のパスを指定する必要があります。VersionData は場所を示し、形式を抽出します。PathOnClient はアップロードされるドキュメントの種類を示します。
- ContentVersion オブジェクトに対する SOQL クエリではドキュメントのすべてのバージョンを返します。ContentVersion オブジェクトに対する SOSL 検索ではドキュメントの最新のバージョンを返します。
- API でバージョンをクエリする場合、Upload Interrupted の PublishStatus を指定したバージョンは返されません。
- 個人ライブラリに公開されたドキュメントは、ドキュメントを公開したユーザのユーザプロファイルで設定されているデフォルト (ユーザプロファイルでデフォルトが設定されていない場合は一般情報) のレコードタイプを想定しています。
- Contact Manager Edition、Group Edition、Professional Edition、Enterprise Edition、Unlimited Edition、および Performance Edition を使用するお客様は、24 時間につき最大で 200,000 件の新しいバージョンを公開できます。Developer Edition とトライアル版のお客様は、24 時間につき最大で 2,500 件の新しいバージョンを公開できます。
- カスタム入力規則を使用すると、API を使用して個人ライブラリに公開されたドキュメントの更新ができなくなります。
ContentVersion レコードへのタグの適用
Enterprise API または Partner API を使用して、タグを ContentVersion レコードに適用できます。
タグを ContentVersion レコードに適用するには、TagCsv 項目で値を設定します。たとえば、この項目を one,two,three に設定すると、そのバージョンに 3 つのタグが作成され、関連付けられます。
- TagCsv 項目の最大長は、2,000 文字です。
- 各タグの最大長は、100 文字です。
- タグがバージョンに適用されると、コンテンツには自動的にインデックスが付けられ、タグが検索可能になります。
- 個人ライブラリに公開されている TagCsv にタグを適用することはできません。
- ContentDocument オブジェクトを使用してタグを適用できません。
- タグ名は変更や削除はできません。ドキュメントからタグを除外することはできますが、タグは削除されません。
- タグでは、大文字と小文字は区別されません。大文字と小文字を変えたとしても、2 つのタグに同じ名前を付けることはできません。元のタグの大文字と小文字が常に使用されます。
ContentVersion レコードからタグを削除するには、標準の API 更新を実行し、削除する TagCsv 項目から値を削除します。たとえば、元の TagCsv が one,two,three である場合、TagCsv で one,three を指定して API 更新を実行すると、two が削除されます。ContentVersion からすべてのタグを削除するには、項目を null に設定して、標準の API 更新を実行します。
- TagCsv 項目で修正を追加し、値を設定しない場合、以前のバージョンに適用されたすべてのタグが自動的に新しいバージョンに適用されます。
- 修正を加えて新しい TagCsv 項目を指定する場合、タグは移行せず、指定したタグが代わりに適用されます。
ContentVersion レコードに SOQL クエリを実行して、TagCsv 項目を選択すると、そのレコードに関連付けられたすべてのタグが返されます。文字列のタグは、異なる順序で挿入された場合でも、アルファベット順に並びます。TagCsv 項目は、SOQL クエリの条件の一部として使用することはできません。組織内のすべてのタグにクエリを実行できるわけではありません。
ライブラリのタギングルール:
- API によるタギングでは、ドキュメントが公開されているライブラリのタギング制限が適用されます。たとえば、ライブラリが制限タギングモードで、タグ one,three のみを使用できる場合、one,two,three の TagCsv のバージョンは保存できません。
- ライブラリがガイド付きタギングモードの場合、タグを ContentVersion に適用できます。ライブラリではガイド付きタグの値をクエリすることはできませんが、ライブラリのタギングモデルをクエリすることは可能です。