Class HtmlOutput

HtmlOutput

スクリプトから提供できる HtmlOutput オブジェクト。セキュリティ上の考慮事項から スクリプトは HTML をブラウザに直接返すことができません。代わりに、サニタイズして 悪意のある行為を行えません。次のように、サニタイズされた HTML を返すことができます。

function doGet() {
  return HtmlService.createHtmlOutput('<b>Hello, world!</b>');
}
HtmlOutput 内のコードには、埋め込み JavaScript と CSS を含めることができます。(これは標準の クライアントサイドの JavaScript(Apps Script ではなく DOM を操作する)を使用することです。これらのコンテンツはすべて iframe サンドボックス化します。詳しくは、HTML サービスの制限に関するガイドをご覧ください。

メソッド

メソッド戻り値の型概要
addMetaTag(name, content)HtmlOutputページにメタタグを追加します。
append(addedContent)HtmlOutputこの HtmlOutput のコンテンツに新しいコンテンツを追加します。
appendUntrusted(addedContent)HtmlOutputコンテキスト エスケープを使用して、この HtmlOutput のコンテンツに新しいコンテンツを追加します。
asTemplate()HtmlTemplateこの HtmlOutput に基づく HtmlTemplate を返します。
clear()HtmlOutput現在のコンテンツを消去します。
getAs(contentType)Blobこのオブジェクト内のデータを、指定されたコンテンツ タイプに変換された blob として返します。
getBlob()Blobこのオブジェクト内のデータを blob として返します。
getContent()Stringこの HtmlOutput のコンテンツを取得します。
getFaviconUrl()StringsetFaviconUrl(iconUrl) を呼び出して、ページに追加されたファビコン リンクタグの URL を取得します。
getHeight()IntegerGoogle のカスタム ダイアログの初期の高さを取得します ドキュメント、スプレッドシート、フォームです。
getMetaTags()HtmlOutputMetaTag[]addMetaTag(name, content) を呼び出してページに追加されたメタタグを表すオブジェクトの配列を取得します。
getTitle()String出力ページのタイトルを取得します。
getWidth()IntegerGoogle のカスタム ダイアログの初期の幅を取得します。 ドキュメント、スプレッドシート、フォームです。
setContent(content)HtmlOutputこの HtmlOutput のコンテンツを設定します。
setFaviconUrl(iconUrl)HtmlOutputファビコンのリンクタグをページに追加します。
setHeight(height)HtmlOutputGoogle のカスタム ダイアログの初期の高さを設定します ドキュメント、スプレッドシート、フォームです。
setSandboxMode(mode)HtmlOutputこのメソッドは現在では効果を持ちません。以前は、クライアント側のスクリプトに使用する sandbox mode が設定されていました。
setTitle(title)HtmlOutput出力ページのタイトルを設定します。
setWidth(width)HtmlOutputGoogle のカスタム ダイアログの初期の幅を設定します ドキュメント、スプレッドシート、フォームです。
setXFrameOptionsMode(mode)HtmlOutputクリックジャッキングを制御するページの X-Frame-Options ヘッダーの状態を設定します 防止できます。

詳細なドキュメント

addMetaTag(name, content)

ページにメタタグを追加します。Apps Script HTML ファイルに直接挿入するメタタグは、 無視されます。次のメタタグのみを使用できます。

<meta name="apple-mobile-web-app-capable" content="..."/>
<meta name="google-site-verification" content="..."/>
<meta name="mobile-web-app-capable" content="..."/>
<meta name="viewport" content="..."/>
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.addMetaTag('viewport', 'width=device-width, initial-scale=1');

パラメータ

名前説明
nameStringメタタグの name 属性の値。
contentStringメタタグの content 属性の値。

戻る

HtmlOutput - チェーン用のこの出力。


append(addedContent)

この HtmlOutput のコンテンツに新しいコンテンツを追加します。これは、 エスケープされません。

// Log "<b>Hello, world!</b><p>Hello again, world.</p>"
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.append('<p>Hello again, world.</p>');
Logger.log(output.getContent());

パラメータ

名前説明
addedContentString追加するコンテンツ。

戻る

HtmlOutput - チェーン用のこの出力。

例外

Error - HTML の形式が正しくない場合

関連情報


appendUntrusted(addedContent)

コンテキスト エスケープを使用して、この HtmlOutput のコンテンツに新しいコンテンツを追加します。

このメソッドは、HtmlOutput の現在の状態に基づいてコンテンツを正しくエスケープします。 マークアップや副作用のない安全な文字列になるようにします。代わりに、この方法を使用して ユーザーなどの信頼できないソースのコンテンツを追加する際に常に追加し、 クロスサイト スクリプティング(XSS)のバグを誤って許可し、 予期しないコード実行を発生させます。

// Log "<b>Hello, world!</b>&lt;p&gt;Hello again, world.&lt;/p&gt;"
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.appendUntrusted('<p>Hello again, world.</p>');
Logger.log(output.getContent());

パラメータ

名前説明
addedContentString追加するコンテンツ。

戻る

HtmlOutput - チェーン用のこの出力。

例外

Error - HTML が非常に形式が正しくない場合

関連情報


asTemplate()

この HtmlOutput に基づく HtmlTemplate を返します。この方法を使用して、 段階的に作成していきます。今後 HtmlOutput に加えられる変更は、次の内容に影響します HtmlTemplate が返されます。

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
var template = output.asTemplate();

戻る

HtmlTemplate - 新しい HtmlTemplate


clear()

現在のコンテンツを消去します。

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.clear();

戻る

HtmlOutput - チェーン用のこの出力。


getAs(contentType)

このオブジェクト内のデータを、指定されたコンテンツ タイプに変換された blob として返します。この メソッドにより、ファイル名に適切な拡張子(例: myfile.pdf)が追加されます。ただし、 ファイル名の最後のピリオド(ある場合)に続く部分は、 指定します。したがって、「ShoppingList.12.25.2014」となります。が以下に変換される: 「ShoppingList.12.25.pdf」

コンバージョンの 1 日あたりの割り当てを確認するには、Google Cloud の割り当て サービス。新しく作成された Google Workspace ドメインには一時的に厳格な できます。

パラメータ

名前説明
contentTypeString変換先の MIME タイプ。ほとんどの blob の場合、'application/pdf' は次のようになります。 唯一の有効な選択肢となりますBMP、GIF、JPEG、PNG 形式の画像の場合は、'image/bmp''image/gif''image/jpeg''image/png' のいずれかも可 有効です。Google ドキュメントのドキュメントの場合は、'text/markdown' も有効です。

戻る

Blob - blob としてのデータ。


getBlob()

このオブジェクト内のデータを blob として返します。

戻る

Blob - blob としてのデータ。


getContent()

この HtmlOutput のコンテンツを取得します。

// Log "<b>Hello, world!</b>"
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
Logger.log(output.getContent());

戻る

String - 配信されるコンテンツ。


getFaviconUrl()

setFaviconUrl(iconUrl) を呼び出して、ページに追加されたファビコン リンクタグの URL を取得します。Apps Script HTML ファイルに直接含まれるファビコン リンクタグは、 無視されます。

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setFaviconUrl('http://www.example.com/image.png');
Logger.log(output.getFaviconUrl());

戻る

String - ファビコン画像の URL。


getHeight()

Google のカスタム ダイアログの初期の高さを取得します ドキュメント、スプレッドシート、フォームです。HtmlOutput がウェブアプリとして公開されている場合は、 メソッドは null を返します。すでに開いているダイアログのサイズを変更するには、を呼び出します。 クライアントサイドのコードの google.script.host.setHeight(height)

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setHeight(200);
Logger.log(output.getHeight());

戻る

Integer - 高さ(ピクセル単位)。


getMetaTags()

addMetaTag(name, content) を呼び出してページに追加されたメタタグを表すオブジェクトの配列を取得します。Apps Script HTML ファイルに直接挿入するメタタグは、 無視されます。

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.addMetaTag('viewport', 'width=device-width, initial-scale=1');

var tags = output.getMetaTags();
Logger.log('<meta name="%s" content="%s"/>', tags[0].getName(), tags[0].getContent());

戻る

HtmlOutputMetaTag[] - addMetaTag(name, content) を呼び出してページに追加されたメタタグを表すオブジェクトの配列。


getTitle()

出力ページのタイトルを取得します。なお、<title> にはHTML 要素は無視されます。

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
Logger.log(output.getTitle());

戻る

String - ページのタイトル。


getWidth()

Google のカスタム ダイアログの初期の幅を取得します。 ドキュメント、スプレッドシート、フォームです。HtmlOutput がウェブアプリとして公開されている場合は、 メソッドは null を返します。すでに開いているダイアログのサイズを変更するには、を呼び出します。 クライアントサイドのコードの google.script.host.setWidth(width)

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setWidth(200);
Logger.log(output.getWidth());

戻る

Integer - 幅(ピクセル単位)。


setContent(content)

この HtmlOutput のコンテンツを設定します。

var output = HtmlService.createHtmlOutput();
output.setContent('<b>Hello, world!</b>');

パラメータ

名前説明
contentString提供するコンテンツ。

戻る

HtmlOutput - チェーン用のこの出力。

例外

Error - HTML の形式が正しくない場合


setFaviconUrl(iconUrl)

ファビコンのリンクタグをページに追加します。アプリに直接含まれるファビコン リンクタグ スクリプトの HTML ファイルは無視されます。

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setFaviconUrl('http://www.example.com/image.png');

パラメータ

名前説明
iconUrlString画像拡張子が付いたファビコン画像の URL あります。

戻る

HtmlOutput - チェーン用のこの出力。


setHeight(height)

Google のカスタム ダイアログの初期の高さを設定します ドキュメント、スプレッドシート、フォームです。HtmlOutput がウェブアプリとして公開されている場合は、 メソッドには効果がありません。すでに開いているダイアログのサイズを変更するには、を呼び出します。 クライアントサイドのコードの google.script.host.setHeight(height)

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setHeight(200);

パラメータ

名前説明
heightIntegerピクセル単位の新しい高さです。null の結果はデフォルト値になります。

戻る

HtmlOutput - チェーン用のこの出力。


setSandboxMode(mode)

このメソッドは現在では効果を持ちません。以前は、クライアント側のスクリプトに使用する sandbox mode が設定されていました。悪意のある HTML やファイルのダウンロードが HTML サービスから配信されるクライアントサイドの JavaScript(クライアントサイド・コードは)を、セキュリティ・サンドボックス内で実行 コードに制限が課せられます。もともと、この方法ではスクリプト作成者が サンドボックスのバージョン間で異なりますが、すべてのスクリプトで 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>

パラメータ

名前説明
modeSandboxMode使用するサンドボックス モード。

戻る

HtmlOutput - チェーン用のこの出力。


setTitle(title)

出力ページのタイトルを設定します。ウェブアプリの場合はページ全体のタイトル、 Google スプレッドシートに表示される HtmlOutput の場合、これはダイアログのタイトルです。

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setTitle('My First Page');

パラメータ

名前説明
titleString新しいタイトル。

戻る

HtmlOutput - チェーン用のこの出力。


setWidth(width)

Google のカスタム ダイアログの初期の幅を設定します ドキュメント、スプレッドシート、フォームです。HtmlOutput がウェブアプリとして公開されている場合は、 メソッドには効果がありません。すでに開いているダイアログのサイズを変更するには、を呼び出します。 クライアントサイドのコードの google.script.host.setWidth(width)

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setWidth(200);

パラメータ

名前説明
widthIntegerピクセル単位の新しい幅です。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).
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);

パラメータ

名前説明
modeXFrameOptionsMode設定する XFrame オプション モード。

戻る

HtmlOutput - チェーン用のこの出力。