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

Newer Version Available

This content describes an older version of this product. View Latest

トリガを使用した Chatter 非公開メッセージのモデレーション

ChatterMessage のトリガを記述して、組織またはコミュニティの非公開メッセージのモデレーションを自動化します。トリガを使用して、メッセージが会社のメッセージングポリシーに準拠していること、およびメッセージにブラックリストに登録された語が含まれていないことを保証できます。
使用可能なエディション: Salesforce Classic
使用可能なエディション: Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition

必要なユーザ権限
ChatterMessage の Apex トリガを保存する 「Apex 開発」

および

「Chatter メッセージとダイレクトメッセージの管理」

非公開メッセージの本文と送信者に関する情報を確認するには、Apex before insert トリガを記述します。検証メッセージをレコードまたは本文項目に追加することにより、メッセージが失敗し、エラーがユーザに返されます。

after insert トリガを作成することはできますが、ChatterMessage は更新することができないため、ChatterMessage を変更する after insert トリガは実行時に失敗して該当するエラーメッセージが表示されます。

非公開メッセージのトリガを作成するには、[設定] から、[クイック検索] ボックスに「ChatterMessage のトリガ」と入力し、[ChatterMessage のトリガ] を選択します。または、開発者コンソールで [ファイル] | [新規] | [Apex トリガ] を���リックし、[sObject] ドロップダウンリストから ChatterMessage を選択してもトリガを作成できます。

次の表は、ChatterMessage で公開される項目のリストです。

表 1. ChatterMessage で使用可能な項目
項目 Apex データ型 説明
Id ID Chatter メッセージの一意の識別子
Body String 送信者によって投稿された Chatter メッセージの本文
SenderId ID 送信者のユーザ ID
SentDate DateTime メッセージの送信日時
SendingNetworkId ID メッセージの送信元のネットワーク (コミュニティ)

この項目は、コミュニティが有効で、非公開メッセージが少なくとも 1 つのコミュニティで有効な場合にのみ表示されます。

次の例は、それぞれの新規メッセージを確認するために使用される ChatterMessage の before insert トリガを示します。このトリガはクラスメソッド moderator.review() をコールして、それぞれの新規メッセージを挿入前に確認します。

メッセージがポリシー違反の場合 (メッセージ本文にブラックリストに登録された語が含まれる場合など)、Apex addError メソッドをコールすることで、メッセージの送信を防ぐことができます。addError をコールして、項目またはメッセージ全体にカスタムエラーメッセージを追加できます。次のスニペットは、reviewContent メソッドのうち、エラーをメッセージの [本文] 項目に追加する部分を示します。

次に、送信者とメッセージの内容を確認するメソッドが含まれる MessageModerator クラスの全体を示します。このクラスのコードの一部は、簡略化のために削除されています。