No Results
Search Tips:
- Please consider misspellings
- Try different search keywords
フィードおよびフィード要素の使用
機能
フィードを多様化する取り組みの一環として、フィード要素の持つさまざまな機能性を個々の機能に分割しました。機能では、一貫した方法でフィードのオブジェクトを操作できます。特定のフィード要素で使用可能な機能性を判別するために、フィード項目の種別を調べたり、他の間接的な手段を使用したりする必要はありません。機能オブジェクトによって、使用可能な機能性を明示的に把握できます。機能の有無を確認することにより、クライアントがフィード要素に対して実行できる操作を判別します。
すべてのフィード要素に capabilities プロパティがあり、このプロパティに Feed Element Capabilities レスポンスボディが保持されています。Feed Element Capabilities レスポンスボディには 1 つ以上のプロパティがあり、それぞれのプロパティにフィード要素の機能が保持されています。
機能には、ある操作が可能であることを示す情報と、その操作に関連付けられたデータが含まれます。フィード要素に機能が存在する場合、機能に関連付けられたデータがまだなくてもその機能を使用できます。たとえば、chatterLikes 機能プロパティがフィード要素に存在する場合 (chatterLikes.page.items プロパティ内のいいね! リストにいいね! が含まれているかどうかに関係なく)、コンテキストユーザはそのフィード要素にいいね! と言うことができます。その機能プロパティがフィード要素に存在しない場合、そのフィード要素にいいね! と言うことはできません。
Salesforce UI でのフィード項目の表示
機能で学んだように、クライアントは capabilities プロパティを使用して、フィード要素で可能な操作やフィード要素を表示する方法を判別する必要があります。フィード項目以外のすべてのフィード要素では、クライアントはフィード要素の種類を知る必要はなく、機能を確認できます。フィード項目は機能を持ちますが、actor のように機能として公開されていない複数のプロパティもあります。このため、フィード項目はフィード要素とは異なる方法で処理する必要があります。
一貫したフィード項目のビューを顧客に提供し、容易に UI を作成する手段を開発者に提供するために、Salesforce UI では、1 つのレイアウトを使用して各フィード項目を表示しています。このレイアウトには常に同じ要素が含まれ、要素は常に同じ位置にあります。変化するのはレイアウト要素のコンテンツのみです。
次のフィード項目レイアウト要素があります。- アクター (Feed Item レスポンスボディの actor プロパティ) — フィード項目の作成者の写真またはアイコン
- ヘッダー (Feed Item レスポンスボディの header プロパティ) — コンテキストを提供します。同じフィード項目に、誰がどこに投稿したかに応じて異なるヘッダーを設定できます。たとえば、Gordon がこのフィード項目を自分のプロファイルに投稿したとします。次にそのフィード項目をグループと共有すると、グループフィードのフィード項目のヘッダーは「Gordon Johnson (元の投稿者: Gordon Johnson)」となり、「元の投稿者」テキストが Gordon のプロファイルのフィード項目へのリンクになります。
- 内容 (Feed Item レスポンスボディの body プロパティ) — すべてのフィード項目には内容がありますが、ユーザがフィード項目のテキストを指定しない場合は、内容が null になることがあります。内容は null になる可能性があるため、テキスト表示のデフォルトケースとして使用できません。代わりに、常に値が含まれる、フィード項目のヘッダーの text プロパティを使用します。
- 補助内容 (Feed Item レスポンスボディの capabilities プロパティ) — フィード項目の機能の視覚化。機能を参照してください。
- 作成者タイムスタンプ (Feed Item レスポンスボディの relativeCreatedDate プロパティ) — フィード項目が投稿された日時。フィード項目の作成後 2 日を経過していない場合、日時は相対的なローカライズされた文字列として書式設定されます (「17 分前」、「昨日」など)。それ以外の場合は、日時は絶対的なローカライズされた文字列として書式設定されます。
Salesforce UI でのバンドルの表示
機能セクションで学んだように、クライアントは ConnectApi.FeedElement.capabilities プロパティを使用して、フィード要素で可能な操作やフィード要素を表示する方法を判別する必要があります。このセクションでは、フィード要素の表示方法の一例としてバンドルを使用しますが、これらのプロパティはどのフィード要素でも使用できます。
きれいに整理されたフィードをユーザに提供するために、フィード変更追跡のフィード項目はバンドルに集約できます。個々のフィード項目を表示するには、バンドルをクリックします。
- ヘッダー (Generic Feed Element レスポンスボディの header プロパティ) — フィード変更追跡バンドルの場合、このテキストは「このレコードは更新されました。」です。
ヘッダーの下にある時間は、Generic Feed Element レスポンスボディの relativeCreatedDate プロパティです。
- 補助内容 (Generic Feed Element レスポンスボディの capabilities.bundle.changes プロパティ) — バンドルは、バンドル内の最初の 2 つのフィード変更追跡について fieldName、oldValue、および newValue プロパティを表示します。フィード変更追跡が 3 つ以上ある場合は、バンドルが [すべての更新を表示] リンクを表示します。
フィード要素の表示
- ユーザに @メンションしていて、ユーザがその親にアクセスできるフィード要素
- ユーザがメンバーであるグループに @メンションしているフィード要素
- ユーザが親レコードを表示できるレコードに対するレコード項目の変更 (User、Group、および File レコードを含む)
- ユーザに投稿されたフィード要素
- ユーザが所有するか、ユーザがメンバーであるグループに投稿されたフィード要素
- 標準およびカスタムレコードのフィード要素 (ToDo、行動、リード、取引先、ファイルなど)
フィード種別
1/chatter/feeds/feedType
2/chatter/feeds/feedType/subjectId1/chatter/feeds/news/subjectId
2/chatter/feeds/topics/subjectId- Bookmarks — コンテキストユーザがブックマークとして保存したすべてのフィード項目が含まれます。
- Company — 種別 TrackedChange のフィード項目を除くすべてのフィード項目が含まれます。ユーザがフィード項目を表示するには、親への共有アクセス権が必要です。
- Files — コンテキストユーザがフォローしている人またはグループによって投稿されたファイルを含むすべてのフィード項目が含まれます。
- Filter — 指定したオブジェクト種別の親を持つフィード項目を含むように絞り込まれたニュースフィードが含まれます。
- Groups — コンテキストユーザが所有するか、メンバーであるすべてのグループのすべてのフィード項目が含まれます。
- Home — コミュニティの管理トピックに関連付けられたすべてのフィード項目が含まれます。
- Moderation — モデレーション用にフラグが設定されたすべてのフィード項目が含まれます。このコミュニティモデレーションフィードは、「コミュニティフィードのモデレート」権限を持つユーザのみが使用できます。
- News — コンテキストユーザがフォローしている人、ユーザがメンバーであるグループ、ユーザがフォローしているファイルとレコードについてのすべての更新、親がコンテキストユーザであるレコードについてのすべての更新、コンテキストユーザにメンションしているすべての投稿とコメント、またはコンテキストユーザがメンバーとなっているグループにメンションしているすべての投稿とコメントが含まれます。
- People — コンテキストユーザがフォローしているすべての人によって投稿されたすべてのフィード項目が含まれます。
- Record — 親が指定したレコードであるすべてのフィード項目が含まれます。レコードは、グループ、ユーザ、オブジェクト、ファイル、その他の標準またはカスタムオブジェクトの場合があります。レコードがグループの場合、フィードにはそのグループにメンションしているフィード項目も含まれます。レコードがユーザの場合、フィードにはそのユーザに対するフィード項目のみが含まれます。
- To — コンテキストユーザのメンションを含むすべてのフィード項目、コンテキストユーザがコメントしたフィード項目、コンテキストユーザが作成し、コメントされたフィード項目が含まれます。
- Topics — 指定したトピックを含むすべてのフィード項目が含まれます。
- UserProfile — フィードで追跡可能なレコードをユーザが変更したときに作成されたフィード項目、親がユーザであるフィード項目、およびユーザに @メンションしているフィード項目が含まれます。このフィードは、グループ更新など、より多くのフィード項目を返すニュースフィードとは異なります。
- Favorites — コンテキストユーザが保存したお気に入りが含まれます。お気に入りには、フィード検索、リストビュー、およびトピックがあります。
- Filter — 指定したエンティティ種別の親を持つ項目を含むように絞り込まれたニュースフィードが含まれます。
/chatter/feed-elements を使用したフィード項目の投稿
1POST /chatter/feed-elementsフィード項目を投稿するときには、標準オブジェクトまたはカスタムオブジェクトの子を作成します。subjectId 要求パラメータ、または Feed Item Input リクエストボディの subjectId プロパティに、親オブジェクトを指定します。
投稿されたフィード項目の parent プロパティには、親オブジェクトに関する情報が含まれます。
- ユーザプロファイルへの投稿
- 次の例では、要求パラメータを使用して、テキスト投稿をコンテキストユーザのユーザプロファイルに投稿します。
1POST /chatter/feed-elements?feedElementType=FeedItem&subjectId=me&text=Test - subjectId に、別名 me を指定します。コンテキストユーザのユーザ ID を指定することもできます。
- 新しく投稿されたフィード項目の parent プロパティには、コンテキストユーザの User Summary レスポンスボディが含まれます。
- 別のユーザへの投稿
- 次の例では、リクエストボディを使用して、別のユーザに投稿します。subjectId プロパティでは、ユーザの ID を指定します。
1POST /chatter/feed-elements 2 3{ 4 "feedElementType":"FeedItem", 5 "subjectId":"005RR000000DmOg", 6 "body" : { 7 "messageSegments" : [ 8 { 9 "type" : "Text", 10 "text" : "When should we meet for release planning?" 11 } 12 ] 13 } 14} - 新しく投稿されたフィード項目の parent プロパティには、対象ユーザの User Summary レスポンスボディが含まれます。
- グループへの投稿
- 次の例では、リクエストボディを使用して、グループに投稿します。subjectId プロパティでは、グループ ID を指定します。
1POST /chatter/feed-elements 2 3{ 4 "feedElementType":"FeedItem", 5 "subjectId":"0F9RR0000004CPw", 6 "body" : { 7 "messageSegments" : [ 8 { 9 "type" : "Text", 10 "text" : "When should we meet for release planning?" 11 } 12 ] 13 } 14} - 新しく投稿されたフィード項目の parent プロパティには、指定されたグループの Group レスポンスボディが含まれます。
- レコード (ファイルや取引先など) への投稿
- 次の例では、リクエストボディを使用して、レコードフィードでユーザにメンションします。subjectId プロパティでは、レコード ID を指定します。
1POST /chatter/feed-elements 2 3{ 4 "feedElementType" : "FeedItem", 5 "subjectId" : "001RR000002G4Y0", 6 "body" : { 7 "messageSegments" : [ 8 { 9 "type" : "Mention", 10 "id" : "005RR000000DmOg" 11 }, 12 { 13 "type" : "Text", 14 "text" : " Have you checked on this account recently?" 15 } 16 ] 17 } 18} - 新しいフィード項目の parent プロパティは、指定されたレコードタイプに応じて異なります。レコードタイプが File の場合、親は File Summary レスポンスボディです。レコードタイプが Group の場合、親は Group レスポンスボディです。レコードタイプが User の場合、親は User Summary レスポンスボディです。その他すべてのレコードタイプの場合、親は Record Summary レスポンスボディです。
フィードからのフィード要素の取得
フィードからフィード要素を取得する方法は、どのフィード種別でも似ていますが同一ではありません。
| フィード種別 | リソース |
|---|---|
| Favorites | /chatter/feeds/favorites/subjectId/favoriteId/feed-elements |
| Filter | /chatter/feeds/filter/subjectId/keyPrefix/feed-elements |
| フィード種別 | リソース |
|---|---|
| Record | /chatter/feeds/record/recordId/feed-elements |
| フィード種別 | リソース |
|---|---|
| Bookmarks、Files、Groups、News、People、To、Topics、User Profile | /chatter/feeds/feedType/subjectId/feed-elements 例: /chatter/feeds/news/me/feed-elements |