画像を表示する数式項目の作成

[Answersで回答する時に使う情報のまとめ](https://qiita.com/Keiji_otsubo/items/9e6e0e946826133eddc7)


時々、質問で出てきてその都度思い出すのが大変なので少しまとめておきます。

ヘルプでは　ナレッジ記事番号000324970 【なくなっている】
https://help.salesforce.com/articleView?id=000324970&language=ja&type=1&mode=1

と

ナレッジ記事番号	000327122
[「数式」項目での画像の使用](https://help.salesforce.com/articleView?id=000327122&type=1&mode=1)

があります。ただし前者ではうまく動かず、後者に紹介されている方法では表示できました。

後者の中に
画像を右クリックして [画像のアドレスをコピー] をクリックします。この画像 URL は無くさないように保存しておきましょう。URL の例:
"/sfc/servlet.shepherd/version/renditionDownload?rendition=ORIGINAL_Jpg&versionId=06846000002mPro&operationContext=CHATTER&contentId=05T46000009hQHt/image.jpg"

があって

添付ファイルで試してみたら
IMAGE("/sfc/servlet.shepherd/version/renditionDownload?rendition=ORIGINAL_Png&versionId=0682x000003hSto&operationContext=CHATTER&contentId=05T2x00000CrUDo" , "なし")

とimage.jpgなしでも表示できました。

ただややこしいのは
versionIdにはContentVersionオブジェクトのId
contentIdにはのContentVersionオブジェクトのContentBodyIdをセットする必要があります。

069で始まるIdから求める場合

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/223426c1-c968-4809-fc7f-e77a1c670b6f.png)


```
select Id,ContentBodyId from ContentVersion where ContentDocumentId = '069F8000001PFEQIA4'
```

また
rendition=ORIGINAL_Jpgはjpegファイルをそのままの大きさ
rendition=ORIGINAL_Pngはpngファイルをそのままの大きさ
rendition=SVGZはPDFをそのままの大きさ

以下、指定の大きさのサムネイル
rendition=THUMB120BY90
rendition=THUMB240BY180
rendition=THUMB720BY480
で表示できるようです。

ファイル種類が１つならそのままで表示できますが
違っている場合はContentVersionオブジェクトからファイルの種類を参照する必要があります。
サムネイルの方が簡単かもしれません。

数式項目として使う場合には添付ファイルであるContentVersionオブジェクトの値を
セットするのが難しいかもしれません。

また、aura コンポーネントでは

```
<img src="/sfc/servlet.shepherd/version/renditionDownload?rendition=THUMB720BY480&amp;versionId=0685D000000XcKe&amp;operationContext=CHATTER&amp;contentId=05T5D000001VQFD" />
```
とすれば表示できます。

カスタムコンポーネントだとApexで[ContentVersionオブジェクト](https://developer.salesforce.com/docs/atlas.ja-jp.object_reference.meta/object_reference/sforce_api_objects_contentversion.htm)を読んで値をセットすれば
複数のファイルを表示することも難しくないと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/acd1d6ec-3e4e-e69e-896e-298ecd75c25c.png)



# リッチテキストの中でも使えるようです。

+ [添付ファイル画像をリッチテキストに表示したい](https://trailhead.salesforce.com/ja/trailblazer-community/feed/0D54S00000JflRySAJ)

# うまく表示されない

+ [メールテンプレートの画像挿入について](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000QO96z)
+ [画像を表す数式](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007akSN9)


# Connect REST API : 要求するパラメータ

+ [メモ＆添付ファイルに登録したPDFファイルをLWCで表示する方法](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007ifr0G)

「page」はInteger型で、特定のページについて変換を指定します。最初のページは0になります。特定のページを指定しない場合は、最初のページの変換が返ってきます。PDFファイルの変換については、ドキュメント全体の変換になり、有効な値は0だけです。単一ページの変換を取得することができません。 「type」はString型で、返される変換の種類について指定します。デフォルト値は「THUMB120BY90」です。有効な値は、「PDF」、「THUMB120BY90」、「THUMB240BY180」、「THUMB720BY480」になります。

https://www.openupitengineer.co.jp/column/it-technology/8695

https://developer.salesforce.com/docs/atlas.ja-jp.chatterapi.meta/chatterapi/connect_resources_files_rendition.htm

# 画像が壊れている

+ [google ストリートビューをサムネイル表示したい](https://trailhead.salesforce.com/trailblazer-community/feed/0D5KX000000lQxa0AE)

:::note
GoogleMapの埋込URLをimage関数で表示できるかを確かめましたが、機能しませんでした
信頼できるURLや リモートサイト も設定してみました。

以下を読むとURLは直接画像のURLでないと機能しないようです

https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007XHEPrSAP

以下のURLで試しましたが、直接の画像のURLではないためか機能しないですね。

埋込URL

```
https://maps.app.goo.gl/Kaqv1GyNUzkZbL5j7
```

iframe用

```
https://www.google.com/maps/embed?pb=!4v1729570256073!6m8!1m7!1stAF8RRgmjIK8HBoJFiw7wQ!2m2!1d
```
:::