You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Google Apps Script获取Google Calendar中的工作地点信息

关于通过Google Apps Script调取Google Calendar工作地点信息的解答

是可以直接调取的,Google Apps Script通过调用Calendar高级服务即可获取这类工作地点数据,具体操作逻辑和注意事项如下:

  • 前置准备:你需要先在Apps Script编辑器的「服务」菜单中启用Calendar高级服务,调用的是Calendar V3 API,不需要额外申请外部API权限,只要拥有对应日历的读取权限即可操作。
  • 数据逻辑说明:Google Calendar的工作地点本质是一类标记为workingLocation类型的特殊全天事件,你可以直接通过事件类型筛选快速过滤出对应数据,不需要遍历所有普通日历事件。

参考代码示例

// 读取指定时间段内的工作地点数据
function getWorkingLocations(timeStart, timeEnd) {
  // 主日历默认ID为primary,如需调取其他日历替换为对应日历ID即可
  const targetCalendarId = 'primary';
  const eventList = Calendar.Events.list(targetCalendarId, {
    timeMin: timeStart.toISOString(),
    timeMax: timeEnd.toISOString(),
    singleEvents: true,
    // 仅筛选工作地点类型的事件,避免拉取其他日程
    eventTypes: ['workingLocation']
  }).items;

  // 格式化返回结果
  return eventList.map(item => ({
    date: new Date(item.start.date),
    locationName: item.workingLocationProperties.label,
    // 返回值共三类:homeOffice(居家)、officeLocation(办公室)、customLocation(其他)
    locationType: item.workingLocationProperties.type
  }))
}

注意事项

  • 仅用户主动设置过工作地点的日期会生成workingLocation类型事件,未做设置的日期不会返回对应条目
  • 除了读取之外,你也可以通过构造带有workingLocationProperties字段的事件,调用Calendar API的insert/update方法修改工作地点信息,操作权限和普通日程编辑一致

内容的提问来源于stack exchange,提问作者Mathieu Lenoir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 19:30:01