BigQuery - GSheet表上的脚本运行查询不起作用

时间:2017-09-07 13:53:22

标签: authentication google-apps-script google-bigquery

我的许多BQ表从GSheets获取数据。 但是,一旦我从Apps脚本对这些表运行查询,我就会收到此错误:

Access Denied: BigQuery BigQuery: No OAuth token with Google Drive scope was found. 

错误引用此代码行:

var queryResults = BigQuery.Jobs.query(request, projectId);

从我的BigQuery界面(查询历史记录)我可以看到不成功的请求,当我从那里重新运行它时,我得到了结果,一切都很好。

知道如何使用脚本运行查询吗?

由于

2 个答案:

答案 0 :(得分:2)

正如Google https://issuetracker.google.com/issues/65654399支持所指出的,确保所需范围的推荐方法是在代码中添加以下内容:

// Forces the script to require
// https://www.googleapis.com/auth/drive.readonly scope.
// DriveApp.getFiles();

要强调的是,DriveApp.getFiles();电话可以放在评论中。

答案 1 :(得分:0)

根据遇到的错误,在使用enable advanced services之前尝试BigQuery Service

另外,如Advanced Google Services中所述,

  

Apps脚本会自动处理authorization flow,但默认情况下不启用。

有关其他见解,请参阅Big Query And Google Spreadsheet Integration

希望有所帮助。