按照说明here并将google电子表格与bigQuery集成。我的查询从过去一小时开始提取数据,因此保持电子表格更新非常重要。
工作表是否有办法自动运行脚本并在刷新页面时更新数据?现在,我需要点击几下才能完成它。
答案 0 :(得分:1)
除了@Sandy Good的回答。
您需要使用onOpen(e)
,它会在用户打开有权编辑的电子表格,文档或表单时运行。
function onOpen() {
// Add a custom menu to the spreadsheet.
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.createMenu('Custom Menu')
.addItem('First item', 'menuItem1')
.addToUi();
}
您收到授权错误,因为脚本需要授权。 Apps脚本需要用户授权才能访问数据。
如果脚本使用可以访问私有数据的服务,您将看到一个授权对话框。
您可以按照以下步骤撤消脚本访问权限:
访问您的Google帐户的权限页面。 (要在将来导航到此页面,请访问Google.com,然后点击屏幕右上角的帐户图片。接下来,点击帐户,然后点击安全,然后在帐户权限部分查看全部。)
单击要撤消其授权的脚本的名称,然后单击右侧的撤消访问权限。
有关授权的详细信息,请参阅Google官方文档:https://developers.google.com/apps-script/add-ons/lifecycle
答案 1 :(得分:0)
由于BigQuery已经集成到Google Spreadsheet, 这就是你用脚本做的事情:
1。使用添加了路径参数datasetId
和projectId
的{{3}}发送HTTP请求。
示例HTTP请求:
PUT https://www.googleapis.com/bigquery/v2/projects/projectId/datasets/datasetId
但是,使用Datasets: update
时请注意以下事项:
Datasets: update
<强>范围强>
https://www.googleapis.com/auth/bigquery
https://www.googleapis.com/auth/cloud-platform
2. 要自动更新数据,您可以在脚本中设置一个Authenticating requests to the Google BigQuery API函数,该函数根据您的偏好执行,并保留这些保留的函数名称:
onOpen(e)
在用户打开他或她有权编辑的电子表格,文档或表单时运行。onEdit(e)
在用户更改电子表格中的值时运行。onInstall(e)
在用户安装插件时运行。doGet(e)
在用户访问网络应用程序或程序向网络应用程序发送HTTP GET
请求时运行。doPost(e)
请求时,POST
会运行。同样,您还应该注意,因为简单的触发器会自动触发,所以它们会受到一些限制,您可以在文档中查看这些限制。