将Google Sheet ID或URL传递给Apps Script Web App

时间:2016-01-19 17:46:39

标签: web-applications google-apps-script google-apps-marketplace

我为学区开发了一个Apps脚本项目。基本上,它为区内的每个学生生成写作组合,预生成文档,并将所有信息转储到生成的Google表格中。通过Google表格,教师可以启动一个Web应用程序,其中包含Web表单格式的量规以及文档视图,以便他们可以快速轻松地对所有内容进行评分并将这些成绩发送给学生。老实说,一切正常。就是这样,当我运行脚本并生成所有这些文档时,我必须手动进入每个Google表格并复制并粘贴ID,以便Web应用程序可以找到所有学生以及自其文档的链接。你显然不能在Web App中使用getActiveSpreadsheet()。我希望能够把它变成一个补充或至少节省一些时间,因为其他地区开始对它感兴趣,我的老师希望它在教室中进行调整和实施以用于其他用途。

那么有没有人知道我如何将Google表格ID从Google表格转移到网络应用程序?目前我在onOpen上创建一个菜单,他们点击启动评分应用程序打开一个对话框,然后他们点击一个指向评分应用程序的链接。我尝试使用jquery动态创建该链接并将ID放入URL但链接被加扰。我猜测与Apps脚本限制有关。

我见过的所有解决方案都涉及ScriptProperties或ScriptDB,我相信它已被删除。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以将参数传递给webApp。 doGet(事件)触发器将其保存在事件对象中。例如,您可以构建URL: https://script.google.com/.........../exec?scriptId=...

在您的webApp中:

function doGet(e){
  var scriptId = e.parameter.scriptId;
  .
  .
  .
}

你说它正在sc"扰乱"。我会查看您的代码以查找该错误。如果您发布一些代码,说明您如何构建网址,我相信我们可以解决这个问题。