重新加载页面谷歌应用程序脚本

时间:2012-12-20 11:25:15

标签: google-apps-script google-sheets

如何使用谷歌应用脚​​本在谷歌网站上重新加载页面?我有一个创建表单的函数和另一个函数doPost来收集表单中提交的数据并将其写入电子表格。电子表格嵌入在同一页面中,我希望重新加载页面以更新电子表格中的视图。

我试图在Site Services和Ui Services中找到一些功能或服务。

这是代码

function doGet(e) {
var appRegistro = UiApp.createApplication().setTitle('Registre seu Atendimento!').setHeight(500);
var form = appRegistro.createFormPanel();
var flow = appRegistro.createFlowPanel();
var date=new Date();

//Construção do Menu
flow.add(appRegistro.createLabel("Data"));
  flow.add(appRegistro.createTextBox().setName("Data").setValue(date).setReadOnly(true).setText(Utilities.formatDate(date, "GMT -02:00", "dd/MM/yyyy HH:mm:ss")));
flow.add(appRegistro.createLabel("Ticket ID"));
flow.add(appRegistro.createTextBox().setName("TicketID"));
flow.add(appRegistro.createLabel("Ticket Type"));
flow.add(appRegistro.createListBox().setName("TicketType").addItem("TicketType1").addItem("ticketType2").addItem("TicketType3").addItem("TicketType4"));
flow.add(appRegistro.createLabel("Demandado por"));
flow.add(appRegistro.createListBox().setName("DemandedBy").addItem("DemandedBy1").addItem("DemandedBy1"));
flow.add(appRegistro.createLabel("Nome do Analista"));
flow.add(appRegistro.createListBox().setName("Analyst").addItem("Analyst1").addItem("Analyst1").addItem("Analyst1"));
flow.add(appRegistro.createLabel("Status"));
flow.add(appRegistro.createListBox().setName("Status").addItem("Resolvido").addItem("Em Tratamento"));
flow.add(appRegistro.createLabel("Descrição"));
flow.add(appRegistro.createTextArea().setName("Description").setSize(400, 100));
flow.add(appRegistro.createSubmitButton("Salvar"));
form.add(flow);
appRegistro.add(form);
return appRegistro;
 }

function doPost(e) {
var app=UiApp.createApplication();
var ss = SpreadsheetApp.openById("0AsXUq-Wd26qMdGFodkNqdERSc3NYaHhUQlRFeFNFQlE");
  var DataValue = e.parameter.Data;
  var TicketIDValue = e.parameter.TicketID;
  var TicketTypeValue = e.parameter.TicketType;
  var DemandedByValue = e.parameter.DemandedBy;
  var AnalystValue = e.parameter.Analyst;
  var StatusValue = e.parameter.Status;
  var DescriptionValue = e.parameter.Description;
  ss.getActiveSheet().appendRow([DataValue,TicketIDValue,TicketTypeValue,DemandedByValue,AnalystValue,StatusValue,DescriptionValue]).sort(1,false);
  return app;
  }

3 个答案:

答案 0 :(得分:0)

使用Google Apps脚本是不可能的,因为Apps脚本无法与浏览器对象进行交互。

答案 1 :(得分:0)

我认为由于安全限制,您无法实现的目标。

答案 2 :(得分:0)

我没有在Spreadsheets上做过多少工作,但也许你可以解决这些限制,其他的回答者已经说过了。

  • 您是否可以在电子表格中编写一个脚本来刷新自己以便轮询新数据?
  • 或者您可以将表单移动到电子表格的一部分吗?也许电子表格上的按钮可以作为UiApp启动表单?