创建Google日历或通过用户界面修改其设置时,有一个" 位置"领域。我希望通过Google Apps脚本(GAS)获取该字段的价值。
不幸的是,它似乎没有记录或未通过the GAS Calendar API公开。我已经搜索了网络以及SO,但我想确保我不会忽视某些内容。
请注意:我不是指某个活动地点,而是指的是"地址"日历本身的字段,通过"日历设置输入"在用户界面。
答案 0 :(得分:1)
尝试使用Advanced Calendar Service:
高级日历服务允许您在Apps脚本中使用公开Google Calendar API。与Apps Script的built-in Calendar service非常相似,此API允许脚本访问和修改用户的Google日历,包括用户订阅的其他日历。在大多数情况下,内置服务更易于使用,但此高级服务提供了一些额外功能,包括为各个事件设置背景颜色。
然后阅读Calendars参考。
资源陈述:
{
"kind": "calendar#calendar",
"etag": etag,
"id": string,
"summary": string,
"description": string,
"location": string,
"timeZone": string
}
注意:
位置 - 日历的地理位置为自由格式文本。可选的。
这意味着你可以获得一个位置(如果没有设置)。
还可以尝试使用Calendars: insert和Calendars: get的此API来查看日历 - 位置的工作原理。
希望这有帮助。
答案 1 :(得分:0)
使用Google Apps脚本中的Calendar Service,有两种设置位置的方法。使用createEvent()
方法,您可以在options
参数中包含位置和其他元数据:
// Creates an event for the moon landing and logs the ID.
var event = CalendarApp.getDefaultCalendar().createEvent('Apollo 11 Landing',
new Date('July 20, 1969 20:00:00 UTC'),
new Date('July 20, 1969 21:00:00 UTC'),
{location: 'The Moon'});
Logger.log('Event ID: ' + event.getId());
或者,对于CalendarEvent
,例如
setLocation()
方法
// Creates an event for the moon landing and logs the ID.
var event = CalendarApp.getDefaultCalendar().createEvent('Apollo 11 Landing',
new Date('July 20, 1969 20:00:00 UTC'),
new Date('July 20, 1969 21:00:00 UTC'));
event.setLocation('The Moon');
Logger.log('Event ID: ' + event.getId());