アカウント/連絡先/カスタムオブジェクトに移動すると、関連リスト「関連コンテンツ」が表示されます(コンテンツが有効になっていて、関連リストがページレイアウトに追加されている場合)。
私の質問は、これらの「関連コンテンツ」レコードは保存されているのかということです。どのオブジェクトで?
apexを使用して、ファイルをコンテンツバージョンにアップロードできますが、「関連コンテンツ」情報を格納するオブジェクトを作成または検索できません。
アップデート
アカウントの「関連コンテンツ」セクションに表示するリンクを作成しようとしましたが、成功しませんでした。エラー「挿入に失敗しました。行0の最初の例外。最初のエラー:FIELD_INTEGRITY_EXCEPTION、APIを介してこのタイプのエンティティのリンクを作成できません:[LinkedEntityId]」
何か案が?
ContentVersion cv = new ContentVersion(
versionData = EncodingUtil.Base64Decode(base64BlobValue),
Title = fileName,
PathOnClient = '/'+fileName,
FirstPublishLocationId = '058900000009KcL'
);
insert cv;
//fetch ContentDocumentId
cv = [Select Id,ContentDocumentId from ContentVersion where Id = :cv.Id];
insert new ContentDocumentLink(LinkedEntityId=parentId,ContentDocumentId=cv.ContentDocumentId,ShareType='V');
** 使用事例 **
ユースケースは、ユーザーがオブジェクトの詳細ページからコンテンツを直接添付できるようにすることです。たとえば、アカウントには[コンテンツの添付]ボタンがあります。これにより、アップロードされたコンテンツページが表示されます(コンテンツバージョンレコードを作成します。これは完全に発生し、エラーは発生しません)。次に、アップロードされたコンテンツをアカウント(リクエストの元となった)に関連付ける必要があります。つまり、「関連コンテンツ」レコードを作成します(ここでは、contentdocumentlinkレコードを作成しようとしましたが、エラーが発生しました)。
ユースケースは、ユーザーがコンテンツにアクセスし、最初にそこにアップロードしてから、アカウント/オプションに戻ってコンテンツを再度検索し、それをアカウント/連絡先に添付するという長い現在のプロセスではなく、ワンクリックでコンテンツをアカウントまたは商談に添付するだけです。