是否可以共享对部署为Web App的脚本的开发版本的访问权限?

时间:2013-01-04 14:32:15

标签: google-apps-script

我正在开发部署为Web App的GAS。 我可以共享脚本并让其他人编辑它,但我找不到让他们测试网络应用程序的方法。

“为您的最新代码测试网络应用”中的链接。仅适用于脚本的所有者。

我错过了什么吗?

3 个答案:

答案 0 :(得分:4)

您可以使用支持的方式将Google应用程序脚本部署为Web服务:创建新版本并发布它们,然后所有编辑者都可以通过其部署URL访问该应用程序。这允许所有编辑者测试最新的发布的版本,但不测试最新的编辑的版本。

这种方法的缺点:

  • 每次重新发布都需要两个步骤。 (Manage Versions / Create,然后Deploy。)
  • 您的应用必须可公开访问。

专业人士:

  • 作为网络应用发布后,网址不会更改,因此每个人只需重新加载即可查看最新的副本。
  • 您可以轻松地重新发布以前的版本,以进行并排比较测试。

答案 1 :(得分:3)

更新: 看起来现在可以使用 - 通过Release Notes“如果脚本与其所有者以外的编辑者共享并作为Web应用程序发布,那么其他编辑者现在可以更新应用程序的版本并访问其开发URL(以URL结尾)的/ dev)“。

... 老问题: 您可以将另一个脚本文件连接到主要文件中作为解决方法。在第二个脚本中,在开发模式下将主要作为library导入。当您保存,发布和共享第二个的exec链接时,它就像共享开发链接一样。

主脚本

function doGet() {
  var app = UiApp.createApplication();
  var btn = app.createButton('Click').setId('btn');
  var box = app.createTextBox().setId('box').setName('box').setText('hello');

  var handler1 = app.createClientHandler().forEventSource().setEnabled(false);
  var handler2 = app.createServerHandler('change').addCallbackElement(box);
  btn.addClickHandler(handler1).addClickHandler(handler2);

  app.add(btn).add(box);
  return app;
}

function change(e) {
  var app = UiApp.getActiveApplication();
  var box = e.parameter.box;
  app.getElementById('btn').setText(box).setEnabled(true);
  return app;
}

第二个脚本(将主脚本导入为库并将标识符命名为'master')

function doGet() {
  var app = master.doGet();
  return app;
}

答案 2 :(得分:-1)

目前无法分享。