google-apps-script - form.setRequireLogin() 给出错误脚本错误消息:异常:不支持此操作
问题描述
在应用程序脚本世界中相当新。尝试使用动态创建的问题/附件创建“谷歌表单生成器” 。
一切都很好,直到我注意到每当我创建表单时,用户都必须“通过谷歌帐户登录”。这不是要求的,所以我找到了 setRequreLogin()。
无论我设置什么(假或真),我都会收到错误消息:“脚本错误消息:异常:不支持此操作”
我做了一些谷歌搜索,似乎解决方案是拥有“google suite gmail account”。我使用我的个人@gmail.com电子邮件。有人有同样的错误吗?或者有没有人在使用“常规” gmail 时没有出现同样的错误?
我是怎么做的(因为它可能与默认值有点不同):
- 我使用 python 来执行在 appscript 中创建的函数
- 应用程序脚本必须链接到“标准 GCP 项目”,否则我将无法从 python 执行(外部 API 调用)
- 我发布了应用程序脚本“部署为 API 可执行文件”,以便我可以从 Python 执行(并传递几个参数)脚本
感谢帮助
function createForm(ordernumber,surname, country, data_list) {
var form = FormApp.create(ordernumber);
form.setTitle(ordernumber +" | " + surname)
.setDescription('anything')
.setConfirmationMessage('you are welcome...');
// .setAllowResponseEdits(true)
// .setLimitOneResponsePerUser(true)
// .requiresLogin(false);
.setRequireLogin(true);
// .setAcceptingResponses(true);
}
解决方案
根据setRequireLogin()
文档:
setRequireLogin()
- 设置表单是否要求受访者在回复之前登录到同一域或子域中的帐户。除非域管理员更改默认值,否则新表单的默认值为 false。此功能仅适用于 Google Workspace 用户创建的表单。不能要求其他类型的 Google 帐户的用户登录。
因此,如果您拥有gmail帐户,则不能使用此方法。
但是,由于您的脚本正在创建一个新表单,因此使用此 API 可执行文件的用户必须授权此操作,因此他们将收到登录屏幕。
参考
推荐阅读
- python - 如何使用python获取fasta文件中重复序列的计数
- javascript - CSS 拒绝显示在我的页面上。目录问题?网页包?
- ios - 用于发布 json 格式数据的 API URL
- javascript - 使用 Node.js 处理 TXT 文件中的非法字符(撇号)
- machine-learning - 识别文本中日期/时间表达式的 NLP 方法
- python - 规范化多维数组
- java - 从Java中的数组中获取特定元素
- c++ - 如何将包装功能添加到 QLegend
- gradle - Vaadin,war,tomcat - 生产模式 - javax.servlet.ServletException:未在 Jetty 上运行,JSR-356 支持不可用
- python - 解析数据框