谷歌日历API PHP

谷歌日历API PHP,php,google-calendar-api,Php,Google Calendar Api,我试图通过创建(项目字段)搜索谷歌日历。 这并没有给出任何结果 $optParams = array( 'maxResults' => 10, 'orderBy' => 'startTime', 'singleEvents' => true, "q"=>"created>2020-06-14T16:09:16.000Z" ); $results = $this->service-&

我试图通过创建(项目字段)搜索谷歌日历。 这并没有给出任何结果

$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->服务的验证代码基本相同,但使用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”进行搜索时,什么是实际允许的,以及应该如何构造它。正如所料,谷歌文档非常模糊。

如果您查看文档,您将看到这一点

q字符串自由文本搜索项,用于在任何字段(扩展属性除外)中查找与这些项匹配的事件。可选

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

以下内容将返回任何包含标题或生日描述的内容

$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();

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

如果您查看文档,您将看到

q字符串自由文本搜索项,用于在任何字段(扩展属性除外)中查找与这些项匹配的事件。可选

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

以下内容将返回任何包含标题或生日描述的内容

$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();

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

感谢您解释“q”并测试其自由文本搜索。所以“q”基本上可以在所有和任何字段中搜索一个值。这是一个模糊的数据搜索,尤其是当我们不知道到底搜索了什么和没有搜索什么的时候。如果你问我的话,绝对没用,不过谢谢你的演示。我很生气只是想象MySQL的等价物——“从事件中选择项目,其中(maybecolumn1=value1或maybecolumn2=value1或maybecolumn3=value1)或(maybecolumn1=value2或maybecolumn2=value2或maybecolumn3=value2)”感谢您解释“q”并测试其免费文本搜索。所以“q”基本上可以在所有和任何字段中搜索一个值。这是一个模糊的数据搜索,尤其是当我们不知道到底搜索了什么和没有搜索什么的时候。如果你问我的话,绝对没用,不过谢谢你的演示。我对MySQL的等价物感到愤怒——“从事件中选择项,其中(可能是列1=value1或列2=value1或列3=value1)或(可能是列1=value2或列2=value2或列3=value2)”