1

我正在尝试运行一个简单的脚本,该脚本在同一个独立的 Apps 脚本文件中打开一个 Google 电子表格和一个 Google 表单。似乎该脚本只能授权 FormApp,而不能授权 SpreadsheetApp。授权范围不授予操作电子表格的权限。

错误如下:

您无权调用 openById

如果我分别运行两行(通过删除一行或另一行),则脚本正常工作。

按照示例代码.gs:

function Code(){
    var spreadsheet = SpreadsheetApp.openById("<spreadsheet_id>")
    var form = FormApp.openById("<form_id>")
}

遵循列出的脚本范围:

https://www.googleapis.com/auth/forms

请注意,应用脚本不要求电子表格范围。

奇怪的是,如果我将有界脚本创建到电子表格或表单中,那么脚本可以正常工作。该问题仅发生在独立脚本上。

我没有使用 @OnlyCurrentDoc注释

4

1 回答 1

3

如果您手动定义任何范围,则会禁用自动范围检测。要么全部定义它们,要么oauthScopes从清单文件中删除该部分。

您可以在Google Identity Platform网站上查看可用的 OAuth2 范围和它们提供的内容的详细信息。

https://www.googleapis.com/auth/spreadsheets也就是说,除了脚本需要的其他范围(例如表单访问等)之外,您还需要添加一个允许访问 Google 表格的范围,例如。

于 2018-09-16T14:54:50.257 回答