PHP Google Calendar API:一次添加多个事件

时间:2012-02-24 22:44:48

标签: php google-calendar-api

使用Google Calendar API的第3版。我可以一次添加一个事件,但我想一次添加多个事件。知道怎么做吗?我将$ authUrl分配给下面的模板,用户点击“将所有项目添加到Google日历”的链接,授权Google可以访问该帐户,然后返回我的回调网址,并分配了$ _GET ['code'] <$ p>。整个$ client-&gt; getAccessToken()块被执行。

显然我现在正在使用虚拟数据,但我想用表达引擎中的数据填充字段。我有这些数据可用,但为了简化这个问题,不用废话并输入测试数据。

此代码适用于一个事件:

$client = new apiClient();
$client->setApplicationName("Band Calendar");
$cal = new apiCalendarService($client);

if (isset($_GET['logout'])) {
    unset($_SESSION['token']);
}

if (isset($_GET['code'])) {
    $client->authenticate();
    $_SESSION['token'] = $client->getAccessToken();
    header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
}

if (isset($_SESSION['token'])) {
    $client->setAccessToken($_SESSION['token']);
}

$authUrl = $client->createAuthUrl();

if ($client->getAccessToken()) {

$event = new Event();
$event->setSummary("test title");
$event->setLocation("test location");
$start = new EventDateTime();
$start->setDateTime('2012-03-03T09:25:00.000-05:00');
$event->setStart($start);
$end = new EventDateTime();
$end->setDateTime('2012-03-03T10:25:00.000-05:00');
$event->setEnd($end);
$attendee1 = new EventAttendee();
$attendee1->setEmail('email@email.com');
$attendees = array($attendee1);
$event->attendees = $attendees;
$createdEvent = $cal->events->insert('primary', $event);

echo $createdEvent->getId();

$_SESSION['token'] = $client->getAccessToken();
}

我注意到有一个“类事件”我可以实例化(而不是仅仅实例化一个Event对象)并且它有一个$ items成员变量。我猜我可以在$ item成员变量中添加一堆Event对象,然后一次发送一堆事件,但似乎无法正确。有人有这方面的经验吗?

1 个答案:

答案 0 :(得分:0)

根据v3的PHPJava文档判断,这是不可能的。 Calendar.Events(在Java中)是API中日历的与事件相关的方法的包装:您可以要求它插入一个事件,但不能将其用作多个事件的表示,例如将其传递给服务器(用于批量插入)。

至少那是我现在所得出的结论。 (我也可以使用这个功能。)