PHP谷歌日历API:一次添加多个事件

3
使用谷歌日历API的第3个版本。我可以一次添加一个事件,但是我想一次添加多个事件。您有什么想法吗?我将$authUrl分配给以下模板,用户单击一个名为“添加所有项到谷歌日历”的链接,授权Google可以访问该帐户,它会返回到我的回调URL,并分配$_GET ['code'],因此整个$client->getAccessToken()块被执行。
显然,现在我正在使用虚拟数据,但我想用来自expression engine的数据填充字段。我有这些可用的数据,但为了简化这个问题,省略了这些废话并放入了测试数据。
以下代码适用于一个事件:
$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();
}

我注意到有一个“类事件(class Events)”可以实例化(而不仅仅是实例化单个事件对象),它具有一个$items成员变量。 我猜我可以将一堆事件对象添加到$items成员变量中,然后一次发送一堆事件,但似乎做不对。 有人有这方面的经验吗?

1个回答

0
从v3的PHPJava文档来看,这似乎是不可能的。在Java中,Calendar.Events是API中一个日历事件相关方法的包装器:您可以要求它插入一个事件,但您不能将其用作多个事件的表示,并将其传递给服务器(进行批量插入)。
至少目前我得出了这个结论。(我也可以使用该功能。)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接