Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 是否可以共享对部署为Web应用程序的脚本的开发版本的访问权限?_Google Apps Script - Fatal编程技术网

Google apps script 是否可以共享对部署为Web应用程序的脚本的开发版本的访问权限?

Google apps script 是否可以共享对部署为Web应用程序的脚本的开发版本的访问权限?,google-apps-script,Google Apps Script,我正在开发一个部署为Web应用程序的GAS。 我可以共享脚本并让其他人编辑,但我找不到让他们测试web应用程序的方法 “测试web应用程序以获取最新代码”的链接仅对脚本所有者可用 我遗漏了什么吗?目前无法共享。目前无法共享。更新: 看起来这是现在可用的-通过“如果脚本与除其所有者以外的其他编辑器共享并作为web应用发布,则其他编辑器现在可以更新应用的版本并访问其开发URL(以/dev结尾)。” 。。。 旧的解决方法: 您可以将另一个脚本文件连接到主脚本文件中作为解决方法。在第二个脚本中,将主脚本

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

“测试web应用程序以获取最新代码”的链接仅对脚本所有者可用


我遗漏了什么吗?

目前无法共享。

目前无法共享。

更新: 看起来这是现在可用的-通过“如果脚本与除其所有者以外的其他编辑器共享并作为web应用发布,则其他编辑器现在可以更新应用的版本并访问其开发URL(以/dev结尾)。”

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

主脚本

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;
}
第二个脚本(将主脚本作为库导入并将标识符命名为“主脚本”后)

更新: 看起来这是现在可用的-通过“如果脚本与除其所有者以外的其他编辑器共享并作为web应用发布,则其他编辑器现在可以更新应用的版本并访问其开发URL(以/dev结尾)。”

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

主脚本

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;
}
第二个脚本(将主脚本作为库导入并将标识符命名为“主脚本”后)


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

这种方法的缺点是:

  • 每次重新发布都需要两个步骤。(
    管理版本/创建
    ,然后
    部署
  • 你的应用程序必须可以公开访问
优点:

  • 一旦发布为web应用程序,URL不会更改,因此每个人只需重新加载即可看到最新的副本
  • 您可以轻松地重新发布以前的版本以进行并行比较测试

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

这种方法的缺点是:

  • 每次重新发布都需要两个步骤。(
    管理版本/创建
    ,然后
    部署
  • 你的应用程序必须可以公开访问
优点:

  • 一旦发布为web应用程序,URL不会更改,因此每个人只需重新加载即可看到最新的副本
  • 您可以轻松地重新发布以前的版本以进行并行比较测试

这非常聪明!你以前有没有试过,或者你是因为这个问题才想到这一点的?是的,我有一些应用程序是这样设置的,但我不清楚在第二个脚本中,除了doGet()之外,我们到底什么时候需要引用其他主函数。在本例中,
change()
不需要在第二个函数中引用,但我有一些应用程序确实需要引用其他函数。不知道情况为什么。如果没有人对这个问题发表评论的话,也许我会为它单独发布一个问题,因为这更像是一个图书馆的问题。这非常聪明!你以前有没有试过,或者你是因为这个问题才想到这一点的?是的,我有一些应用程序是这样设置的,但我不清楚在第二个脚本中,除了doGet()之外,我们到底什么时候需要引用其他主函数。在本例中,
change()
不需要在第二个函数中引用,但我有一些应用程序确实需要引用其他函数。不知道情况为什么。如果没有人对此发表评论,我可能会发布一个单独的问题,因为这更像是一个库问题。如果你想让你的脚本能够获得它正在运行的项目版本,请点击“star”@Edo的对应链接。你的明星就等于投了这项功能的一票。(请求位于官方应用程序脚本问题跟踪器中,指向官方谷歌应用程序脚本支持页面。)如果您希望您的脚本能够获得它正在运行的项目版本,请转到“star”@Edo的相应页面。你的明星就等于投了这项功能的一票。(请求位于官方应用程序脚本问题跟踪器中,指向官方谷歌应用程序脚本支持页面。)