引入 V8 后,Google Apps 脚本无法为其他用户完全执行

2024-06-21

我编写了一个脚本(得到了这里好心人的大力帮助),该脚本使用 Google Sheets 脚本复制 Google Drive 上的文件夹(和内容)。

它运行了很长一段时间,但后来我启用了 V8 引擎(现在已禁用)。问题是,它仍然适用于我(也许还有其他两个用户),但不适用于其他所有人。我不是程序员,但我学到了足够的知识来帮助我自动执行 Excel/表格上的一些任务。

到目前为止,我已经尝试重新检查所有权限,创建一个全新的工作表,分配新的所有者,删除触发器,了解有关 V8 的更多信息。但这并没有真正起作用,因为我什至无法找出问题所在。

我将不胜感激任何线索。 TIA

PS:我们使用共享驱动器,所有用户都可以访问源/目标文件夹。

这是脚本:


function onClick() {
  ss.getRange("B2:B8").clearContent();
}



function start() {


  var sourceFolder = ss.getRange("B19").getValue() ; // Change every month
  var targetFolder = ss.getRange("B22").getValue();

  var source = DriveApp.getFoldersByName(sourceFolder); // Grab the folder we're going to copy
  var parentFolder=DriveApp.getFolderById(ss.getRange("B11").getValue()); // Destination for the new folder.
  var target = parentFolder.createFolder(targetFolder); 

  if (source.hasNext()) {
    copyFolder(source.next(), target);
  }

}

function copyFolder(source, target) {

  var folders = source.getFolders();
  var files   = source.getFiles();
  var prefix = ss.getRange("B23").getValue(); 

  while(files.hasNext()) {
    var file = files.next();
    file.makeCopy(file.getName(), target).setName(prefix + file.getName()); 

  }

  while(folders.hasNext()) {
    var subFolder = folders.next();
    var folderName = subFolder.getName();
    var targetFolder = target.createFolder(folderName);
    copyFolder(subFolder, targetFolder);

    var NewFolderUrl = target.getUrl()
    SpreadsheetApp.getActiveSheet().getRange('B8').setValue(NewFolderUrl);

  }  
  //file.setName(prefix + file.getName());
}

既然你是没有收到任何日志对于脚本不起作用的用户,问题很可能与您的函数未正确执行和/或根本不执行有关。

这样做的一个问题是脚本没有附加到电子表格中。您可以尝试声明ss变量为start功能。上述行为的另一个问题可能是由于将错误的变量传递给函数而引起的。您可以通过使用来检查console.log()并检查变量是否是预期的。

此外,由于您与多个用户共享此脚本,您可能需要查看一下编辑器附加组件 https://developers.google.com/gsuite/add-ons/concepts/types#editor_add-ons。这可以使共享变得更容易,因为用户只需要安装附加组件。

参考

  • Apps 脚本故障排除 https://developers.google.com/apps-script/guides/support/troubleshooting;

  • 编辑器附加组件 https://developers.google.com/gsuite/add-ons/concepts/types#editor_add-ons.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

引入 V8 后,Google Apps 脚本无法为其他用户完全执行 的相关文章

