AI-generated Key Takeaways
- 
          google.script.hostis a client-side JavaScript API for interacting with dialogs or sidebars in Google Docs, Sheets, or Forms containing HTML-service pages.
- 
          It provides the originproperty to set the host domain and methods likeclose(),editor.focus(),setHeight(), andsetWidth().
- 
          The close()method is used to close the current dialog or sidebar.
- 
          The editor.focus()method switches focus from the dialog or sidebar back to the Google editor.
- 
          The setHeight()andsetWidth()methods are used to adjust the dimensions of a dialog.
google.script.host is an asynchronous client-side JavaScript API that can interact
  with dialogs or sidebars in Google Docs, Sheets, or Forms that contain
  HTML-service pages. To execute server-side functions from
  client-side code, use google.script.run. For more information, see
  the
  guide to communicating with server functions
  in HTML service.
Properties
| Property | Description | 
|---|---|
| origin | Provides the host domain, so scripts can set their origin correctly. | 
Methods
| Method | Return type | Brief description | 
|---|---|---|
| close() | void | Closes the current dialog or sidebar. | 
| editor.focus() | void | Switches browser focus from the dialog or sidebar to the Google Docs, Sheets, or Forms editor. | 
| setHeight(height) | void | Sets the height of the current dialog. | 
| setWidth(width) | void | Sets the width of the current dialog. | 
Detailed documentation
close()
Closes the current dialog or sidebar.
Code.gs
function onOpen(e) {
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .createMenu('Sidebar').addItem('Show', 'showSidebar').addToUi();
}
function showSidebar() {
  var html = HtmlService.createHtmlOutputFromFile('Index');
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .showSidebar(html);
}Index.html
<input type="button" value="Close" onclick="google.script.host.close()" />
editor.focus()
Switches browser focus from the dialog or sidebar to the Google Docs, Sheets, or Forms editor.
Code.gs
function onOpen(e) {
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .createMenu('Sidebar').addItem('Show', 'showSidebar').addToUi();
}
function showSidebar() {
  var html = HtmlService.createHtmlOutputFromFile('Index');
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .showSidebar(html);
}Index.html
<input type="button" value="Switch focus" onclick="google.script.host.editor.focus()" />
setHeight(height)
Sets the height of the current dialog.
Code.gs
function onOpen(e) {
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .createMenu('Dialog').addItem('Show', 'showDialog').addToUi();
}
function showDialog() {
  var html = HtmlService.createHtmlOutputFromFile('Index')
      .setWidth(300)
      .setHeight(200);
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .showModalDialog(html, 'Dialog title');
}Index.html
<script>
  function resizeDialog(width, height) {
    google.script.host.setWidth(width);
    google.script.host.setHeight(height);
  }
</script>
<input type="button" value="Resize dialog"
  onclick="resizeDialog(450, 300)" />Parameters
| Name | Type | Description | 
|---|---|---|
| height | Integer | the new height, in pixels | 
setWidth(width)
Sets the width of the current dialog.
Code.gs
function onOpen(e) {
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .createMenu('Dialog').addItem('Show', 'showDialog').addToUi();
}
function showDialog() {
  var html = HtmlService.createHtmlOutputFromFile('Index')
      .setWidth(300)
      .setHeight(200);
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .showModalDialog(html, 'Dialog title');
}Index.html
<script>
  function resizeDialog(width, height) {
    google.script.host.setWidth(width);
    google.script.host.setHeight(height);
  }
</script>
<input type="button" value="Resize dialog"
  onclick="resizeDialog(450, 300)" />Parameters
| Name | Type | Description | 
|---|---|---|
| width | Integer | the new width, in pixels |