Newer Version Available

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

Post a Feed Element with Existing Content

This example calls the postFeedElement(communityId, feedElement, feedElementFileUpload) method to post a feed item with an file attachment. In this example, the file is existing content that has already been uploaded to Salesforce The post also includes text and a mention.
1ConnectApi.FeedItemInput feedItemInput = new ConnectApi.FeedItemInput();
2ConnectApi.FeedElementCapabilitiesInput feedElementCapabilitiesInput = new ConnectApi.FeedElementCapabilitiesInput();
3ConnectApi.ContentCapabilityInput contentCapabilityInput = new ConnectApi.ContentCapabilityInput();
4ConnectApi.MentionSegmentInput mentionSegmentInput = new ConnectApi.MentionSegmentInput();
5ConnectApi.MessageBodyInput messageBodyInput = new ConnectApi.MessageBodyInput();
6ConnectApi.TextSegmentInput textSegmentInput = new ConnectApi.TextSegmentInput();
7
8// Define the FeedItemInput object to pass to postFeedElement
9feedItemInput.body = messageBodyInput;
10feedItemInput.capabilities = feedElementCapabilitiesInput;
11feedItemInput.subjectId = 'me';
12
13// The MessageBodyInput object holds the text and mention in the post
14messageBodyInput.messageSegments = new List<ConnectApi.MessageSegmentInput>();
15
16textSegmentInput.text = 'Would you please review this doc?';
17messageBodyInput.messageSegments.add(textSegmentInput);
18
19mentionSegmentInput.id = '005D00000016QxO';
20messageBodyInput.messageSegments.add(mentionSegmentInput);
21
22// The FeedElementCapabilitiesInput object holds the capabilities of the feed item.
23// For this feed item, we define a content capability to hold the file.
24feedElementCapabilitiesInput.content = contentCapabilityInput;
25contentCapabilityInput.contentDocumentId = '069D00000001pyS';
26
27// Post the feed item. 
28ConnectApi.FeedElement feedElement = ConnectApi.ChatterFeeds.postFeedElement(Network.getNetworkId(), feedItemInput, null);