FeedItem
FeedItem は、レコードフィードの変更 (テキスト投稿、リンク投稿、およびコンテンツ投稿を含む) などのフィードのエントリを表します。このオブジェクトは、API バージョン 21.0 以降で使用できます。このオブジェクトは FeedPost に代わって使用されます。
サポートされているコール
create()、delete()、describeSObjects()、getDeleted()、getUpdated()、query()、retrieve()、search()、update()、upsert()
特別なアクセスルール
作成したすべてのフィード項目を削除することができます。自分が作成していないフィード項目を削除するには、次のいずれかの権限が必要です。
- 「すべてのデータの編集」
- 「Chatter のモデレート」
- 「リストに記載しないグループの管理」
この権限を持つユーザのみがリストに記載しないグループの項目を削除できます。
ログインユーザが「Chatter フィードにシステム項目値を挿入」ユーザ権限を持っている場合、システム項目である CreatedBy と CreatedDate で、create 項目プロパティを使用できます。移行時に、ログインユーザはこの 2 つの項目に対して元の投稿作成者とその作成日を設定できます。移行後は、これらの項目は更新できません。
項目
| 項目名 | 詳細 |
|---|---|
| BestCommentId | |
| Body | |
| CommentCount | |
| ConnectionId | |
| ContentData | |
| ContentDescription | |
| ContentFileName | |
| ContentSize | |
| ContentType | |
| FeedPostId | |
| HasContent |
|
| HasLink |
|
| InsertedById | |
| IsDeleted |
|
| IsRichText |
|
| LastEditById | |
| LastEditDate | |
| LikeCount | |
| LinkUrl | |
| NetworkScope | |
| ParentId | |
| RelatedRecordId | |
| Revision | |
| Status |
|
| Title | |
| Type |
|
| Visibility |
|
使用方法
- この Apex の例では、API バージョン 36.0 以降を使用して添付ファイルをリードに追加する方法を示します。まず、フィード項目を投稿します。
1//create and insert post 2FeedItem post = new FeedItem(); 3post.Body = 'HelloThere'; 4post.ParentId = 'ID_OF_LEAD_ENTITY'; 5post.Title = 'FileName'; 6insert post;次に、添付ファイルを挿入します。1//create and associate a content attachment to the post 2FeedAttachment feedAttachment = new FeedAttachment(); 3feedAttachment.FeedEntityId = post.Id; 4feedAttachment.RecordId = 'ID_OF_CONTENT_VERSION'; 5feedAttachment.Title = 'FileName'; 6feedAttachment.Type = 'CONTENT'; 7insert feedAttachment; - API バージョン 23.0 以降を使用しており、「すべてのデータの参照」権限がある場合、FeedItem を直接クエリできます。次の例では、最新の 20 個のフィード項目が返されます。
1SELECT ID, CreatedDate, CreatedById, CreatedBy.FirstName, CreatedBy.LastName, ParentId, Parent.Name, Body, 2 (SELECT ID, FieldName, OldValue, NewValue FROM FeedTrackedChanges ORDER BY ID DESC) 3FROM FeedItem 4WHERE CreatedDate > LAST_MONTH 5ORDER BY CreatedDate DESC - API バージョン 23.0 より前のバージョンを使用している場合は、フィード (AccountFeed または OpportunityFeed など) を使用して FeedItem オブジェクトをクエリします。次の例では、指定された取引先のすべてのフィード項目を日付で降順に並べて返します。
1SELECT Id, Type, FeedItem.Body 2FROM AccountFeed 3WHERE ParentId = AccountId ORDER BY CreatedDate DESC - 種別が UserStatus の FeedItem は、ユーザが投稿を追加して状況を更新すると自動的に作成されます。種別が UserStatus の FeedItem は明示的に作成することはできません。
- FeedItem オブジェクトはクエリで集計関数をサポートしていません。
- ログインユーザが「Chatter フィードにシステム項目値を挿入」ユーザ権限を持っている場合、システム項目である CreatedBy と CreatedDate で、create 項目プロパティを使用できます。移行時に、ログインユーザはこの 2 つの項目に対して元の投稿作成者とその作成日を設定できます。移行後は、これらの項目は更新できません。
- プロファイルまたはニュースフィードの添付ファイルの容量制限は 25 MB です。
- レコードフィードの添付ファイルの容量制限は 5 MB です。
- コンテンツ項目を使用して、コンテンツを更新または削除することはできません。
- コンテンツ項目を条件検索または更新することはできません。
- API を使用して FeedItem を削除すると、関連付けられているコンテンツも削除されます。同様に、FeedItem を復元すると関連付けられているコンテンツが復元されます。
- フィードへのアップロード後は、添付ファイルまたはドキュメントを削除したり、非公開とマークしたり、共有ルールで非表示にしたりできます。この場合、FeedItem オブジェクトのすべてのコンテンツ項目が SOQL クエリでは null として表示されます。
- FeedTrackedChange レコードは、明示的に作成または削除できません。
- User または Group に対して Type が ContentPost の FeedItem または FeedComment を挿入してファイルを作成する場合、FeedItem の NetworkScope 項目の値がファイルに渡されます。
- Apex トリガを使用して FeedItem オブジェクトの Body を変更する場合、すべてのメンションのハイパーリンクはプレーンテキスト形式に変換されます。メンションされたユーザにはメール通知は送信されません。
- リッチテキストをフィード項目本文に挿入する場合、HTML の開始タグと終了タグの大文字と小文字が一致していることを確認してください。たとえば、<b>This is bold text</B> ではエラーが発生します。
- Apex トリガでファイル共有を確認するには、FeedItem の代わりに ContentDocumentLink のトリガを記述します。ContentDocumentLink トリガの例は、「ContentDocumentLink」を参照してください。
- API バージョン 36.0 以降で FeedItem に 1 つ以上のコンテンツ項目を添付するには、FeedAttachment を使用します。FeedAttachment によって複数の添付がサポートされた結果、コンテンツ添付ファイルに関するすべての項目が削除されました。削除された項目は、ContentData、ContentDescription、ContentFileName、ContentSize、ContentType です。