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