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
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-26 (世界標準時間)。
[null,null,["上次更新時間: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`"]]