見出し画像

【第443回】 Marketing Cloud Next : アップロードした 画像 URL の探し方

Marketing Cloud Engagement の場合

Marketing Cloud Engagement では、画像をアップロードすると、その場ですぐに 画像 URL を確認することができます。

そのため、その画像を外部で利用する際も、URL の取得に迷うことはほとんどありません。


Marketing Cloud Next の場合

一方、Marketing Cloud Next では、画像をアップロードしても 画像 URL が直接表示されません
では、どのように 画像 URL を取得すればよいのでしょうか。


画像 URL の取得方法

URL 構成要素の説明

この URL は、以下 4 つの要素で構成されています。

  1. ベース URL
    https://[MyDomain].cdn.salesforce-experience.com/cms/delivery/media/

  2. Content Key
    各コンテンツごとに割り当てられる識別子
    ※ コンテンツごとに値が異なります

  3. channelId
    ?channelId=[チャネル ID](0ap... で始まる 15 桁の Salesforce ID)
    ※ 固定値

  4. oid
    &oid=[組織 ID](00D... で始まる 15 桁の Salesforce ID)
    ※ 固定値

完成形の URL 例

https://nac-plus.cdn.salesforce-experience.com/cms/delivery/media/MCVY4GKA463VEFNGD5FS5JIWIRGQ?channelId=0apgC000000BcYE&oid=00DgC0000024nxA

Content Key は、以下の場所にあります。

channelIdoid については、一度取得してしまえば、その後は 固定値として使い回すことが可能です。これらの ID は、メールの「プレビューとテスト」の画面から取得 することが可能です。

手順

1. アップロードした画像を特定のメールに配置して、メールの「プレビューとテスト」を開きます。

2. 「プレビューとテスト」が表示されたら、該当の画像を右クリックすることで 画像 URL を取得することができます。そちらの URL に channelIdoid が含まれています。

※「プレビューとテスト」から取得した 画像 URL は、そのまま利用することが可能です。毎回、この方法で 画像 URL を取得しても問題ありません。


なぜブラウザで開くとダウンロードになるのか

さて、ここで取得した Marketing Cloud Next の 画像 URL を、
そのままブラウザで開くと、画像が表示されずにダウンロードとなります

これは特に不具合などではなく、CMS(Content Management System)特有の仕様です。


CMS でダウンロード扱いになる理由

Marketing Cloud Next で利用されている CMS は、

  • 画像

  • PDF

  • 動画

  • その他のファイル

といった さまざまな種類のコンテンツを一元管理する仕組みです。

そのため、これらの URL では、
「これは画像である」と最初から決め打ちしていない 設計になっています。

ブラウザの開発ツール(F12)で確認すると、Content-Disposition ヘッダーが attachment になっていることからも確認できます。

この Content-Disposition ヘッダーは、
・ コンテンツを ブラウザ上で表示するか(inline)
・ それとも ダウンロードさせるか/ウェブページの一部として扱うか(attachment)
を指定するためのものです。

結果として、URL を単体でブラウザから開いた場合に、

  • 「画像として表示する」よりも

  • 「安全にファイルとして渡す」挙動が優先され、

ダウンロード になります。


Marketing Cloud Engagement との決定的な違い

Marketing Cloud Engagement の
画像 URL(例:image.s12.sfmc-content.com)は、

  • メール配信専用

  • 画像配信専用サーバー

として設計されています。

そのため、

  • 画像であることが前提

  • 常に inline 表示(ブラウザ表示)される

という挙動になります。

MCE では、Content-Disposition が明示的に存在しないため
ブラウザのデフォルトの挙動となりますが、
content-type が image/png なので、画像がブラウザで表示されます。

一方で、lightning.force.com/cms/media は

  • 画像専用ではない

  • 汎用的な CMS 配信 URL

であるため、
「表示できるか迷ったら、とりあえずダウンロード扱い」
という挙動になる、という違いです。


いかがでしたでしょうか。

これらの 画像 URL をあらかじめ保持しておくことで、
CRM 側で事前に 画像 URL を管理し、画像の出し分けに活用するといったユースケースに対応できます。

また、Marketing Cloud Next から LINE で画像を配信する場合など、画像 URL が必要となるさまざまなシーンで有効に活用できます。(※ LINE には標準の配信オプションがないため、Apex を用いた開発が必要です。)

ぜひ、参考にしてみてください。

今回は以上です。


次の記事はこちら

前回の記事はこちら

私の note のトップページはこちら