Создайте приватное мероприятие, используя PHP-фреймворк Zend Google Calendar API - PullRequest
0 голосов
/ 31 октября 2011

Я пытаюсь использовать библиотеку Zend_Gdata_Calendar для создания нового события в API Календаря Google и изо всех сил пытаюсь выяснить, как настроить видимость. У кого-нибудь есть идеи, как на самом деле это сделать?

Конструкция моего класса имеет

$this->calendar_client = Zend_Gdata_ClientLogin::getHttpClient($this->user_name, $this->password, Zend_Gdata_Calendar::AUTH_SERVICE_NAME);

Где user_name и pass_word - это данные для входа в учетную запись, которая может писать в календарь. Следующие работы

$gdataCal = new Zend_Gdata_Calendar($this->calendar_client);

$newEvent = $gdataCal->newEventEntry();
$newEvent->title = $gdataCal->newTitle($title);
$newEvent->where = array($gdataCal->newWhere($where));
$newEvent->content = $gdataCal->newContent($content);
$newEvent->visibility = 'private';
$when = $gdataCal->newWhen();
 $when->startTime   = $start_time;
 $when->endTime     = $end_time;
$newEvent->when = array($when);
$createdEvent = $gdataCal->insertEvent($newEvent,"https://www.google.com/calendar/feeds/{$email}/private/full");

($ title, $ where и $ content - текстовые строки, переданные в функцию)

Однако видимость не выглядит, чтобы привыкнуть.

Я пробовал видимость, показанную выше, а также каждый из следующих пунктов,

$newEvent->setVisibility($gdataCal->newVisibility('private'));
$newEvent->setVisibility($gdataCal->newVisibility(true));
$newEvent->setVisibility($gdataCal->newVisibility(false));

И хотя все это работает (т. Е. Событие создается в правильное время), закрытый флаг никогда не устанавливается!

1 Ответ

0 голосов
/ 06 декабря 2011

Отвечая на мой собственный вопрос, вам нужно использовать для него URI!

$newEvent->visibility   = $gdataCal->newVisibility("http://schemas.google.com/g/2005#event.public");

$newEvent->visibility   = $gdataCal->newVisibility("http://schemas.google.com/g/2005#event.private");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...