Salesforce Chatter連携機能開発
イシュー
- Visualforceから Chatterへ投稿などしたい
参考
- Chatterを使ったカスタムソーシャル
- deferloader » [salesforce][chatter] Chatter in Apexで楽々?Chatterカスタマイズ開発
- deferloader » [salseforce][chatter]Chatter Code Recipes
- Chatterグループへの投稿 - Salesforce Developer Community
- Event
FeedItem
- Salesforce上 FeedItemとして取り扱えばOKっぽい
- ConnectApi はどういった場合に使う?
参考
- FeedItem
実装
trigger EventAddToChatterTrigger on Event (after insert) { List<Event> records = Trigger.new; CollaborationGroup objCollaborationGroup = null; Boolean IsPostRecordFeed = False; try { SGSettings__c sgSettings = [SELECT Id, Name, IsPostRecordFeed__c, NotificationChatterGroup__c FROM SGSettings__c LIMIT 1]; String groupName = sgSettings.NotificationChatterGroup__c; objCollaborationGroup = [SELECT Id ,Name FROM CollaborationGroup WHERE Name =: groupName LIMIT 1]; IsPostRecordFeed = sgSettings.IsPostRecordFeed__c; } catch( Exception e) { // ChatterGroup取得 objCollaborationGroup = [SELECT Id ,Name FROM CollaborationGroup LIMIT 1]; } List<FeedItem> feedItemList = new List<FeedItem>(); for(Event record : records) { // フィードのINSERT FeedItem feed = new FeedItem(); feed.parentId = objCollaborationGroup.Id; feed.body = record.FeedComment__c; feedItemList.add(feed); // レコードフィードへも投稿 if(IsPostRecordFeed) { feed = new FeedItem(); feed.parentId = record.WhatId; feed.body = record.FeedComment__c; feedItemList.add(feed); } } insert feedItemList; }
レコードフィード
- 投稿したオブジェクトレコードのフィード
- レコードフィードには、 ParentID = <レコード ID>を含めます