如何在Google Calendar API(php)中使用freebusy信息?

时间:2014-02-20 23:18:52

标签: php google-api google-calendar-api

我正在使用Google Client API PHP库。

我找到 this answer to a similar question ,它似乎做了一些事情并返回了一些信息....但我不知道如何使用它:/

这是我的代码部分

$freebusy_req = new Google_FreeBusyRequest();
$freebusy_req->setTimeMin('2014-02-21T02:30:00Z');
$freebusy_req->setTimeMax('2014-02-21T17:00:00Z');
$freebusy_req->setTimeZone('America/Phoenix');
$item = new Google_FreeBusyRequestItem();
$item->setId(CALENDAR_ID);
$freebusy_req->setItems(array($item));
$query = $cal->freebusy->query($freebusy_req);

如果我转储变量并检查它,它似乎返回一些数据,但我不知道如何使用它。我也找不到关于这个主题的任何文件。

我只想查看特定日历是否在指定时间忙碌。并从中获得某种“真/假”。感谢。

2 个答案:

答案 0 :(得分:1)

您可以尝试使用echo json_encode($ query)来更轻松地查看响应。 它将显示您指定的时间之间的繁忙时间间隔。

答案 1 :(得分:0)

如果你想从中得到真/假,你可以检查你从api得到的输出中[ ]处于'忙'之间是否存在任何内容。按照科琳的回答,这就是让我想到的地方。

if (json_encode($query['calendars'][CALENDAR_ID]['busy']) === '[]') 
   {
     $busy = false; //nothing between [ and ], calendar is free
   }

else 
   {
     $busy = true; //calendar is busy
   }

(请注意我是php和json的新手,所以这可能是一个快速而肮脏的解决方案。)