如何获取Google日历"位置"通过Google Apps脚本设置?

时间:2017-04-21 19:11:33

标签: google-apps-script google-calendar-api

创建Google日历或通过用户界面修改其设置时,有一个" 位置"领域。我希望通过Google Apps脚本(GAS)获取该字段的价值。

不幸的是,它似乎没有记录或未通过the GAS Calendar API公开。我已经搜索了网络以及SO,但我想确保我不会忽视某些内容。

请注意:我不是指某个活动地点,而是指的是"地址"日历本身的字段,通过"日历设置输入"在用户界面。

2 个答案:

答案 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: insertCalendars: 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());