[Salesforce]リッチテキストエリアに保存された画像を一般公開する

結論から言うと、権限設定の問題でした。

具体的にしかかったことは以下です。

  • キャンペーンの情報をvisualforceでsitesを使って表示
  • カスタム項目でリッチテキストエリアを作成し、その画像を表示

リッチテキストエリアに保存された内容は以下のような形で取得できました。

<img alt=\"ユーザが追加した画像\" src=\"/my-Home/servlet/rtaImage?eid=701O00000007l1s&amp;feoid=00NO0000001Abk2&amp;refid=0EMO000000004py\" style=\"\"></img>

これを、公開しているサイトのURLにくっつけてアクセスしてみました。

例:

https://my-domain.cs6.force.com/my-Home/servlet/rtaImage?eid=701O00000007l1s&feoid=00NO0000001Abk2&refid=0EMO000000004py

しかし、以下のような画像が表示されました。

not avaiable

どうやら権限がないことはわかっていたのですが、どこをどう触っていいやら。
いろいろ見たあげく、以下の設定でいけました。

Visualforceページの公開 – セールスフォースお助け隊ブログ | Salesforce

設定 –> 開発 –> サイト

サイト

公開しているサイトのサイトの表示ラベルをクリック

サイト

サイトの詳細で、公開アクセス設定をクリック

サイト

編集をクリックし、

サイト

標準オブジェクト権限キャンペーン参照をチェックして保存。

サイト

これでアクセス出来るようになりました。

今回はキャンペーンオブジェクトの話でしたが、
標準オブジェクト権限カスタムオブジェクト権限が権限設定の箇所なので、
その他のオブジェクトについても設定が可能です。

   このエントリーをはてなブックマークに追加