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


PHP Google Calendar API: Adding Multiple Events at Once

使用Google日历API的第3版。我可以一次添加一个事件,但我希望一次添加多个事件。知道怎么做吗?我将$authUrl分配给下面的模板,用户单击一个链接,上面写着"将所有项目添加到谷歌日历",授权谷歌可以访问该帐户,它会返回到我的回调URL,并分配$_GET['code'],这样整个$client->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对象,然后一次发送一堆事件,但似乎做不好。有人有这方面的经验吗?

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

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