Google脚本DriveApp.getFolders().hasNext()错误

2024-02-03

我想在驱动器中创建一个目录(如果该目录尚不存在)。

function CreateDirectory() {
  var folderName="Example";
  var Directory;
  var fi = DriveApp.getFoldersByName(folderName);
  if (fi.hasNext()) {
    Directory = fi.next();
  } else {
    Directory = DriveApp.createFolder(folderName);
  }
}

当达到条件时该函数停止:

抱歉,服务器发生错误。请稍等一下,然后重试。

问题是什么?如何解决?


你的代码没有任何问题。

Google 无法保证 100% 的服务可用性。

解释:

该错误告诉您需要wait在再次执行该函数之前稍等一下。

有潜力解决方法解决方案是使用试着抓 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/try...catch声明并在catch括号中包含自动执行函数的代码一段时间后.

例如,您可以创建一个时间驱动的 https://developers.google.com/apps-script/guides/triggers/installable trigger执行的CreateDirectory()一段时间后(例如 1 分钟)如果函数failed第一次。


解决方案:

在以下解决方案中,逻辑是手动执行toRun()功能。后者将尝试执行CreateDirectory()。如果发生错误,它将创建一个时间驱动的触发器来执行CreateDirectory()一分钟后(根据您的需要修改)。这clearTrigger()函数负责清除由于该代码而创建的所有先前触发器(如果有)。

function toRun(){

  try{
    CreateDirectory();
  }
  
  catch (e){
    
     clearTrigger(); // clear previous created triggers
     ScriptApp.newTrigger("CreateDirectory") 
     .timeBased()
     .after(1 * 60 * 1000) // execute CreateDirectory after 1 minute
     .create();
  } 
 
}

function CreateDirectory() {
  var folderName="Example";
  var Directory;
  var fi = DriveApp.getFoldersByName(folderName);
  if (fi.hasNext()) {
    Directory = fi.next();
  } else {
    Directory = DriveApp.createFolder(folderName);
  }
}

