Newer Version Available
トリガを使用した Chatter 非公開メッセージのモデレーション
| 使用可能なエディション: 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 のトリガ] を選択します。または、開発者コンソールで を���リックし、[sObject] ドロップダウンリストから ChatterMessage を選択してもトリガを作成できます。
次の表は、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 クラスの全体を示します。このクラスのコードの一部は、簡略化のために削除されています。