Class DataSourceChart
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
数据源图表
访问和修改现有数据源图表。
仅将此类与连接到 BigQuery 数据库的数据搭配使用。
详细文档
cancelDataRefresh()
取消与此对象关联的数据刷新(如果当前正在运行)。
以下示例展示了如何取消公式刷新。
const spreadsheet = SpreadsheetApp.getActive();
const formula = spreadsheet.getDataSourceFormulas()[0];
// Cancel the ongoing refresh on the formula.
formula.cancelDataRefresh();
如果数据源类型未启用,则会抛出异常。使用 SpreadsheetApp#enable...Execution()
方法为特定数据源类型启用数据执行。
返回
DataSourceChart
- 数据对象。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
forceRefreshData()
无论当前状态如何,都会刷新此对象的数据。如需了解详情,请参阅 refreshData()
。如果您想取消当前正在运行的此对象刷新,请参阅 cancelDataRefresh()
。
如果数据源类型未启用,则会抛出异常。使用 SpreadsheetApp#enable...Execution()
方法为特定数据源类型启用数据执行。
返回
DataSourceChart
- 数据对象。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getDataSource()
获取对象关联的数据源。
返回
DataSource
- 数据源。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getStatus()
获取对象的数据执行状态。
返回
DataExecutionStatus
- 数据执行状态。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
refreshData()
刷新对象的数据。
如果当前处于 error
状态,则会抛出异常。使用 DataSource#updateSpec()
更新规范。建议使用此方法,而不是 forceRefreshData()
,以防止对数据源进行意外修改。
如果数据源类型未启用,则会抛出异常。使用 SpreadsheetApp#enable...Execution()
方法为特定数据源类型启用数据执行。
返回
DataSourceChart
- 数据对象。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
waitForCompletion(timeoutInSeconds)
等待当前执行操作完成,并在提供的秒数后超时。
如果超时时执行未完成,则会抛出异常,但不会取消数据执行。
参数
名称 | 类型 | 说明 |
timeoutInSeconds | Integer | 等待数据执行的时间(以秒为单位)。最长为 300 秒。 |
返回
DataExecutionStatus
- 数据执行状态。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\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,["# Class DataSourceChart\n\nDataSourceChart\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\n### Methods\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\n### `cancel``Data``Refresh()`\n\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\n#### Return\n\n\n[DataSourceChart](#) --- The data object.\n\n#### Authorization\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()`\n\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\n#### Return\n\n\n[DataSourceChart](#) --- The data object.\n\n#### Authorization\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()`\n\nGets the data source the object is linked to.\n\n#### Return\n\n\n[DataSource](/apps-script/reference/spreadsheet/data-source) --- The data source.\n\n#### Authorization\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()`\n\nGets the data execution status of the object.\n\n#### Return\n\n\n[DataExecutionStatus](/apps-script/reference/spreadsheet/data-execution-status) --- The data execution status.\n\n#### Authorization\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()`\n\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\n#### Return\n\n\n[DataSourceChart](#) --- The data object.\n\n#### Authorization\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)`\n\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\n#### Parameters\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\n#### Return\n\n\n[DataExecutionStatus](/apps-script/reference/spreadsheet/data-execution-status) --- The data execution status.\n\n#### Authorization\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`"]]