Использование версии 3 API календаря Google. Я могу добавить одно событие за раз, но хочу добавить сразу несколько событий. есть идеи как это сделать? Я назначаю $ authUrl для моего шаблона ниже, пользователь нажимает ссылку, в которой говорится «добавьте все элементы в календарь Google», разрешает Google получать доступ к учетной записи, она возвращается к моему обратному 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) и что он имеет переменную-элемент item. Я предполагаю, что я могу добавить кучу объектов Event в переменную члена элемента $ item, а затем отправить кучу событий сразу, но не может показаться, что это правильно. У кого-нибудь есть опыт с этим?
Судя по документации PHP и Java для v3, это невозможно. Calendar.Events
(в Java) является оберткой связанных с событиями событий календаря в API: вы можете попросить его вставить одно событие, но вы не можете использовать его в качестве представления нескольких событий и, например, передать его на сервер (для объемная вставка).
По крайней мере, это то, что я сделал сейчас. (Я мог бы также использовать эту функцию.)