質問のタイトルを編集して投稿
質問のタイトルを編集して投稿するメソッドをコールします。
updateFeedElement(communityId, feedElementId, feedElement) をコールして、質問のタイトルを編集してから投稿します。
1String communityId = Network.getNetworkId();
2
3// Get the last feed item created by the context user.
4List<FeedItem> feedItems = [SELECT Id FROM FeedItem WHERE CreatedById = :UserInfo.getUserId() ORDER BY CreatedDate DESC];
5if (feedItems.isEmpty()) {
6 // Return null within anonymous apex.
7 return null;
8}
9String feedElementId = feedItems[0].id;
10
11ConnectApi.FeedEntityIsEditable isEditable = ConnectApi.ChatterFeeds.isFeedElementEditableByMe(communityId, feedElementId);
12
13if (isEditable.isEditableByMe == true){
14
15 ConnectApi.FeedItemInput feedItemInput = new ConnectApi.FeedItemInput();
16 ConnectApi.FeedElementCapabilitiesInput feedElementCapabilitiesInput = new ConnectApi.FeedElementCapabilitiesInput();
17 ConnectApi.QuestionAndAnswersCapabilityInput questionAndAnswersCapabilityInput = new ConnectApi.QuestionAndAnswersCapabilityInput();
18 ConnectApi.MessageBodyInput messageBodyInput = new ConnectApi.MessageBodyInput();
19 ConnectApi.TextSegmentInput textSegmentInput = new ConnectApi.TextSegmentInput();
20
21 messageBodyInput.messageSegments = new List<ConnectApi.MessageSegmentInput>();
22
23 textSegmentInput.text = 'This is my edited question.';
24 messageBodyInput.messageSegments.add(textSegmentInput);
25
26 feedItemInput.body = messageBodyInput;
27 feedItemInput.capabilities = feedElementCapabilitiesInput;
28
29 feedElementCapabilitiesInput.questionAndAnswers = questionAndAnswersCapabilityInput;
30 questionAndAnswersCapabilityInput.questionTitle = 'Where is my edited question?';
31
32 ConnectApi.FeedElement editedFeedElement = ConnectApi.ChatterFeeds.updateFeedElement(communityId, feedElementId, feedItemInput);
33}