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

ファイルのダウンロードのカスタマイズ

Apex コールバックを使用して、ユーザがファイルをダウンロードするときのファイルの動作をカスタマイズできます。ContentVersion では、ダウンロード操作後の変更されたファイルの動作 (ウィルススキャン、Information Rights Management (IRM) など) がサポートされています。ファイルのダウンロードのカスタマイズは、API バージョン 39.0 以降で使用できます。

ダウンロード前にカスタマイズコードが実行され、ダウンロードを続行できるかどうかが決定されます。

Sfc 名前空間には、ダウンロードされる前の Salesforce Files の動作をカスタマイズする Apex オブジェクトが含まれています。ContentDownloadHandlerFactory は、ファイルのダウンロードをカスタマイズするインターフェースを提供します。ContentDownloadHandler クラスは、ダウンロードが許可されるか、許可されない場合はどうするかに関する値を定義します。ContentDownloadContext 列挙は、ダウンロードが行われるコンテキストです。

Salesforce Classic の [コンテンツ] タブから、Apex を使用して複数ファイルのダウンロードをカスタマイズできます。Apex 関数パラメータ List<ID> は、ContentVersion ID のリストを処理します。

カスタマイズは、コンテンツパックとコンテンツ配信にも適用できます。List<ID> は、ContentPack のバージョン ID のリストです。複数ファイルまたは ContentPack ダウンロードで isDownloadAllowed = false を設定すると、ダウンロード全体が失敗します。redirectUrl で URL パラメータを使用して、問題のあるファイルのリストをエラーページに渡すことができます。

  • ユーザプロファイル、使用されているデバイス、またはファイルの種類とサイズに基づいて、ファイルをダウンロードできないようにする。
  • IRM 制御を適用し、ファイルがダウンロードされた回数などの情報を追跡する。
  • ダウンロード前に不審なファイルにフラグを設定し、ウィルス対策スキャンにリダイレクトする。

フローの実行

UI、Connect API、または ContentVersion.VersionData を取得する sObject コールのいずれかからダウンロードがトリガされると、Sfc.ContentDownloadHandlerFactory の実装が検索されます。実装が見つからない場合、ダウンロードは続行されます。実装が見つかった場合、ユーザは ContentDownloadHandler#redirectUrl プロパティで定義された URL にリダイレクトされます。複数の実装が見つかった場合、(名前順に) カスケード処理され、ダウンロードが許可されない最初の実装が考慮されます。

SOAP API 操作でダウンロードがトリガされる場合、ダウンロードを許可するかどうか Apex クラスによって確認されます。ダウンロードが許可されない場合、リダイレクトは処理されず、代わりにエラーメッセージを含む例外が返されます。

メモ