PHP 谷歌日历 API : Adding Multiple Events at Once

标签 php google-calendar-api

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

显然我现在使用的是虚拟数据,但我想用来自表达式引擎的数据填充字段。我有可用的数据,但为了这个问题的简单起见,我省去了废话并输入了测试数据。

此代码适用于一个事件:

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

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

最佳答案

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

至少这是我目前得出的结论。 (我也可以使用该功能。)

关于PHP 谷歌日历 API : Adding Multiple Events at Once,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9439104/

相关文章:

google-api - 谷歌日历 API : Calendar usage limits exceeded

php - 在 symfony 命令中多次更改语言环境

php - 照亮\数据库\QueryException : SQLSTATE[HY000]: General error: 1813 Tablespace for table

php - fatal error : Allowed memory size of 33554432 bytes exhausted - Laravel 8

python - 将 Google Calendar API v 3 与 Python 结合使用

php - 将 Google 日历与 SQL 数据库同步(以及其他方式)?

php - HTML 输入数组

php - 我应该什么时候关闭类(class)中打开的 MySQL 连接?

javascript - 使用 Google 日历在 Fullcalendar 中选择事件

meteor - Google Cal API - 插入事件时为 "Missing end time"