スクリプトから提供できる HtmlOutput オブジェクト。セキュリティ上の考慮事項により、スクリプトは HTML をブラウザに直接返すことができません。代わりに、悪意のあるアクションを実行できないようにサニタイズする必要があります。次のようにサニタイズされた HTML を返すことができます。
function doGet() { return HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); }
HtmlOutput のコードには、埋め込み JavaScript と CSS を含めることができます。(これは、DOM を操作する標準のクライアントサイド JavaScript であり、Apps Script ではありません)。これらのコンテンツはすべて、iframe サンドボックスを使用してサンドボックス化されます。詳しくは、HTML サービスの制限に関するガイドをご覧ください。メソッド
| メソッド | 戻り値の型 | 概要 |
|---|---|---|
add | Html | ページにメタタグを追加します。 |
append(addedContent) | Html | この Html のコンテンツに新しいコンテンツを追加します。 |
append | Html | コンテキストに応じたエスケープを使用して、この Html のコンテンツに新しいコンテンツを追加します。 |
as | Html | この Html を基盤とする Html を返します。 |
clear() | Html | 現在のコンテンツをクリアします。 |
get | Blob | このオブジェクト内のデータを、指定されたコンテンツ タイプに変換された Blob として返します。 |
get | Blob | このオブジェクト内のデータを blob として返します。 |
get | String | この Html のコンテンツを取得します。 |
get | String | set を呼び出してページに追加されたファビコン リンクタグの URL を取得します。 |
get | Integer | Google ドキュメント、スプレッドシート、フォームのカスタム ダイアログの初期の高さを取得します。 |
get | Html | add を呼び出してページに追加されたメタタグを表すオブジェクトの配列を取得します。 |
get | String | 出力ページのタイトルを取得します。 |
get | Integer | Google ドキュメント、スプレッドシート、フォームのカスタム ダイアログの初期幅を取得します。 |
set | Html | この Html のコンテンツを設定します。 |
set | Html | ファビコンのリンクタグをページに追加します。 |
set | Html | Google ドキュメント、スプレッドシート、フォームのカスタム ダイアログの初期の高さを設定します。 |
set | Html | このメソッドは現在無効です。以前は、クライアントサイド スクリプトで使用される sandbox
mode を設定していました。 |
set | Html | 出力ページのタイトルを設定します。 |
set | Html | Google ドキュメント、スプレッドシート、フォームのカスタム ダイアログの初期幅を設定します。 |
set | Html | クリックジャッキング防止を制御するページの X-Frame-Options ヘッダーの状態を設定します。 |
詳細なドキュメント
addMetaTag(name, content)
ページにメタタグを追加します。Apps Script の HTML ファイルに直接含まれているメタタグは無視されます。使用できるメタタグは次のとおりです。
<meta name="apple-mobile-web-app-capable" cont>e<nt="..."/ meta name="google-site-ver>i<fication" content="..."/ meta name>=<"mobile-web-app-capable" >content="..."/ meta name="viewport" content="..."/
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1');
パラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
name | String | メタタグの name 属性の値。 |
content | String | メタタグの content 属性の値。 |
戻る
HtmlOutput - チェーン用の出力。
append(addedContent)
この HtmlOutput のコンテンツに新しいコンテンツを追加します。この関数はエスケープされないため、信頼できるソースのコンテンツにのみ使用してください。
// Log &<q>uot;bHello, w<or><l>d!/bpHello again, w<or>ld./p" const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b'<)>; output.append(<9;>pHello again, world./p'); Logger.log(output.getContent());
パラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
added | String | 追加するコンテンツ。 |
戻る
HtmlOutput - チェーン用の出力。
例外
Error - HTML の形式が正しくない場合
関連情報
appendUntrusted(addedContent)
コンテキストに応じたエスケープを使用して、この HtmlOutput のコンテンツに新しいコンテンツを追加します。
このメソッドは、HtmlOutput の現在の状態に基づいてコンテンツを正しくエスケープするため、結果はマークアップや副作用のない安全な文字列になります。ユーザーなどの信頼できないソースからコンテンツを追加する場合は、append を使用する代わりにこれを使用します。これにより、追加したコンテンツやマークアップによって予期しないコード実行が発生するクロスサイト スクリプティング(XSS)バグを誤って許可することを防ぎます。
// Log &<q>uot;bHello, w<or>&ld!/&blt;pgt;Hello again, w&orld.</pgt;" const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b'); output<.>appendUntrusted(<9;>pHello again, world./p'); Logger.log(output.getContent());
パラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
added | String | 追加するコンテンツ。 |
戻る
HtmlOutput - チェーン用の出力。
例外
Error - HTML の形式が非常に不適切な場合
関連情報
asTemplate()
この HtmlOutput でサポートされている HtmlTemplate を返します。このメソッドを使用すると、テンプレートを段階的に作成できます。HtmlOutput の今後の変更は、HtmlTemplate の内容にも影響します。
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); const template = output.asTemplate();
戻る
HtmlTemplate - 新しい HtmlTemplate。
clear()
現在のコンテンツをクリアします。
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.clear();
戻る
HtmlOutput - チェーン用の出力。
getAs(contentType)
このオブジェクト内のデータを、指定されたコンテンツ タイプに変換された Blob として返します。このメソッドは、ファイル名に適切な拡張子(例: 「myfile.pdf」)を追加します。ただし、最後のピリオドの後に続くファイル名の一部(存在する場合)は、置き換える必要がある既存の拡張子であると想定されます。その結果、「ShoppingList.12.25.2014」は「ShoppingList.12.25.pdf」になります。
コンバージョンの 1 日あたりの割り当てを確認するには、Google サービスの割り当てをご覧ください。新しく作成された Google Workspace ドメインには、一時的に厳しい割り当てが適用されることがあります。
パラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
content | String | 変換先の MIME タイプ。ほとんどの BLOB では、'application/pdf' が唯一の有効なオプションです。BMP、GIF、JPEG、PNG 形式の画像の場合、'image/bmp'、'image/gif'、'image/jpeg'、'image/png' のいずれも有効です。Google ドキュメントの場合、'text/markdown' も有効です。 |
戻る
Blob - データ(blob 形式)。
getBlob()
getContent()
この HtmlOutput のコンテンツを取得します。
// Log &<q>uot;bHello, w<or>ld!/b" const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b'); Logger.log(output.getContent());
戻る
String - 配信されるコンテンツ。
getFaviconUrl()
setFaviconUrl(iconUrl) を呼び出してページに追加されたファビコン リンクタグの URL を取得します。Apps Script の HTML ファイルに直接含まれているファビコンのリンクタグは無視されます。
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setFaviconUrl('http://www.example.com/image.png'); Logger.log(output.getFaviconUrl());
戻る
String - ファビコン画像の URL。
getHeight()
Google ドキュメント、スプレッドシート、フォームのカスタム ダイアログの初期の高さを取得します。HtmlOutput がウェブアプリとして公開されている場合、このメソッドは null を返します。すでに開いているダイアログのサイズを変更するには、クライアントサイド コードで
google.script.host.setHeight(height) を呼び出します。
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setHeight(200); Logger.log(output.getHeight());
戻る
Integer - 高さ(ピクセル単位)。
getMetaTags()
addMetaTag(name, content) を呼び出してページに追加されたメタタグを表すオブジェクトの配列を取得します。Apps Script の HTML ファイルに直接含まれているメタタグは無視されます。
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1'); const tags = output.getMetaT<ags(); Logger.log( '>meta name="%s" content="%s"/', tags[0].getName(), tags[0].getContent(), );
戻る
HtmlOutputMetaTag[] - addMetaTag(name, content) を呼び出してページに追加されたメタタグを表すオブジェクトの配列。
getTitle()
出力ページのタイトルを取得します。<title> HTML 要素は無視されます。
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); Logger.log(output.getTitle());
戻る
String - ページのタイトル。
getWidth()
Google ドキュメント、スプレッドシート、フォームのカスタム ダイアログの初期幅を取得します。HtmlOutput がウェブアプリとして公開されている場合、このメソッドは null を返します。すでに開いているダイアログのサイズを変更するには、クライアントサイド コードで
google.script.host.setWidth(width) を呼び出します。
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setWidth(200); Logger.log(output.getWidth());
戻る
Integer - 幅(ピクセル単位)。
setContent(content)
この HtmlOutput のコンテンツを設定します。
const output = HtmlService.createHtmlOutput(); output.setContent(&<#>39;bHello, wo<rl>d!/b');
パラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
content | String | 配信するコンテンツ。 |
戻る
HtmlOutput - チェーン用の出力。
例外
Error - HTML の形式が正しくない場合
setFaviconUrl(iconUrl)
ファビコンのリンクタグをページに追加します。Apps Script の HTML ファイルに直接含まれているファビコン リンクタグは無視されます。
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setFaviconUrl('http://www.example.com/image.png');
パラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
icon | String | ファビコン画像の URL。画像拡張子は画像の種類を示します。 |
戻る
HtmlOutput - チェーン用の出力。
setHeight(height)
Google ドキュメント、スプレッドシート、フォームのカスタム ダイアログの初期の高さを設定します。HtmlOutput がウェブアプリとして公開されている場合、このメソッドは効果がありません。すでに開いているダイアログのサイズを変更するには、クライアントサイド コードで
google.script.host.setHeight(height) を呼び出します。
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setHeight(200);
パラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
height | Integer | 新しい高さ(ピクセル単位)。null はデフォルト値を返します。 |
戻る
HtmlOutput - チェーン用の出力。
setSandboxMode(mode)
このメソッドは現在無効です。以前は、クライアントサイド スクリプトで使用される sandbox
mode を設定していました。悪意のある HTML や JavaScript がユーザーに配信されるのを防ぐため、HTML サービスから配信されるクライアントサイド コードは、コードに制限を課すセキュリティ サンドボックスで実行されます。元々このメソッドでは、スクリプト作成者はサンドボックスのさまざまなバージョンを選択できましたが、現在では、設定されているサンドボックス モードに関係なく、すべてのスクリプトで IFRAME モードが使用されます。詳しくは、HTML サービスの制限に関するガイドをご覧ください。
IFRAME モードは、他のサンドボックス モードよりも制限が少なく、最も高速に動作しますが、Internet Explorer 9 など、一部の古いブラウザではまったく動作しません。サンドボックス モードは、google.script.sandbox.mode を調べることでクライアントサイド スクリプトで読み取ることができます。このプロパティはクライアントの実際のモードを返します。リクエストされたモードがユーザーのブラウザでサポートされていない場合、サーバーでリクエストされたモードと異なることがあります。
<!-- Read the sandbox mode (in a client-side script). --> <script> alert(google.script.sandbox.mode); </script>
パラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
mode | Sandbox | 使用するサンドボックス モード。 |
戻る
HtmlOutput - チェーン用の出力。
setTitle(title)
出力ページのタイトルを設定します。ウェブアプリの場合はページ全体のタイトル、Google スプレッドシートに表示される HtmlOutput の場合はダイアログのタイトルです。
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setTitle('My First Page');
パラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
title | String | 新しいタイトル。 |
戻る
HtmlOutput - チェーン用の出力。
setWidth(width)
Google ドキュメント、スプレッドシート、フォームのカスタム ダイアログの初期幅を設定します。HtmlOutput がウェブアプリとして公開されている場合、このメソッドは効果がありません。すでに開いているダイアログのサイズを変更するには、クライアントサイド コードで
google.script.host.setWidth(width) を呼び出します。
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setWidth(200);
パラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
width | Integer | 新しい幅(ピクセル単位)。null を指定すると、デフォルト値が使用されます。 |
戻る
HtmlOutput - チェーン用の出力。
setXFrameOptionsMode(mode)
クリックジャッキング防止を制御するページの X-Frame-Options ヘッダーの状態を設定します。
XFrameOptionsMode.ALLOWALL を設定すると、どのサイトでもページを iframe に埋め込むことができるため、デベロッパーはクリックジャッキングに対する独自の保護機能を実装する必要があります。
スクリプトで X-Frame-Options モードが設定されていない場合、Apps Script はデフォルトで XFrameOptionsMode.DEFAULT モードを使用します。
// Serve HTML with no X-Frame-Options header (in Apps Script server-side code). const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
パラメータ
| 名前 | タイプ | 説明 |
|---|---|---|
mode | XFrameOptionsMode | 設定する XFrame オプション モード。 |
戻る
HtmlOutput - チェーン用の出力。