Waits until the current execution completes, timing out after the provided number of seconds.
Detailed documentation
cancelDataRefresh()
Cancels the data refresh associated with this object if it's currently running.
This example shows how to cancel a formula refresh.
constspreadsheet=SpreadsheetApp.getActive();constformula=spreadsheet.getDataSourceFormulas()[0];// Cancel the ongoing refresh on the formula.formula.cancelDataRefresh();
Throws an exception if the data source type is not enabled. Use SpreadsheetApp#enable...Execution() methods to enable data execution for specific data source type.
Refreshes the data of this object regardless of the current state. See refreshData() for more details. If you want to cancel a currently running refresh of this object, see cancelDataRefresh().
Throws an exception if the data source type is not enabled. Use SpreadsheetApp#enable...Execution() methods to enable data execution for specific data source type.
Throws an exception if currently in error state. Use DataSource#updateSpec() to update the specification. The method is preferred over forceRefreshData() to prevent unexpected edits on data source.
Throws an exception if the data source type is not enabled. Use SpreadsheetApp#enable...Execution() methods to enable data execution for specific data source type.
Waits until the current execution completes, timing out after the provided number of seconds. Throws an exception if the execution is not completed when timing out, but does not cancel the data execution.
Parameters
Name
Type
Description
timeoutInSeconds
Integer
The time to wait for data execution, in seconds. The maximum is 300 seconds.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-12-02 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eDataSourceChart\u003c/code\u003e class allows you to programmatically access and modify existing data source charts in Google Sheets, specifically those connected to BigQuery databases.\u003c/p\u003e\n"],["\u003cp\u003eIt provides methods to refresh, force refresh, and cancel data refreshes for the chart, as well as to get its linked data source and execution status.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003erefreshData()\u003c/code\u003e is generally preferred over \u003ccode\u003eforceRefreshData()\u003c/code\u003e to prevent unintentional modifications to the data source.\u003c/p\u003e\n"],["\u003cp\u003eYou can monitor the status of a refresh using \u003ccode\u003egetStatus()\u003c/code\u003e or wait for it to complete with \u003ccode\u003ewaitForCompletion()\u003c/code\u003e, subject to a maximum timeout.\u003c/p\u003e\n"],["\u003cp\u003eThis class requires specific authorization scopes to be enabled for the script to function correctly.\u003c/p\u003e\n"]]],["The `DataSourceChart` class manages data in charts connected to a BigQuery database. Key actions include: refreshing data using `refreshData()` or `forceRefreshData()`, canceling ongoing refreshes with `cancelDataRefresh()`, and monitoring execution status via `getStatus()`. You can also get the connected data source with `getDataSource()`. `waitForCompletion()` allows waiting for data operations to complete. All actions require specific authorization scopes and may throw exceptions if data source types are not enabled.\n"],null,["DataSourceChart\n\nAccess and modify an existing data source chart.\n\n\n**Only use this class with data that's connected to a BigQuery database.** \n\nMethods\n\n| Method | Return type | Brief description |\n|--------------------------------------------------------------------|---------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|\n| [cancelDataRefresh()](#cancelDataRefresh()) | [DataSourceChart](#) | Cancels the data refresh associated with this object if it's currently running. |\n| [forceRefreshData()](#forceRefreshData()) | [DataSourceChart](#) | Refreshes the data of this object regardless of the current state. |\n| [getDataSource()](#getDataSource()) | [DataSource](/apps-script/reference/spreadsheet/data-source) | Gets the data source the object is linked to. |\n| [getStatus()](#getStatus()) | [DataExecutionStatus](/apps-script/reference/spreadsheet/data-execution-status) | Gets the data execution status of the object. |\n| [refreshData()](#refreshData()) | [DataSourceChart](#) | Refreshes the data of the object. |\n| [waitForCompletion(timeoutInSeconds)](#waitForCompletion(Integer)) | [DataExecutionStatus](/apps-script/reference/spreadsheet/data-execution-status) | Waits until the current execution completes, timing out after the provided number of seconds. |\n\nDetailed documentation \n\n`cancel``Data``Refresh()` \nCancels the data refresh associated with this object if it's currently running.\n\nThis example shows how to cancel a formula refresh.\n\n```javascript\nconst spreadsheet = SpreadsheetApp.getActive();\nconst formula = spreadsheet.getDataSourceFormulas()[0];\n// Cancel the ongoing refresh on the formula.\nformula.cancelDataRefresh();\n```\n\nThrows an exception if the data source type is not enabled. Use `Spreadsheet``App#enable...Execution()` methods to enable data execution for specific data source\ntype.\n\nReturn\n\n\n[DataSourceChart](#) --- The data object.\n\nAuthorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/spreadsheets.currentonly`\n- `https://www.googleapis.com/auth/spreadsheets`\n\n*** ** * ** ***\n\n`force``Refresh``Data()` \nRefreshes the data of this object regardless of the current state. See [refreshData()](#refreshData()) for\nmore details. If you want to cancel a currently running refresh of this object, see [cancelDataRefresh()](#cancelDataRefresh()).\n\nThrows an exception if the data source type is not enabled. Use `Spreadsheet``App#enable...Execution()` methods to enable data execution for specific data source\ntype.\n\nReturn\n\n\n[DataSourceChart](#) --- The data object.\n\nAuthorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/spreadsheets.currentonly`\n- `https://www.googleapis.com/auth/spreadsheets`\n\n*** ** * ** ***\n\n`get``Data``Source()` \nGets the data source the object is linked to.\n\nReturn\n\n\n[DataSource](/apps-script/reference/spreadsheet/data-source) --- The data source.\n\nAuthorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/spreadsheets.currentonly`\n- `https://www.googleapis.com/auth/spreadsheets`\n\n*** ** * ** ***\n\n`get``Status()` \nGets the data execution status of the object.\n\nReturn\n\n\n[DataExecutionStatus](/apps-script/reference/spreadsheet/data-execution-status) --- The data execution status.\n\nAuthorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/spreadsheets.currentonly`\n- `https://www.googleapis.com/auth/spreadsheets`\n\n*** ** * ** ***\n\n`refresh``Data()` \nRefreshes the data of the object.\n\nThrows an exception if currently in [error](/apps-script/reference/spreadsheet/data-execution-state#ERROR) state. Use [DataSource#updateSpec()](/apps-script/reference/spreadsheet/data-source#updateSpec(DataSourceSpec)) to update the specification. The method is\npreferred over [forceRefreshData()](#forceRefreshData()) to prevent unexpected edits on data source.\n\nThrows an exception if the data source type is not enabled. Use `Spreadsheet``App#enable...Execution()` methods to enable data execution for specific data source\ntype.\n\nReturn\n\n\n[DataSourceChart](#) --- The data object.\n\nAuthorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/spreadsheets.currentonly`\n- `https://www.googleapis.com/auth/spreadsheets`\n\n*** ** * ** ***\n\n`wait``For``Completion(timeoutInSeconds)` \nWaits until the current execution completes, timing out after the provided number of seconds.\nThrows an exception if the execution is not completed when timing out, but does not cancel the\ndata execution.\n\nParameters\n\n| Name | Type | Description |\n|------------------------|-----------|------------------------------------------------------------------------------|\n| `timeout``In``Seconds` | `Integer` | The time to wait for data execution, in seconds. The maximum is 300 seconds. |\n\nReturn\n\n\n[DataExecutionStatus](/apps-script/reference/spreadsheet/data-execution-status) --- The data execution status.\n\nAuthorization\n\nScripts that use this method require authorization with one or more of the following [scopes](/apps-script/concepts/scopes#setting_explicit_scopes):\n\n- `https://www.googleapis.com/auth/spreadsheets.currentonly`\n- `https://www.googleapis.com/auth/spreadsheets`"]]