我在Google Apps脚本中使用CalendarApp.getCalendarById(email)
。这对于我自己的日历以及组织中的其他人来说都很好。但是,对于许多其他人,甚至对那些我拥有完全查看特权的人,此操作都失败(返回null)。
我该如何返回他们的日历?
答案 0 :(得分:1)
您必须订阅该人的Google日历才能使其正常工作。您可以通过选择:
添加日历>订阅日历
然后输入此人的电子邮件地址。
这意味着它们的日历必须始终在Google日历的“其他日历”部分中可见。
另一种替代方法是使用没有此要求的高级日历API!
答案 1 :(得分:0)
这是我写的一个自动订阅所有用户的函数。您只需要提供电子邮件列表。
var emails = [] // list all emails here
emails.forEach((email) => {
try {
CalendarApp.subscribeToCalendar(email)
Logger.log("Email: %s, Timezone: %s", email, CalendarApp.getCalendarById(email).getTimeZone())
} catch (e) {
Logger.log("this email failed: %s", email)
}
})
}