随机推荐

  • 如何加快 jar 签名者的速度?

    我使用 ant 来签署我的 jars 以进行网络启动部署 Ant signjar 在 Web 启动签名时非常慢 如何加快签名过程 我找到了一种可能的解决方案 早些时候 在构建脚本 ant signjar 中 按顺序调用所有 jar 我们使用
  • jQuery Blur() 在 Chrome 上不起作用

    我在 MacOSX 上运行这个http jsfiddle net q84wv http jsfiddle net q84wv on Chrome最新版本 它不会工作 在 Firefox 上运行时它工作得很好 有什么线索吗 假设您想要aler
  • 无法在网络 nat 上创建端点:Win32 中的 hnsCall 失败:该进程无法访问该文件

    我正在尝试运行以下 docker 命令 最新的 Win10 Fall 2018 更新 最新的 docker 版本 2 0 docker run d p 1433 1433 e sa password Test 123 e ACCEPT EU
  • 图像处理中面部标志点的归一化

    我正在从事一个与从面部识别情绪 悲伤 快乐 愤怒等 相关的项目 我正在使用 dlib 库中的面部标志检测器 它检测 68 个兴趣点 对于相同的情绪 这些兴趣点会根据不同面部的面部朝向 眼睛大小 嘴唇等而变化 我想标准化这些兴趣点 使它们不受
  • 如何在对象检测 API 中同时训练和评估?

    我想同时在我自己的数据集上训练 评估 ssd mobilenet v1 cocoObject Detection API 然而 当我尝试这样做时 我面临着 GPU 内存几乎已满 因此评估脚本无法启动 以下是我用于训练和评估的命令 在一个终端
  • Hive 有相当于 DUAL 的东西吗?

    我想运行这样的语句 SELECT date add 2008 12 31 1 FROM DUAL Hive 在 Amazon EMR 上运行 是否有类似的功能 最好的解决方案是不要提及表名 select 1 1 给出结果 2 但是可怜的 H
  • 使用 order by 和 limit 从多个表中删除

    我试图从使用 ORDER BY DESC 和 LIMIT 有关系的两个表中删除 DELETE FROM my rel table AS t1 LEFT JOIN my photo table AS t2 ON t2 typeid t1 ty
  • 在不知道大小的情况下在Matlab中预分配空间?

    我正在构建一个向量X在 Matlab 中 通过将循环过程中每次迭代的结果连接起来 我现在正在做的是 X for j 1 N do something that delivers a vector A X X A end 不可能先验地预测 A
  • vagrant box速度慢,如何改进?

    我们已经为我们的开发盒构建了一个 vagrant box 但我们面临着一些延迟问题 Issues Assetic 手表速度很慢 app dev php 中的整体应用程序访问速度很慢 在 vagrant box 的共享文件夹中使用 查找 命令
  • 在 Kotlin 中将数组转换为列表

    我尝试用 与java相同 来做到这一点 val disabledNos intArrayOf 1 2 3 4 var integers Arrays asList disabledNos 但这并没有给我一个清单 有任何想法吗 Kotlin
  • 用于在子字符串中用破折号替换空格的正则表达式。

    我一直在努力寻找一种方法 可以用字符串中的破折号替换空格 但只能替换字符串特定部分内的空格 Source ABC This is a sub string DEF 我对正则表达式的尝试 s g 如果我使用正则表达式来匹配空格并替换 我会得到
  • 是否可以在 php.ini 中指示 PHP 使用 postfix 配置?

    是否可以配置 PHP 使用 postfix 的配置集发送电子邮件 WordPress 通过 PHPMailer 依赖于 php ini 中的这些设置是否正确 SMTP localhost http php net smtp port smt
  • gcc:对 -static -shared -fPIE -fPIC -Wl,-pie 感到困惑

    我正在尝试构建 clang 所有库都静态链接 这样我就可以在具有古老 GCC 4 4 版本的 CentOS 6 上运行它 首先 我想添加选项 static通过打开 LLVM BUILD STATIC 就足够了 但到了链接阶段 就出错了 生成
  • onTouch 给出奇怪的触摸点 Android

    我正在做的事情非常简单 我以前做过 但现在它没有按我的预期运行 无论如何 让我简要解释一下我正在尝试做什么以及我得到了什么 设想 我有一个RelativeLayout其中一个ImageView已放置 现在我设置touchlistener像这
  • 应用程序 Angular2 外部的路由

    我在 Angular2 中有一个应用程序 我需要在应用程序外部导航 我有简单的看法 a target blank library url a 我想导航到library url 我有导航方法 goToPage url string What
  • ggplot2 可视化/显示中的地图错误?

    正如您在下面看到的 我使用 ggplots 制作的地图上存在一个奇怪的显示问题 任何投影似乎都会发生同样的问题 这是代码 仅包maps and ggplot2需要 mapWorld lt borders world colour gray5
  • 在查询中创建临时变量

    我希望能够在查询中创建一个临时变量 而不是存储过程或函数 它不需要声明和设置 这样我在调用它时就不需要传递查询参数 正在努力朝这个方向努力 Select field1 tempvariable 2 2 newlycreatedfield t
  • 覆盖 Vagrantfile 自定义 JSON 数据中的 Cookbook 属性

    如何在 Vagrant 文件中使用chef json 访问node override 例如 使用vagrant berkshelf 我正在尝试安装基于自定义 JSON 数据的特定 Maven 版本Vagrantfile chef json
  • 使用 Javascript / Jquery 的本地存储(不使用 HTML5)

    我想在 javascript 或 jquery 中复制本地存储概念 类似于 HTML5 但不幸的是我不知道如何开始 任何人都可以建议如何使用 javascript 或 jquery 实现本地存储 不使用 HTML5 这是一个有点愚蠢的差事
  • 引入 V8 后,Google Apps 脚本无法为其他用户完全执行

    我编写了一个脚本 得到了这里好心人的大力帮助 该脚本使用 Google Sheets 脚本复制 Google Drive 上的文件夹 和内容 它运行了很长一段时间 但后来我启用了 V8 引擎 现在已禁用 问题是 它仍然适用于我 也许还有其他