BigQuery:找不到包含Google云端硬盘范围的OAuth令牌

时间:2018-04-12 23:33:00

标签: google-apps-script google-bigquery

我试图用BigQuery查询替换Google Sheet的内容。

我在Google表格中并使用基于以下内容的脚本:https://greenido.wordpress.com/2013/12/16/big-query-and-google-spreadsheet-intergration/ Accessing BigQuery with Google Spreadsheet

所有脚本都是从BigQuery查询中提取信息并将其写入Google表格。但是,如果我只是运行该脚本,我最终会收到错误: BigQuery:找不到包含Google云端硬盘范围的OAuth令牌

我需要做些什么才能让它发挥作用?

3 个答案:

答案 0 :(得分:6)

经过大量的谷歌搜索,我找到了答案。显然,即使我需要授权我的脚本管理不仅我的Google表格,还要管理我的Google云端硬盘。

我所要做的就是添加一项功能,让Google要求我允许脚本管理我的云端硬盘。

这是功能:

function usingAppsScriptsToken ()}
  // we need to provoke a drive dialog
  // DriveApp.getFiles()
}

请注意,关键因素是DriveApp.getFiles(),即使它被评论,它仍然有效。当我运行该功能时,我会弹出一个窗口,上面写着“(您的脚本)想要查看和管理Google云端硬盘中的文件”。当我允许时,数据导入功能起作用。

Source

答案 1 :(得分:1)

无需在代码中添加任何内容。

您只需要向appscript.json文件的依赖项部分添加一个附加范围:

"dependencies": {
  "enabledAdvancedServices": [{
    "userSymbol": "BigQuery",
    "serviceId": "bigquery",
    "version": "v2"
  },
  { 
    "userSymbol": "Drive",
    "serviceId": "drive",
    "version": "v2"
  }]
}

在“查看”菜单中,您可以选择显示清单文件:

enter image description here

答案 2 :(得分:0)

只需添加

DriveApp.getFiles()

运行项目中的任何功能并运行它。运行后,您会看到一个窗口,询问对云端硬盘的许可。

1-st step

2-step

3-rd step

毕竟,您可以删除此行,一切正常。