SharePoint Onlineの社内ページに動画やレポート、外部サイトのコンテンツを埋め込む機会は増えています。しかし、埋め込みコンテンツが正しく表示されなかったり、セキュリティ上の問題が発生するケースも少なくありません。この記事では、SharePointで埋め込みコンテンツを追加する際に知っておくべき注意点とトラブルシューティングの手順を解説します。
【要点】この記事で確認すること
- 最初に見る場所: 埋め込み元のサイトがiframeによる埋め込みを許可しているか(X-Frame-Optionsヘッダー)
- 切り分けの軸: 端末側(ブラウザの設定)か、アカウント側(権限)か、管理設定側(SharePointのカスタムスクリプト許可)か
- 注意点: 会社PCではブラウザのセキュリティ設定やグループポリシーで埋め込みがブロックされる場合があるため、管理者と相談する
ADVERTISEMENT
目次
埋め込みコンテンツを追加する前に知っておくべき基本
SharePoint Onlineのモダンページには、主に2種類のWebパーツを使って外部コンテンツを埋め込めます。「埋め込み」Webパーツと「コードスニペット」Webパーツです。埋め込みWebパーツはYouTubeやVimeo、Power BIなど一般的なサービスに対応し、コードスニペットは任意のHTMLやJavaScriptを記述できる柔軟なパーツです。ただし、コードスニペットはサイトコレクション管理者がカスタムスクリプトを許可していないと使えません。
埋め込み可能なコンテンツの種類
埋め込みWebパーツでは、以下のようなコンテンツを簡単に追加できます。
- 動画共有サイト(YouTube、Vimeo、Microsoft Stream)
- Power BIレポートまたはダッシュボード
- Swayプレゼンテーション
- その他iframe埋め込みコードを提供するサービス
埋め込みWebパーツとコードスニペットWebパーツの違い
埋め込みWebパーツはiframeタグを自動的に解釈して表示します。コードスニペットWebパーツはスクリプトタグを含むあらゆるHTMLを実行できるため、より高度なカスタマイズが可能ですが、セキュリティリスクも高まります。そのため、コードスニペットは管理者がサイトコレクションの「カスタムスクリプト」設定をオンにしている必要があります。
埋め込みコードの取得方法
外部サービスから埋め込みコードを取得する手順はサービスごとに異なりますが、多くの場合「共有」または「埋め込み」ボタンからiframeタグをコピーできます。たとえばYouTubeでは動画の「共有」→「埋め込み」でコードを取得できます。注意点として、埋め込みコードは通常iframe要素で提供されますが、中にはJavaScriptが必要なものや、URLのみ提供される場合もあります。SharePointの埋め込みWebパーツではiframeタグが最も確実です。
埋め込みコンテンツが表示されない原因と対処法
埋め込みコンテンツが表示されない場合、以下の原因が考えられます。一つずつ確認していきましょう。
ブラウザのセキュリティ設定
多くのブラウザは、HTTPページにHTTPSのコンテンツを埋め込むと「Mixed Content」としてブロックします。SharePointはHTTPSでアクセスするのが一般的ですが、埋め込み元がHTTPだと混在コンテンツとみなされ表示されません。また、ブラウザのポップアップブロックや拡張機能が原因で表示されないこともあります。まずはシークレットモードまたは別のブラウザで試してください。
埋め込み元サイトのセキュリティポリシー
WebサイトはX-Frame-Optionsヘッダーを使ってiframeによる埋め込みを制限できます。SAMEORIGINまたはDENYに設定されているサイトは、別のドメインから埋め込めません。SharePointから埋め込む場合、対象サイトがiframeを許可しているか確認する必要があります。開発者ツール(F12)のネットワークタブで埋め込み元のレスポンスヘッダーを確認すると、X-Frame-Optionsの値が分かります。
SharePoint側の設定も重要です。コードスニペットWebパーツを使用する場合、サイトコレクションで「カスタムスクリプト」が許可されている必要があります。また、埋め込み元のドメインがSharePointの「サイトの許可」リストに含まれていないと、セキュリティポリシーでブロックされる可能性があります。管理者はSharePoint管理センターの「セキュリティ」設定でドメインのホワイトリストを管理できます。
以下の手順でトラブルシューティングを行ってください。
- ブラウザのシークレットモードで対象ページを開き、埋め込みコンテンツが表示されるか確認する。
- 埋め込み元サイトのURLを直接ブラウザで開き、アクセスできるか確認する。
- 埋め込みコードが正しいか確認する(特にダブルクォーテーションやURLのタイポ)。
- 開発者ツール(F12)のコンソールタブでエラーメッセージがないか確認する。
- SharePointページを他のユーザーが閲覧できる権限を持っているか確認する。
- 管理者に問い合わせ、カスタムスクリプトの設定やホワイトリストを確認してもらう。
埋め込み時のセキュリティ注意点
社内ページに外部コンテンツを埋め込む際は、情報漏洩やマルウェアのリスクに注意しなければなりません。特に社外のサイトを埋め込む場合、そのサイトが信頼できるかどうか確認してください。また、埋め込みコンテンツがユーザーの認証情報を要求する場合、SharePointとは別の認証が必要になるため、ユーザーにとって不便になります。可能であれば、社内システム内で完結するコンテンツ(SharePoint内の別ページやPower BI)を優先しましょう。
社外サイトと社内サイトの違い
社内サイト(同じテナント内のSharePointサイトなど)を埋め込む場合は、認証が自動的に行われます。一方、社外のサイト(YouTube、Twitter、外部ポータルなど)を埋め込む場合は、そのサイトのセキュリティポリシーに依存します。たとえば、認証が必要な社外サイトを埋め込むと、ユーザーは別途ログインを求められます。
データ漏洩リスクと対策
コードスニペットWebパーツでJavaScriptを実行できる場合、悪意のあるスクリプトが埋め込まれると、ページを閲覧したユーザーの情報が漏洩する可能性があります。そのため、コードスニペットの使用は信頼できるソースに限定し、原則として埋め込みWebパーツを使用することを推奨します。また、埋め込み元のドメインが安全であることを確認し、必要に応じてSharePointの「許可された埋め込みドメイン」の設定を管理者に依頼してください。
状況別の比較表
埋め込み方法の違いを下表にまとめました。用途に応じて最適な方法を選んでください。
| 方法 | 特徴 | 推奨用途 | 注意点 |
|---|---|---|---|
| 埋め込みWebパーツ | iframeタグのみ、スクリプト不可 | YouTube、Power BI、Sway等 | 埋め込み元がX-Frame-Optionsで許可している必要がある |
| コードスニペットWebパーツ | HTML/JavaScript自由記述 | カスタムフォーム、動的コンテンツ | 管理者によるカスタムスクリプト許可が必要、セキュリティリスク高い |
| iframeタグ直接記述 | HTMLビューで記述(モダンでは非推奨) | クラシックページでの利用 | モダンページでは推奨されず、埋め込みWebパーツを使うべき |
失敗パターンと管理者への確認事項
実際によくある失敗例をいくつか挙げます。事前に把握しておけばトラブルを減らせます。
よくある失敗パターン
- 埋め込みコードの誤り: コピーしたコードが不完全だったり、URLにスペースが入っている。
- ブラウザの互換性: Internet Explorerでは動作しない埋め込みがある。
- 権限不足: 埋め込み先のコンテンツが共有設定されていない。
- カスタムスクリプト未許可: コードスニペットWebパーツを使おうとしても管理者が許可していない。
- モバイル表示の崩れ: 埋め込みコンテンツがレスポンシブ対応していないとスマホで見にくい。
管理者に確認すべき事項
- サイトコレクションでカスタムスクリプトが許可されているか(SharePoint管理センターの「設定」→「サイトコレクション」内)。
- 埋め込みを許可するドメインのホワイトリストが設定されているか(セキュリティポリシー)。
- ブラウザのグループポリシーでiframeがブロックされていないか(IEやEdgeの場合)。
- SharePoint Onlineのテナント全体で埋め込み機能が無効になっていないか。
よくある質問
最後に、よく寄せられる質問とその回答をまとめます。
Q: 埋め込んだYouTube動画が表示されません。
A: YouTubeはiframe埋め込みを許可していますが、ブラウザのシークレットモードで試してください。また、埋め込みコードの「src」が正しいか確認し、動画の公開設定が限定公開になっていないかもチェックしてください。
Q: コードスニペットWebパーツがグレーアウトして選べません。
A: サイトコレクションでカスタムスクリプトが許可されていない可能性があります。管理者に連絡して設定を変更してもらってください。なお、安全上の理由から、管理者は必要最小限のサイトでのみ許可することを検討すべきです。
Q: 社内の別のSharePointサイトのページを埋め込みたいのですが、うまくいきません。
A: 埋め込みたいページのURLを直接ブラウザで開き、アクセス権があるか確認してください。また、SharePointは同じテナント内のページでもX-Frame-Optionsが設定されている場合があり、その場合は埋め込みできません。ページの設定で「埋め込みを許可」する必要があるかもしれません(クラシックページの場合)。
Q: Power BIレポートを埋め込んでも真っ白です。
A: Power BIレポートを埋め込むには、Power BIサービスで「埋め込み」設定を行い、発行された埋め込みコードを使用してください。レポートの共有設定も確認し、ユーザーが閲覧権限を持っている必要があります。
まとめ
SharePointで埋め込みコンテンツを利用する際は、埋め込み元の許可設定とブラウザの互換性を最初に確認しましょう。基本的には埋め込みWebパーツを優先し、コードスニペットはセキュリティリスクを考慮して慎重に使用してください。問題が発生したらシークレットモードの確認や開発者ツールのエラーを手がかりに原因を切り分け、管理者と連携して解決に当たりましょう。
超解決 リモートワーク研究班
Microsoft 365の導入・保守を専門とするエンジニアグループ。通信障害やサインイン不具合など、ビジネスインフラのトラブル対応に精通しています。
Office・仕事術の人気記事ランキング
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Excel】文字が入っているセルの「個数」を数える!COUNTA関数の簡単な使い方
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Teams】画面共有時に「音声」も共有する方法!音が流れない時の設定手順
