使用Google Calendar API检索日期时出现问题

问题描述 投票:0回答:1

我正在尝试使用PHP和Google Calendar API在特定日期检索事件,但我在正确日期获取事件时遇到问题。例如,我可以在日历中看到该事件,但它没有使用API​​检索,或者日历中没有任何内容,而且它从前一天开始收到事件。

经过研究和实验,我认为这可能是时区的一个问题,但我的代码中看不出任何错误。值得一提的是,日历中的所有事件都是全天事件。

我非常感谢您提供的任何帮助。 (我是一个新手编码器,这是我的第一个问题所以如果我错过任何事情,请告诉我!)

$eventdate = "26-08-2018";

 require_once "google-api-php-client-2.2.1/vendor/autoload.php";
      putenv("GOOGLE_APPLICATION_CREDENTIALS=MY_CREDENTIALS");
      $scope = 'https://www.googleapis.com/auth/calendar';

      $client = new Google_Client();
      $client->useApplicationDefaultCredentials();
      $client->setScopes($scope);
      $service = new Google_Service_Calendar($client);

      $googleeventdate = date("Y-m-d", strtotime($eventdate));

      $optParams = array(
        "timeZone" => "Europe/London",
        "timeMin" => $googleeventdate . "T00:00:00Z",
        "timeMax" => $googleeventdate . "T23:59:59Z"
      );

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

      foreach ($events->getItems() as $event) {    
        echo "Events in Calendar: " . $event->summary;
      }
php google-calendar-api
1个回答
0
投票

这是设置最大时间和最大时间的正确方法

// $eventdate = "26-08-2018";
$timeMin = date("c", strtotime( $eventdate) ); // gives 2018-08-26T00:00:00-04:00
$timeMax = date("c", strtotime( $eventdate.' +1 days') ); // gives 2018-08-27T00:00:00-04:00

你可以测试它here

© www.soinside.com 2019 - 2024. All rights reserved.