スクリプトから提供できる 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() | String | setFaviconUrl(iconUrl) を呼び出して、ページに追加されたファビコン リンクタグの URL を取得します。 |
getHeight() | Integer | Google のカスタム ダイアログの初期の高さを取得します ドキュメント、スプレッドシート、フォームです。 |
getMetaTags() | HtmlOutputMetaTag[] | addMetaTag(name, content) を呼び出してページに追加されたメタタグを表すオブジェクトの配列を取得します。 |
getTitle() | String | 出力ページのタイトルを取得します。 |
getWidth() | Integer | Google のカスタム ダイアログの初期の幅を取得します。 ドキュメント、スプレッドシート、フォームです。 |
setContent(content) | HtmlOutput | この HtmlOutput のコンテンツを設定します。 |
setFaviconUrl(iconUrl) | HtmlOutput | ファビコンのリンクタグをページに追加します。 |
setHeight(height) | HtmlOutput | Google のカスタム ダイアログの初期の高さを設定します ドキュメント、スプレッドシート、フォームです。 |
setSandboxMode(mode) | HtmlOutput | このメソッドは現在では効果を持ちません。以前は、クライアント側のスクリプトに使用する sandbox
mode が設定されていました。 |
setTitle(title) | HtmlOutput | 出力ページのタイトルを設定します。 |
setWidth(width) | HtmlOutput | Google のカスタム ダイアログの初期の幅を設定します ドキュメント、スプレッドシート、フォームです。 |
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');
パラメータ
名前 | 型 | 説明 |
---|---|---|
name | String | メタタグの name 属性の値。 |
content | String | メタタグの 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());
パラメータ
名前 | 型 | 説明 |
---|---|---|
addedContent | String | 追加するコンテンツ。 |
戻る
HtmlOutput
- チェーン用のこの出力。
例外
Error
- HTML の形式が正しくない場合
関連情報
appendUntrusted(addedContent)
コンテキスト エスケープを使用して、この HtmlOutput
のコンテンツに新しいコンテンツを追加します。
このメソッドは、HtmlOutput
の現在の状態に基づいてコンテンツを正しくエスケープします。
マークアップや副作用のない安全な文字列になるようにします。代わりに、この方法を使用して
ユーザーなどの信頼できないソースのコンテンツを追加する際に常に追加し、
クロスサイト スクリプティング(XSS)のバグを誤って許可し、
予期しないコード実行を発生させます。
// Log "<b>Hello, world!</b><p>Hello again, world.</p>" var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.appendUntrusted('<p>Hello again, world.</p>'); Logger.log(output.getContent());
パラメータ
名前 | 型 | 説明 |
---|---|---|
addedContent | String | 追加するコンテンツ。 |
戻る
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 ドメインには一時的に厳格な できます。
パラメータ
名前 | 型 | 説明 |
---|---|---|
contentType | 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 "<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>');
パラメータ
名前 | 型 | 説明 |
---|---|---|
content | String | 提供するコンテンツ。 |
戻る
HtmlOutput
- チェーン用のこの出力。
例外
Error
- HTML の形式が正しくない場合
setFaviconUrl(iconUrl)
ファビコンのリンクタグをページに追加します。アプリに直接含まれるファビコン リンクタグ スクリプトの HTML ファイルは無視されます。
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png');
パラメータ
名前 | 型 | 説明 |
---|---|---|
iconUrl | String | 画像拡張子が付いたファビコン画像の URL あります。 |
戻る
HtmlOutput
- チェーン用のこの出力。
setHeight(height)
Google のカスタム ダイアログの初期の高さを設定します
ドキュメント、スプレッドシート、フォームです。HtmlOutput
がウェブアプリとして公開されている場合は、
メソッドには効果がありません。すでに開いているダイアログのサイズを変更するには、を呼び出します。
クライアントサイドのコードの google.script.host.setHeight(height)
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200);
パラメータ
名前 | 型 | 説明 |
---|---|---|
height | Integer | ピクセル単位の新しい高さです。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>
パラメータ
名前 | 型 | 説明 |
---|---|---|
mode | SandboxMode | 使用するサンドボックス モード。 |
戻る
HtmlOutput
- チェーン用のこの出力。
setTitle(title)
出力ページのタイトルを設定します。ウェブアプリの場合はページ全体のタイトル、
Google スプレッドシートに表示される HtmlOutput
の場合、これはダイアログのタイトルです。
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setTitle('My First Page');
パラメータ
名前 | 型 | 説明 |
---|---|---|
title | String | 新しいタイトル。 |
戻る
HtmlOutput
- チェーン用のこの出力。
setWidth(width)
Google のカスタム ダイアログの初期の幅を設定します
ドキュメント、スプレッドシート、フォームです。HtmlOutput
がウェブアプリとして公開されている場合は、
メソッドには効果がありません。すでに開いているダイアログのサイズを変更するには、を呼び出します。
クライアントサイドのコードの google.script.host.setWidth(width)
var output = HtmlService.createHtmlOutput('<b>Hello, world!</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). var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
パラメータ
名前 | 型 | 説明 |
---|---|---|
mode | XFrameOptionsMode | 設定する XFrame オプション モード。 |
戻る
HtmlOutput
- チェーン用のこの出力。