function clearTrigger(){

var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < triggers.length; i++) {
  if (triggers[i].getHandlerFunction() == "CreateDirectory") {
    ScriptApp.deleteTrigger(triggers[i]);
  }
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google脚本DriveApp.getFolders().hasNext()错误 的相关文章

随机推荐

  • 开发内置短信/彩信 Android 应用程序的定制版本

    好吧 情况是这样的 我正在为客户开发一个应用程序 或尝试这样做 它需要许多 如果不是全部 与内置 SMS MMS 应用程序相同的功能 所以 我想 嘿 Android 是开源的吗 我可以接受应用程序并根据我的需要进行修改 对吧 因此 我在 g
  • php字符串替换引号

    您好 我正在尝试使用 php str replace 将所有单引号变为双引号 但是无论我做什么 它似乎都不起作用 建议 page str replace page 更新 我同意其他人的观点 以下内容对于大多数人来说是更容易阅读的替代方案 p
  • 如何使用pyrebase查询?

    我正在学习如何使用 python django 和pyrebase 进行查询 我在查询多个键值时遇到问题 例如 这是我的数据结构 root account ACC0001 id ACC0001 create day 2020 04 20 1
  • 如何使用 atoi() 获得负值?

    我编写这段代码是为了获取相反形式的数字 但如果我使用任何负输入 它会显示正反转数 C 中的 atoi 函数可以处理负数吗 include
  • 在 C++/CX 中解析 JSON ISO8601 日期

    我有一个来自 JSON 2012 08 01T15 42 06Z 的日期字符串 并且想要在 Windows 运行时中解析它 据我所知 只有COle日期时间可以处理这个问题 当我取出 T 和 Z 字符时 我只能让它正确解析字符串 但这增加了一
  • Pycharm - 在远程解释器中配置 PYTHONPATH

    我在 Windows 上安装了 PyCharm 2 7 3 并且正在尝试在 Linux 计算机上远程开发应用程序 到目前为止 我可以运行简单的程序 但是我正在尝试设置我的 PYTHONPATH 并且 PyCharm 似乎特别忽略了此配置 在
  • 获取 Windows Phone 上 ScrollViewer 的滚动事件

    问题 获取 Windows Phone 上 ScrollViewer 的滚动事件 我有一个像这样的滚动查看器
  • 可以将 crossorigin 属性添加到 Angular cli 生成的脚本标签中吗?

    是否可以将 crossorigin 属性添加到 Angular cli 生成的脚本标签中 运行我的角度应用程序时 脚本标签被添加到我的index html的末尾 是否可以配置 angular cli 以便当这些标签包含在构建 index h
  • 仅从类和接口静态导入

    我的代码在 Eclipse 中编译得很好 但是当我尝试从命令行编译 通过我们基于 ruby 的构建系统 时 我收到以下错误消息 static import only from classes and interfaces 建议不允许静态导入
  • 如何从 WAMP 恢复 MySQL 数据库?

    上个月我不得不重新安装 Windows 并且我已经将WAMP http en wikipedia org wiki WAMP文件夹到另一个分区 现在我再次安装了 WAMP 但我需要旧数据库 如何从安全分区上保存的 WAMP 文件夹中获取旧的
  • 系统托盘应用程序如何在其他平台上完成?

    Windows 有一个 系统托盘 其中包含时钟和始终运行的服务 例如 MSN Steam 等 我想开发一个 wxPython 托盘应用程序 但我想知道它移植到其他平台的效果如何 每个平台上的托盘等效项是什么 以及支持 Windows OSX
  • CGAffineTransformMakeScale 动画不起作用

    我有一个视图控制器 其中有一个视图 在删除它之前 我使用 UIView 动画将其缩小到 0 我的驳回它的代码是 UIView animateWithDuration dismissAnimationDuration delay 0 0 op
  • 如何将 GameLift 与 Unity3d 集成作为游戏客户端

    我正在尝试使用 Unity3d 游戏作为 GameList 客户端 根据GameLift 论坛 https gamedev amazon com forums questions 13771 create client in unity h
  • 如何在绘图中使用多个组,但仅使用定义数量的图例组

    假设我有多个不同细胞的时间序列 我可以根据它们是否接受治疗来分割它们 我如何绘制所有单独的时间序列 不平均 但根据绘图中的治疗对它们进行分组 它与 ggplot 完美配合 我知道我可以从那里使用 ggplotly 但有完整的情节方式吗 以下
  • python 组合范围和数字列表

    range 5 15 1 1 5 6 10 10 10 11 17 28 range 6 24 4 10 10 10 15 16 18 20 24 30 range 7 41 9 18 19 23 23 26 28 40 42 44 ran
  • 获取OpenCV当前的FPS

    我正在编写一个 OpenCV 应用程序 FPS 非常重要 如何计算主循环的处理时间以获得当前和平均 FPS 这样 我就可以知道我的应用程序运行速度有多快 顺便说一句 我在 SSD 上使用 imread 所以处理器是这 里的瓶颈 你可以做这样
  • 单击锚标记时,将 HTML 文本输入的 readonly 属性设置为 false

    My HTML div class profileForm fieldset fieldset div
  • 网关未出现在 jhipster 注册表中

    我已经为网关应用程序创建了一个 docker 映像 但是当我运行命令时 docker compose up只有微服务和注册表是UP的 但网关甚至没有出现在实例中 22 08 25 10 57 23 661 ERROR 1 restarted
  • 强制完全重绘 Jpanel Java2D

    我的问题是 我需要制作一个不断更新的 GUI 因为我从数据库获取可以更改的值 并且在图形区域中遇到了一些问题 我使用 Graphics2D 中的 Drawline 和 Drawstring 打印在数据库中找到的值 这些字符串和线条移动并更改
  • Google脚本DriveApp.getFolders().hasNext()错误

    我想在驱动器中创建一个目录 如果该目录尚不存在 function CreateDirectory var folderName Example var Directory var fi DriveApp getFoldersByName f