Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

サイトやデジタルエクスペリエンスからアクセスしたときに画像が表示されない

公開日: Oct 13, 2022
説明
※この記事は英語版を翻訳しており、一部機械翻訳を含むため内容は後日更新される可能性があります。最新の内容は英語版を参照してください。表示言語は画面右下の言語名から切り替えられます。
 

シナリオ -
ユーザーは、Soap API (enterprise.wsdl) を使用して Salesforce.com に接続する Web サイトを持っています。
ユーザーは、画像のアップロードに使用されるリッチテキストエリアカスタム項目のクエリを実行しています。

たとえば、Resolution__c が画像のアップロードに使われるリッチエリアテキスト項目である場合の SOQL クエリは次のようになります -
SELECT Resolution__c FROM myArticle WHERE ArticleNumber= '000001' AND PublishStatus='Online' AND IsLatestVersion = true AND Language='ja'

問題 -
上の API クエリの結果は、Salesforce の内部サーバに存在する実際の画像への html img 要素 (src 付き) です。

ユーザーがポータルでこのレコードにアクセスする場合、画像は表示されません。
ユーザーが Salesforce にログインしてポータルページを更新すると、画像が表示されます。

解決策
これは設計どおりの動作です。
認証されていないブラウザセッションから画像 URL を使用しようとすると、問題が発生します。
リッチテキスト領域の項目内の画像は、デフォルトで「Salesforce 内部でのみ使用可能」になります。
リッチテキストエリア項目から画像ファイルの本文や実際のファイルを取得できる API はありません。

回避策:
1) リッチエリアテキスト項目の代わりに「ファイル」項目タイプを選択し、そこに画像を配置する方法への切り替えを検討します。
または
画像をドキュメントオブジェクトに配置します。

どちらも、API クエリコールを使用して実際のドキュメント本文を取得できます。この API クエリコールについて読みSalesforce ナレッジに関連するリソースを確認してください。

2) Salesforce の記事を使用する場合、記事は REST API 経由で取得できます


記事を force.com のサイトからアクセスできるように一般公開します。
基本情報は以下のとおりです。
  1. Force.com サイトを作成する
  2. サイトの公開アクセス設定では、ナレッジ記事タイプオブジェクトへのアクセスを許可する必要があります。
  3. サイトの「公開アクセス設定」は、リッチテキストや画像を含むナレッジ記事のタイプ項目へのアクセスを許可する必要があります。
  4. [ナレッジの設定] で、[公開 URL を使用して記事の共有をユーザーに許可する] を有効にします。
  5. [公開知識ベース] チャンネルを選択して記事を公開します。

これが完了したら、API クエリコールから返された img src を使用して、そのドメインを公開サイトのドメイン名に置き換える必要があります。

force.com サイトへのアクセス URL が以下の場合:

http://mySite.force.com

この例の img src を次のように変更します。

FROM (内部アクセスのみ)

https://c.<instance>.content.force.com/servlet/rtaImage?eid=<ka0....>&feoid=<00N....>&refid=<0EM.....>

TO (公開サイトへのアクセス)

http://mySite.force.com/servlet/rtaImage?eid=<ka0....>&feoid=<00N....>&refid=<0EM.....>

ナレッジ記事番号

000385938

 
読み込み中
Salesforce Help | Article