我正在创建一个Google Apps脚本,我想在其中使用FormApp
服务来获取活动表单,但是该脚本不断抛出异常:
You do not have permission to call FormApp.getActiveForm. Required permissions:
(https://www.googleapis.com/auth/forms.currentonly ||
https://www.googleapis.com/auth/forms) (line 7, file "Code")
我已经启用了对Google Drive API和Google Sheets API的权限-但在Google Cloud Platform API仪表板的任何位置都找不到标有“ Forms”的API。
Google搜寻并没有提供任何有用的信息,只是指向API文档的更多链接。
您知道对API FormApp进行分类的依据吗?
我不想启用每个API来查找...
答案 0 :(得分:2)
对于以后遇到这篇文章的人,我通过将以下内容手动添加到清单文件中解决了我的问题:
"oauthScopes": [
"https://www.googleapis.com/auth/forms",
"https://www.googleapis.com/auth/spreadsheets"
],
您可以通过单击View > Show Manifest File
找到清单文件-这将在侧边栏中显示一个名为appscript.json
的文件。
然后单击Run
或工具栏中的播放按钮-这将迫使该应用查看权限并提示您使用帐户进行授权。
注意:@tehhowch在下面指出的一个好处是,将其手动添加到清单中会禁用自动检测作用域。我的自动检测似乎仍然无法正常工作,因此我采用了这种手动解决方案-只是警告一下。
答案 1 :(得分:0)
我对这个问题的解决方法确实是
FormApp.getActiveForm();
在函数的第一行中,我正在调用并从编辑器中手动调用该函数。在意识到您正在从编辑器调用它之前,它会询问您权限。