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

ContentDistribution

ドキュメントの外部共有に関する情報を表します。このオブジェクトは、API バージョン 32.0 以降で使用できます。

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

create()delete()describeSObjects()query()retrieve()undelete()update()upsert()

特別なアクセスルール

  • コンテンツ配信を照会するには、コンテンツ配信を有効にする必要があります。
  • ユーザ (「すべてのデータの参照」権限を持つユーザを含む) は、自分がアクセス権を持つファイルに対してのみクエリを実行できます。このファイルがコンテンツライブラリによって管理されている場合、ユーザは、ライブラリ権限定義で [コンテンツの配信] を有効にしていて、ライブラリのメンバーである必要があります。このファイルがコンテンツライブラリによって管理されていない場合は、ユーザに「Salesforce Files のコンテンツ配信の作成を有効化」権限が必要です。
  • ユーザが DistributionPublicUrl および Password 項目を照会できるのは、ユーザがそのファイルの所有者か、そのファイルがユーザと共有されているか、RelatedRecordId にこのユーザがアクセス可能なレコードが指定されている場合のみです。
  • 共有ドキュメントを削除すると、関連付けられたすべての ContentDistribution もカスケード削除されます。削除された ContentDistribution は、QueryAll 動詞を使用することで引き続きクエリ可能です。
  • 共有ドキュメントがアーカイブされている場合、ユーザが編集できる項目は、ExpiryDatePreferencesExpires のみです。
  • カスタマーポータルユーザはこのオブジェクトにアクセスできません。
  • Chatter Free ユーザはこのオブジェクトにアクセスできません。

項目

項目名 詳細
ContentDocumentId
reference
プロパティ
Filter、Group、Nillable、Sort
説明
共有ドキュメントの ID。
ContentDownloadUrl
種別
string
プロパティ
Sort、Nillable
説明
ファイルをダウンロードするためのリンク。この項目は、API バージョン 40.0 以降で使用できます。
ContentVersionId
reference
プロパティ
Create、Filter、Group、Sort
説明
共有ドキュメントバージョンの ID。
DistributionPublicUrl
string
プロパティ
Nillable、Sort
説明
共有ドキュメントへのリンクの URL。
ExpiryDate
dateTime
プロパティ
Create、Filter、Nillable、Sort、Update
説明
共有ドキュメントがアクセス不能になった日付。
FirstViewDate
dateTime
プロパティ
Filter、Nillable、Sort
説明
共有ドキュメントが最初に表示された日付。
LastViewDate
dateTime
プロパティ
Filter、Nillable、Sort
説明
共有ドキュメントが最後に表示された日付。
Name
string
プロパティ
Create、Filter、Group、idLookup、Sort、Update
説明
コンテンツ配信の名前。
OwnerId
reference
プロパティ
Create、Filter、Group、Sort、Update
説明
共有ドキュメントを所有するユーザの ID。
PdfDownloadUrl
種別
string
プロパティ
Sort、Nillable
説明
ファイルを PDF としてダウンロードするためのリンク。この項目は、API バージョン 40.0 以降で使用できます。
Password
string
プロパティ
Group、Nillable、Sort
説明
共有ドキュメントへのアクセスを許可するパスワード。
PreferencesAllowOriginalDownload
boolean
プロパティ
Create、Filter、Update
説明
true の場合、共有ドキュメントは、アップロードされたときのファイル形式としてダウンロードできます。

false の場合、ダウンロード可能かどうかは、ファイルのプレビューが存在するかどうかによって異なります。プレビューが存在する場合、ファイルはダウンロードできません。プレビューが存在しない場合、ファイルは引き続きダウンロードできます。

共有ドキュメントがリンクの場合、ダウンロードできません。

