Google 日历 API PHP

Google Calendar API PHP

我正在尝试按创建(项目字段)搜索 Google 日历。 这没有给出任何结果。

$optParams = array(
    'maxResults' => 10,
    'orderBy' => 'startTime',
    'singleEvents' => true,
    "q"=>"created>2020-06-14T16:09:16.000Z"
    );
$results = $this->service->events->listEvents("primary", $optParams);
$events = $results->getItems();

我也尝试用 timeMin

测试这个 'q' 搜索
$optParams = array(
    'maxResults' => 10,
    'orderBy' => 'startTime',
    'singleEvents' => true,
    "q"=>"timeMin>2020-06-14T16:09:16.000Z"
    );
$results = $this->service->events->listEvents("primary", $optParams);
$events = $results->getItems();

同样的问题,没有结果。

事件、日历访问和 $this->service 被证明使用几乎相同的代码,但使用 timeMin 作为可选参数而不是 'q'

$optParams = array(
    'maxResults' => 10,
    'orderBy' => 'startTime',
    'singleEvents' => true,
    "timeMin"=>"2020-06-14T16:09:16.000Z" // *** note this is instead of 'Q' ***
    );
$results = $this->service->events->listEvents("primary", $optParams);
$events = $results->getItems();

我的问题是使用 'q' 搜索时实际允许的内容是什么以及应该如何构建。正如预期的那样,Google 文档非常模糊。

如果您查看 event.list 的文档,您会看到

q string Free text search terms to find events that match these terms in any field, except for extended properties. Optional.

它是一个自由文本搜索字符串。这意味着您可以搜索偶数或描述的名称。

以下内容 return 任何有标题或生日描述的内容。

$optParams = array(
    'maxResults' => 10,
    'orderBy' => 'startTime',
    'singleEvents' => true,
    "q"=>"Birthday"
    );
$results = $this->service->events->listEvents("primary", $optParams);
$events = $results->getItems();

这是一个在任何字段上的自由文本搜索,我试图在我的一个事件的日期进行搜索,但遗憾的是没有用。

$optParams = array(
    'maxResults' => 10,
    'orderBy' => 'startTime',
    'singleEvents' => true,
    "q"=>"2008-09-22T13:43:40.000Z"
    );
$results = $this->service->events->listEvents("primary", $optParams);
$events = $results->getItems();

你应该做的是更符合

的事情
$optParams = array(
    'maxResults' => 10,
    'orderBy' => 'startTime',
    'singleEvents' => true,
    "mintime"=>"2012-03-19T08:42:11.000Z",
    "maxtime"=>"2012-03-19T10:42:11.000Z"
    );
$results = $this->service->events->listEvents("primary", $optParams);
$events = $results->getItems();

这将 return 根据您的时间安排活动。不幸的是,这不是它搜索的创建时间,而是事件时间。