[Salesforce]リッチテキストエリアに保存された画像を一般公開する
結論から言うと、権限設定の問題でした。
具体的にしかかったことは以下です。
- キャンペーンの情報をvisualforceでsitesを使って表示
- カスタム項目でリッチテキストエリアを作成し、その画像を表示
リッチテキストエリアに保存された内容は以下のような形で取得できました。
<img alt=\"ユーザが追加した画像\" src=\"/my-Home/servlet/rtaImage?eid=701O00000007l1s&feoid=00NO0000001Abk2&refid=0EMO000000004py\" style=\"\"></img>
これを、公開しているサイトのURLにくっつけてアクセスしてみました。
例:
しかし、以下のような画像が表示されました。

どうやら権限がないことはわかっていたのですが、どこをどう触っていいやら。
いろいろ見たあげく、以下の設定でいけました。
Visualforceページの公開 – セールスフォースお助け隊ブログ | Salesforce
設定 –> 開発 –> サイト

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

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

編集をクリックし、

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

これでアクセス出来るようになりました。
今回はキャンペーンオブジェクトの話でしたが、
標準オブジェクト権限とカスタムオブジェクト権限が権限設定の箇所なので、
その他のオブジェクトについても設定が可能です。