HTML からの静的アセットの直接要求およびフォーム要求の直接投稿
Salesforce でホストされない HTML ページでは、ユーザーやグループ画像を表示したり、フォームに添付ファイルを投稿したりするのが困難でした。理由は、これらのアセットの URL で認証が必要であるからです。この認証は、ページが Salesforce でホストされるときに、セッション Cookie によって提供されます。Salesforce でホストされないページは、セッション Cookie にアクセスできません。また、HTML のコンテキスト <img>、<a>、および <form> から OAuth トークンを渡すこともできません。
この問題を解決するには、自己認証を行うベアラートークン URL を要求します。ベアラートークン URL は、リソースへのアクセスを提供するベアラートークンが付加された Connect REST API リソースです。ベアラートークン URL はそのまま使用します。パラメーターを追加または削除しないでください。パラメーターを追加または削除すると、エラーが発生します。次の操作を行うには、<img>、<a>、および <form> タグでベアラートークン URL を使用します。
- Chatter ユーザープロファイルの画像およびファイル、ファイルやダッシュボードのプレビューなどの静的な Connect REST API アセットの要求。
- 添付ファイルがあるフィード項目やコメント、またはユーザープロファイル写真の更新など、ファイルが添付されている場合の Connect REST API へのフォーム要求の投稿。
静的アセットの要求またはフォーム要求の投稿を行うには、ベアラートークン URL を返すリソースを要求します。次に、ベアラートークン URL を使用して、リソースを要求します。
-
ベアラートークン URL を含むレスポンスボディのプロパティを使用して、リソースを要求します。
- Banner Photo — bannerPhotoUrl、url*
- Comment Page — currentPageUrl*
- Content Capability — downloadUrl、externalDocumentUrl、renditionUrl、repositoryFileUrl
- Feed — feedElementPostUrl*、feedElementsUrl*、feedItemsUrl*
- Feed Item — photoUrl
- Feed Item Attachment: Content — downloadUrl、externalDocumentUrl、renditionUrl、repositoryFileUrl
- Feed Item Attachment: Dashboard — fullSizeImageUrl、thumbnailUrl
- File Detail — downloadUrl、externalDocumentUrl、renditionUrl、renditionUrl240By180、renditionUrl720By480、repositoryFileUrl
- File Preview URL — previewUrl
- File Summary — downloadUrl、externalDocumentUrl、renditionUrl、renditionUrl240By180、renditionUrl720By480、repositoryFileUrl
- File Summary Page — currentPageUrl*
- Icon — url
- Mention Completion — photoUrl
- Message Segment: Inline Image — url*
- Photo — largePhotoUrl、smallPhotoUrl、url*
- Repository File Detail — downloadUrl
- Repository File Summary — downloadUrl
* 添付ファイルがあるフィード項目やコメントなど、バイナリファイルを含む新しい項目を POST または PUT するときに使用します。
-
true の値を使用して、X-Connect-Bearer-Urls 要求ヘッダーを渡します。
1X-Connect-Bearer-Urls: true -
レスポンスボディからベアラートークン URL を解析します。それを HTML タグで使用して、静的アセットの要求またはフォーム要求の投稿を行います。
ベアラートークン URL には、次の特性があります。
- ベアラートークンは、特定の URL にのみ適しています。クエリパラメーターを追加したり、並べ替えたりすると、URL が無効になります。
- ベアラートークンの Time to Live (TTL) は 20 分です。トークンの有効期限が切れた場合、再度要求します。
- ベアラートークン URL への要求は、ベアラートークン URL を返したリソースを要求したユーザーとして認証されます。