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

ファイルのカスタムダウンロード例

Apex を使用して、ダウンロードが試行されたときのファイルの動作をカスタマイズできます。以下の例は、1 つのファイルがダウンロードされる場合を想定しています。ファイルのダウンロードのカスタマイズは、API バージョン 39.0 以降で使用できます。

この例では、ダウンロードで一部のユーザが IRM 制御を通過する必要があるシステムを示します。ファイルのダウンロードが許可され、ユーザ ID が 005xx のすべてのデータの編集 (MAD) ユーザの場合、次のようになります。

MAD ユーザプロファイルを参照するには、UserInfo.getUserId() の代わりに UserInfo.getProfileId() を使用します。

メモ

この例では、IRMControl は IRM システムからファイルをダウンロードするリンクを表示するために作成された Visualforce ページです。IRM システムをコールするこのページのコントローラが必要です。ファイルが処理されるとき、制御されている場合にファイルをダウンロードするエンドポイントが提供されます。IRM システムは、sObject API を使用してこの ContentVersionVersionData を取得します。そのため、IRM システムは VersionID を必要とし、MAD ユーザを使用して VersionData を取得する必要があります。

IRM システムは http://irmsystem にあり、クエリパラメータとして VersionID を要求します。IRM システムは、downloadEndpoint 値にダウンロードエンドポイントが含まれた JSON 応答を返します。

次の例では、ContentDownloadHandlerFactory インターフェースを実装し、モバイルデバイスにファイルをダウンロードできないようにするダウンロードハンドラを返すクラスを作成します。

モバイルデバイスからファイルをダウンロードできないようにし、ファイルは IRM 制御を通過する必要があるようにすることもできます。