Newer Version Available
FeedComment
Supported Calls
create(), delete(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve(), search(), update(), upsert()
Special Access Rules
Note the following when working with feed comments.
- You must have read access to the feed’s parent type to see a FeedComment record.
- You must have access to the feed to add a comment.
- If the comment is related to a user record, the user can delete the comment. For example, if John Smith makes a comment on Sasha Jones’ profile feed, Sasha can delete the comment.
- If the context user has the Insert System Field Values for Chatter Feeds user permission, the create field property is available on CreatedBy and CreatedDate system fields. During migration, the context user can set these fields to the original post’s author and creation date. The fields can’t be updated after migration.
- Modify All Data
- Modify All on the object associated with the feed and delete permission on the parent feed
- Moderate Chatter
- Manage Unlisted Groups
Only users with this permission can delete items in unlisted groups.
Fields
| Field | Details |
|---|---|
| CommentBody |
|
| CommentType |
|
| FeedItemId |
|
| HasEntityLinks |
|
| InsertedById | |
| IsRichText |
|
| IsVerified |
|
| LastEditById |
|
| LastEditDate |
|
| ParentId |
|
| RelatedRecordId |
|
| Revision |
|
| Status |
|
| SystemModstamp |
|
Usage
-
As of API version 23.0 and later, if you have View All Data permission, you can query FeedComment records directly without an ID filter. If you don’t have View All Data permission, you can’t query FeedComment records directly, with or without an ID filter.
For example, the following query returns general information about a feed:1SELECT ID, CreatedDate, CreatedById, CreatedBy.FirstName, 2 CreatedBy.LastName, ParentId, Parent.Name, Body 3FROM FeedItem 4WHERE CreatedDate > LAST_MONTH 5ORDER BY CreatedDate DESC, Id DESC -
You can search for text in comments using SOSL. For example, the following Java class uses search() to find the string “foo” in any field of a record:
1public void searchSample() { 2 try { 3 SearchResult sr = connection.search("find {foo} in all fields " + 4 "returning feedcomment(Id, FeedItemId, CommentBody)"); 5 // Put the results into an array of SearchRecords 6 SearchRecord[] records = sr.getSearchRecords(); 7 // Check the length of the returned array of records to see 8 // if the search found anything 9 if (records != null && records.length > 0) { 10 System.out.println("Found " + records.length + " comments: "); 11 // Display each comment 12 for (SearchRecord record : records) { 13 FeedComment comment = (FeedComment) record.getRecord(); 14 System.out.println(comment.getId() + ": " + 15 comment.getCommentBody()); 16 } 17 } else { 18 System.out.println("No records were found for the search."); 19 } 20 } catch (ConnectionException ce) { 21 ce.printStackTrace(); 22 } 23} - If you use an Apex trigger to modify the Body of a FeedComment object, all mentions hyperlinks are converted to plain text. The mentioned users don't get email notifications.