我有一张google工作表,其中包含我可以编辑访问权限的表单。我正在尝试编写一个GAS,以允许根据用户之前的响应预先填充此表单。我可以读/写表格和电子表格,没有任何问题。问题来自于尝试运行我从Mogsdad(大粉丝)帖子中复制的以下代码。
function betterBuildUrls() {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName("Form Responses 1");
var data = ss.getDataRange().getValues(); // Data for pre-fill
var formUrl = ss.getFormUrl(); // Use form attached to sheet
var form = FormApp.openByUrl(formUrl);
var items = form.getItems();
// remainder truncatted
行
出现问题var form = FormApp.openByUrl(formUrl);
我收到的错误是:
No item with the given ID could be found, or you do not have permission to access it. (line 19, file "Code")
我确认我在工作表中有编辑权限,甚至将记录器放在一起以从工作表中提取值。
[14-11-07 13:15:55:925 EST] XXXX@example.com
[14-11-07 13:15:55:926 EST] [XXXX@example.com, XXXX@example.com, XXXX@example.com,
ThisOneIsME@example.com, xxxx@example.com]
在为其构建脚本之前,我是否需要成为所有者?我删除了所有其他Google帐户,重新启动了Chrome,重新启动了计算机。
这只是谷歌像往常一样奇怪吗?
非常感谢任何帮助。
答案 0 :(得分:0)
如果没有看到您拥有的形式和环境,很难说出根本原因可能在这里,但简短的回答是否定的,您不需要成为脚本的所有者来运行这个功能。
我刚刚测试了您在我只能编辑访问权限的表单上提供的代码,并且运行正常。我也试图打破它,我无法做到。
我怀疑问题出在代码的其余部分或表单上。