PreferencesAllowPDFDownload
boolean
プロパティ
Create、Filter、Update
説明
true の場合、元のファイル形式が PDF か、PDF プレビューが生成済みであれば、共有ドキュメントを PDF としてダウンロードできます。
PreferencesAllowViewInBrowser
boolean
プロパティ
Create、Filter、Update
説明
true の場合、共有ドキュメントのプレビューを Web ブラウザで表示できます。
PreferencesExpires
boolean
プロパティ
Create、Filter、Update
説明
true の場合、共有ドキュメントへのアクセス権は、ExpiryDate に指定された日に期限が切れます。
PreferencesLinkLatestVersion
boolean
プロパティ
Create、Filter、Update
説明
true の場合、ユーザには最新バージョンの共有ドキュメントが表示されます。false の場合、ユーザには、共有しているバージョンのドキュメントが表示されます。これは最新バージョンでない場合もあります。
PreferencesNotifyOnVisit
boolean
プロパティ
Create、Filter、Update
説明
true の場合、共有ドキュメントの所有者には、共有ドキュメントが初めて表示またはダウンロードされたときにメールで通知されます。
PreferencesNotifyRndtnComplete
boolean
プロパティ
Create、Filter、Update
説明
true の場合、共有ドキュメントの所有者には、Web ブラウザでプレビュー可能な共有ドキュメントの変換が生成されると、メールで通知されます。
PreferencesPasswordRequired
boolean
プロパティ
Create、Filter、Update
説明
true の場合、共有ドキュメントにアクセスするには、Password で指定されたパスワードが必要です。
RelatedRecordId
reference
プロパティ
Create、Filter、Group、Nillable、Sort、Update
説明
共有ドキュメントが関連付けられているレコード (Account、Campaign、Case など) の ID。
ViewCount
int
プロパティ
Filter、Group、Nillable、Sort
説明
共有ドキュメントが表示された回数。

使用方法

このオブジェクトを使用して、リンク経由または Salesforce CRM Content 配信経由で、外部共有されたドキュメントに関する情報を作成、更新、削除、照会します。

ContentDistribution オブジェクトでは、挿入、更新、削除操作の前後のトリガがサポートされます。さらに、復元後のトリガがサポートされます。

マーケティング担当副社長は、ファイル作成者に、作成したファイルをコンテンツ配信を使用して外部ユーザと共有できるかどうかを指定させることを検討しています。また、一部のファイルにはパスワードを設定することも考えています。この場合、ContentVersion オブジェクトにカスタム項目 DeliveryPolicy を追加できます。このカスタム項目を、値 AllowedBlockedPassword required を持つ選択リストにします。この項目を ContentVersion レイアウトに追加して、ユーザがファイルごとに配信ポリシーを設定できるようにします。次に、ContentDistribution オブジェクト用の挿入トリガを追加して、ファイルに設定された配信ポリシーに基づいてルールを適用します。

ContentDistributionContentVersionId は一意にする必要があります。

メモ

次の ContentDistribution オブジェクト用トリガにより、各ファイルの配信ポリシールールが適用されます。
1trigger deliveryPolicy on ContentDistribution (before insert) {
2    for (ContentDistribution cd : trigger.new) {
3        String versionId = DeliveryPolicyHelper.getContentVersionId(cd);
4        ContentVersion version = [select DeliveryPolicy__c from ContentVersion where Id = :versionId];
5        String policy = version.DeliveryPolicy__c;
6        if (policy.equals('Blocked')) {
7            cd.addError('This file is not allowed to be delivered.');
8        } else if (policy.equals('Password required')){
9            if (!DeliveryPolicyHelper.requirePassword(cd)) {
10                cd.addError('To deliver this file, set a password.');
11            }
12        } 
13    }
14}
トリガは次のヘルパークラスをコールします。
1public class DeliveryPolicyHelper {
2    public static String getContentVersionId(ContentDistribution cd) {
3        if (cd.ContentVersionId != null) {
4            return cd.ContentVersionId;
5        } else {
6            String versionId = [select LatestPublishedVersionId from ContentDocument where Id = :cd.ContentDocumentId].get(0).LatestPublishedVersionId;
7            return versionId;
8        }
9    }
10    
11    public static boolean requirePassword(ContentDistribution cd) {
12        return cd.PreferencesPasswordRequired;
13    }
14}

Apex では、5 秒を超える同時要求は組織ごとに 10 件に制限されています。ファイルをアップロードするトリガは、この制限にすぐに達する可能性があります。

重要