【问题标题】:How to get Google Calendar Events only for a specific date not by date range如何仅针对特定日期而不是按日期范围获取 Google 日历事件
【发布时间】:2018-01-11 12:34:28
【问题描述】:

我正在使用 Google Calendar API V3 在 PHP (Codeigniter) 中获取 google 日历事件。现在我想获取特定日期的所有事件(不是按日期范围)。

我尝试使用选项 'timeMin' 并在 RFC3339 时间戳中传递日期,但它返回错误的结果。

我的代码是:

$optParams['syncToken'] = $next_sync_token;
$optParams['timeMin'] = date("c", strtotime(date('Y-m-d H:i:s').'-3 days'));
$service->events->listEvents($calendarId, $optParams);

谁能建议我如何从特定日期获取事件?

【问题讨论】:

  • 如果您使用timeMax 可能会解决您的问题
  • @Ayyappaamara 是的……我的回答已经表明了这一点,见下文。
  • 我只放弃了投票老板..再次我想推荐他
  • @Ayyappaamara 好的,谢谢。

标签: php codeigniter google-calendar-api


【解决方案1】:

我认为您可以将 timeMax 参数设置为高 1 天(因为它是排他性的)。那么你有1天的有效范围。类似的东西

$optParams['timeMin'] = date("c", strtotime(date('Y-m-d H:i:s').'-3 days'));
$optParams['timeMax'] = date("c", strtotime(date('Y-m-d H:i:s').'-2 days'));

https://developers.google.com/google-apps/calendar/v3/reference/events/list查看可用参数

【讨论】:

【解决方案2】:

您可能需要将 single events = true 添加到您的 optParams 以使 timeMin 工作,因为这会将所有重复事件视为单个事件。 所以,

$optParams['singleEvents'] = true;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-06
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    • 2013-05-24
    • 2022-12-18
    • 1970-01-01
    • 2015-04-13
    相关资源
    最近更新 更多