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,"q"=>"timeMin>2020-06-14T16:09:16.000Z"
    );
$results = $this->service->events->listEvents("primary",$optParams);
$events = $results->getItems();

同样的问题,没有结果。

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

$optParams = array(
    'maxResults' => 10,"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字符串自由文本搜索词,可在任何字段中查找与这些词匹配的事件,扩展属性除外。可选。

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

以下内容将返回标题或带有生日说明的任何内容。


int Modes[3] = {showTime,flashlight,antiAnxiety} //these are all void functions that are defined earlier. 

int scroller(){
  int counter = 0;
    int timeLeft = millis()+5000;
    while (timer <= millis()){
       ...more code...
    }
  Modes[counter]();
}

这是我尝试在其中一个事件的日期进行搜索的任何字段上的自由文本搜索,但不幸的是,此操作无效。

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

您应该做的是更多类似的事情

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

,它将根据您的时间返回事件。不幸的是,这不是它搜索的时间,而是事件的时间。