Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

「アクセス権がありません」というエラーと、EmailMessage レコードの削除に関する考慮事項

公開日: Mar 5, 2021
説明

拡張メールが設定されている Salesforce 組織の場合、「データおよびストレージリソースの監視」ドキュメントに記載されている「ディスク使用量の参照」で ToDo と EmailMessage の両方のディスク使用量が高いことに気づき、

システム管理者がレコードを削除して使用可能なディスク容量を空けたいと考えても、EmailMessage レコードを削除しようとすると、「アクセス権がありません」というメッセージが表示されることがあります。

拡張メールが有効になっている組織の EmailMessage とそれらに関連付けられている ToDo レコードを削除する場合、次の動作を確認してください。

 
解決策


EmailMessage レコードの削除動作:

 
  • メールメッセージを削除すると関連付けられている ToDo が自動的に削除されますが、ToDo を削除しても関連付けられているメールメッセージは削除されません。詳細は、「拡張メールの使用に関する考慮事項」を参照してください。

注意: 組織でメール-to-ケースの設定を行っている場合は、ケースレコードに関連するメールメッセージを削除しても、関連付けられている ToDo は自動的に削除されません。
 
  • サポートに連絡することなく ToDo レコードが削除されるため、関連 ToDo の前に EmailMessage レコードを削除することをお勧めします。
  • EmailMessage の関連 ToDo を削除すると、EmailMessage レコードが孤立した状態で残ることがあります。
  • 「すべてのデータの編集」を持つシステム管理者は、孤立した状態でない EmailMessage レコードを削除できます。
 
注意: EmailMessage レコードが孤立した状態になった場合 (関連 ToDo (ActivityId) またはケース (ParentId) レコードがない)、設計上、孤立した EmailMessage の作成者しか削除できません。

「すべてのデータの編集」を持つシステム管理者のユーザインターフェースには、他のユーザが作成した孤立した EmailMessage レコードを削除するオプションは表示されません。また、API を介した削除はエラーになります。

 
「Insufficient Access Rights On Object Id: INSUFFICIENT_ACCESS_OR_READONLY (オブジェクト ID に対するアクセス権がありません: INSUFFICIENT_ACCESS_OR_READONLY)」
 
  • 自分の孤立した EmailMessage レコード (ActivityId=NULL かつ ParentId=NULL) を削除する場合、EmailMessage レコードの所有者に依頼する必要はないため、Salesforce サポートに連絡して一括削除できます。
  • EmailMessage の関連 ToDo レコードの [名前] (WhoId) 項目に含まれる関連取引先責任者またはリードレコードを削除しても、EmailMessage レコードはカスケード削除または自動削除されません
  • 関連ケースレコードを削除すると、関連 EmailMessage レコードと関連 ToDo レコードがカスケード削除または自動削除されます
 
たとえば、EmailMessage レコードの [親ケース] 項目にケースが入力されている場合、その関連ケースが削除されると、EmailMessage とそれに関連付けられている活動または ToDo レコードも削除されます。
 

取引先責任者またはリードを削除してから、関連付けられている EmailMessage および ToDo レコードを削除する


バックアップデータをエクスポートするか、データローダのデータのエクスポートで該当するオブジェクトのすべての項目を選択して、データ操作を実行する前に必ずデータをバックアップします。削除の実行方法に関する詳細は、「データローダを使用したデータの挿入、更新、または削除」を参照してください。
  1. 削除する取引先責任者またはリードレコードを識別します。取引先責任者またはリードレコード ID で CSV ファイルを作成します。
  2. データローダで、ステップ 1 の CSV ファイルを使用して取引先責任者またはリードを削除します。
  3. その結果の孤立した ToDo (WhoId = NULL かつ WhatId = NULL) をエクスポートしてバックアップとして保持し、孤立した ToDo レコード ID で CSV ファイルを作成します。
データローダクエリの例: (Select Id, WhoId, WhatId, Subject, Status FROM Task WHERE WhoId = '' AND WhatId = '')
 
  1. 孤立した ToDo レコードの小さなサブセットを使用する場合、前のステップで返された ToDo ID を使用してクエリを作成できます。これにより、孤立した ToDo の関連 EmailMessage レコードが返されます。これをバックアップとして保持し、EmailMessage レコード ID の CSV を作成します。

データローダクエリの例: (SELECT Id FROM EmailMessage WHERE ActivityId IN ('<TaskId1>','<TaskId2>',<TaskId3>'))

バックアップのために含める項目を追加し、上記の条件付きクエリの <TaskId1> <TaskId2> <TaskId3> の値をステップ 3 の孤立した ToDo レコード ID に置き換えるか、これらを追加します。
 
注意: 孤立した ToDo ID が多すぎて、削除する EmailMessage レコード ID を返すクエリを作成できない場合、ステップ 6 に進みます。
 
  1. データローダで、ステップ 4 の CSV を使用して孤立した EmailMessage レコードを削除します。これにより、それらに関連する孤立した ToDo レコードもカスケード削除または自動削除されます。
  2. データローダで、ステップ 3 の CSV ファイルを使用して ToDo を削除します。
  3. 孤立した EmailMessages (ActivityId=NULL かつ ParentId=NULL) をエクスポートしてバックアップとして保持します。注意: サポートが孤立した EmailMessage レコードを削除すると、復旧/復元できなくなります。

データローダクエリの例: (Select Id, ParentId, ActivityId, CreatedDate, TextBody FROM EmailMessage WHERE ActivityId = '' AND ParentId = '')



Salesforce サポートにケースを登録して、残っているすべての孤立した EmailMessage レコードを削除するように要求する


ケースを登録するときにこの記事 #000323372 を参照するようにサポートに依頼し、サポートが必要な精査を実行して、すべての孤立した EmailMessage レコードを手動で消去するための権限を含めてください。

注意: 孤立したメールメッセージのサブセットを削除することはできません。この例外はなく、プロセスではすべての孤立したメールメッセージが削除されます。
 
ナレッジ記事番号

000384885

 
読み込み中
Salesforce Help | Article