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

Google Calendar API PHP实现timeZone参数不生效问题求助

Google Calendar API 时区设置不一致问题排查

问题现象

调用Google Calendar的Event List API时出现时区返回不一致的情况:

  • 在Google官方在线API测试界面中,将timeZone参数设为Etc/UTC,能正确返回UTC时区的事件;
  • 但在PHP代码中,同样设置timeZone为Etc/UTC,返回的事件却始终是日历默认的Europe/Madrid时区。

官方文档说明

根据Event List接口文档:

timeZone string
Time zone used in the response. Optional. The default is the time zone of the calendar.

问题代码示例

$optParams = [
    'syncToken' => $config->syncToken(),
    'timeZone' => 'Etc/UTC'
];

$results = $service->events->listEvents($externalCalendar, $optParams);

排查方向建议

  • 检查syncToken的影响:如果使用的syncToken是基于之前默认时区生成的,API可能沿用旧时区设置返回数据。尝试移除syncToken参数直接请求,验证时区是否正常。
  • 确认参数传递有效性:调用listEvents前打印$optParams,检查timeZone值是否未被后续代码修改覆盖。
  • 验证事件与时区关联:创建一个明确指定UTC时间的测试事件,再用代码请求,看返回时区是否符合预期。
  • 更新客户端库版本:确认使用的Google Calendar PHP客户端库为最新版,旧版本可能存在参数解析bug。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 10:52:36