【List Formatting】customRowAction に embed が追加された!(外部サイトの埋め込み)

書式設定のドキュメント を確認していたところ、customRowAction に関する内容が追加されていました。action プロパティに、新たに embed を設定できるようになったようです。

この embed を利用すると、次のように外部サイトを埋め込み表示できるようです。

この embed を試しに触ってみたところ、次の4つの注意事項がありそうでした。

⚠ 注意事項1:Newer version of the Microsoft Lists App でしか利用できない

ドキュメントに「Note - This action is only available in the newer version of the Microsoft Lists App.」との記載がありました。

試してみると、確かに Microsoft Lists でリストを開いたときは埋め込み表示されましたが、SharePoint でリストを開いたときは埋め込み表示されませんでした。

また、「newer version」とはどのような状態を指すのか不明でしたが、Forms 機能 が利用できるテナントでは埋め込み表示され、Forms 機能 が利用できないテナントでは埋め込み表示されませんでした。

※「newer version」とはどのような状態を指すのか、また現在利用している Microsoft Lists App が newer version かどうかの確認方法が分からなかったため、GitHub で Issue を作成し、質問してみています。

⚠ 注意事項2:埋め込み専用のURL?でなければいけない

「YouTube の動画を試しに埋め込ませてみよう!」と [共有] ボタンを押して表示されるURLをコード内の src に設定してみたところ、埋め込み表示されませんでした。

「どこが悪いのか…」と再度ドキュメントを見返してみると、「Note that the src has to be just the url part of an embeddable code generated by an app.」と記載されていることに気が付きました。

YouTube の埋め込み用コード内に記載されているURLを、書式設定のコード内の src を設定してみたところ、埋め込み表示されました。

どうやら src に設定するURLは、埋め込み専用のURL?でないとダメみたいです。

⚠ 注意事項3:「HTML フィールドのセキュリティ」を設定しなければいけない

SharePoint のサイトでは埋め込みに関する制限があります。埋め込み先のサイトが埋め込み許可されていない場合、埋め込み表示されません。

詳細は、次のリンク先をご確認ください。
カスタム フォーマッタを使用して SharePoint リストにコンテンツを埋め込む機能を許可または制限する

⚠ 注意事項4:src の設定に @currentField を利用できない

列の値を src プロパティに設定するため、"src": "@currentField" とコーディングしたところ、埋め込み表示されませんでした。"src": "[$列の内部名]" とコーディングしたところ、埋め込み表示されました。

どうやら src の設定に @currentField は利用できない?ようです。

サンプルコード

以下は、検証時に作成したサンプルコードです。[Watch YouTube] ボタンを表示させる書式設定です。ボタンをクリックすると、YouTube 列(列の内部値:YouTube)に設定されているURL先の動画が埋め込み表示されます。