Googleサイトに外部サイトを埋め込む方法とiframeの制限対策

HTML、CSS

Googleサイトでは、外部サイトを埋め込むことで情報をまとめて表示できます。しかし、iframeで直接埋め込もうとしても、セキュリティ設定やCORSポリシーにより表示できないことがあります。本記事では、消防本部サイトなどの外部情報をGoogleサイトに埋め込む方法と注意点を解説します。

iframeでの埋め込みがうまくいかない理由

多くの公共サイトや外部サイトは、X-Frame-Optionsヘッダーで他サイトからの埋め込みを制限しています。そのため、単純に<iframe src="URL"></iframe>を入れても表示されません。

特にHTTPとHTTPSが混在している場合もブロックされることがあります。GoogleサイトはHTTPSで提供されるため、HTTPコンテンツを埋め込むと安全上の理由で表示されません。

Googleサイトで外部情報を表示する代替方法

外部サイトがiframe埋め込みを許可していない場合、スクリーンスクレイピングやAPIを利用して情報を取得し、自分のサイトで表示する方法が考えられます。

例えば、消防車の出動状況をJSONやRSSで取得できる場合、Google Apps ScriptやGoogleスプレッドシートを経由して情報をGoogleサイトに反映させることが可能です。

具体的な手順の例

1. 外部サイトが提供する公式APIまたはRSSを確認する。

2. Google Apps Scriptでデータを取得し、整形する。

3. Googleサイトに埋め込めるHTMLウィジェットやガジェットを利用して、整形したデータを表示する。

注意点とポイント

外部サイトの情報を取得する場合は、利用規約や著作権を遵守してください。特に公共情報でも利用制限がある場合があります。

また、データの更新頻度に応じて定期的に取得する仕組みを作ることで、常に最新情報を表示できます。

まとめ

Googleサイトでは、外部サイトの直接iframe埋め込みはセキュリティ上制限されることが多く、表示できない場合があります。その場合は、公式APIやRSSを利用してGoogle Apps Script経由で情報を取得し、サイト内に表示する方法が有効です。これにより、最新情報を安全に反映させることができます。

コメント

タイトルとURLをコピーしました