CalendarApp事件ID

问题描述 投票:1回答:2

使用Google Apps脚本,我尝试在CalendarApp中创建一个事件,并在电子表格中存储该事件的链接。要创建指向事件的链接,我需要获取事件ID,但是在Google Apps脚本中使用event.getID()会返回错误的事件ID。

链接的格式应为:https://calendar.google.com/calendar/event?eid= {eventID} =%7BAmerica / Chicago%7D

EventID应如下所示:tmFmbHZydmU1aDBDZGhlYmMwaWdqcW1wZGMgdDY1HT6yhuHI5YXJwYW5lMHV2OTYzamtAZw

getID()返回此信息:[email protected]

var event = CalendarApp.getCalendarById(calID).createAllDayEvent(eventName, new Date (eventDate));
var eventID = event.getId();
var eventLink = "https://www.google.com/calendar/event?eid=" + eventID + "&ctz={America/Chicago}";
Logger.log(eventLink);

为什么GAS会以这种格式返回ID?

javascript google-apps-script google-sheets google-calendar-api
2个回答
0
投票

根据这个documentation

的getId()

获取日历的ID。用户默认日历的ID是其电子邮件地址。

您必须拥有活动的特定ID。

您也可以查看此链接:

基于这个link,ID并不总是相同,它们是相同的,显然分配了一个临时ID,直到它们被同步。


0
投票

返回给您的ID是日历ID([email protected]

如果您仔细检查这是否与要创建事件的日历的ID相匹配,请转到设置并共享日历,如屏幕截图所示。

然后,您可以使用此ID来调用您要使用的日历:calendar = CalendarApp.getCalendarById('[email protected]');

那么你可以跟进你的原始意图... eventId = calendar.createAllDayEvent(eventName,new Date(eventDate))。getId;

© www.soinside.com 2019 - 2024. All rights reserved.