javascript - getCreators() 类型错误

标签 javascript google-apps-script google-apps

我编写了以下函数来尝试获取创建 gCal 事件的用户。

为了测试这一点,我在日历上创建了一个事件并尝试运行该脚本。当脚本执行时,会出现错误:“TypeError:无法在对象 CalendarEvent 中找到函数 getCreators。(第 68 行,文件“Code”)”。

有什么想法为什么会发生这种情况吗?我相当确定 getCreators() 是对象 CalendarEvent 中的一个函数(引用: https://developers.google.com/apps-script/reference/calendar/calendar-event#getCreators() )

function getuser(instr) {
  var today = new Date();
  var scriptProperties=PropertiesService.getScriptProperties();
  var instrcal= scriptProperties.getProperty(instr);
  var event=CalendarApp.getCalendarById(instrcal).getEventsForDay(today);
  if (event<1) {
    var user= 'None'
    }
  else if (event>1) {
    var user= 'Multiple Users'
    }
  else {
    var user= event.getCreators()
    }
  return user
}

最佳答案

getEventsForDay returns an array of CalendarEvent objects ,当天的所有事件,即使只有一个。
您需要浏览事件以找到所需的事件,然后调用 getCreators()

您可以使用以下方法验证这一点

var event=CalendarApp.getCalendarById(instrcal).getEventsForDay(today)[0];

这里调用将起作用。

关于javascript - getCreators() 类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39750782/

相关文章:

Javascript/HTML,根据 DIV 文本更改多个 DIV 内容。 (代码笔)

javascript - 有什么方法可以通过 Web API 查明专辑何时添加到 Spotify 中?

javascript - 捕获我的 Canvas 下的内容作为图像的一部分

google-apps-script - 用于粘贴到 D 列最后一行的复选框

java - 如何查看Google Apps域的管理员?

c# - 通过 C# 通过 Google Apps 帐户发送电子邮件

javascript - Node.js异步循环在下一个循环之前从函数回调

javascript - 为什么 ScriptDb 查询结果对象不同

javascript - 如何根据使用脚本从上一个问题中选择的日期更新 Google 表单上的多项选择问题

javascript - 正则表达式替换不替换(谷歌应用程序脚本)