Я не могу удалить ленту событий с помощью API данных Google - PullRequest
1 голос
/ 03 февраля 2010

Привет, ребята. Я пытаюсь удалить несколько событий из API Календаря Google (из диапазона дат). Я получаю корм правильно, это не проблема. Проблема заключается в функции удаления. Я получаю эту ошибку: «Ошибка: вы должны указать URI для публикации».

Может кто-нибудь, пожалуйста, помогите мне!

Спасибо

  $service = new Zend_Gdata_Calendar($client);

  $query = $service->newEventQuery();

  $query->setUser('XXXXX');
  $query->setVisibility('private-XXXX');
  $query->setProjection('full');
  $query->setOrderby('starttime');
  $query->setStartMin('2010-01-20');
  $query->setStartMax('2010-01-28');
  // Retrieve the event list from the calendar server

  try {

      $eventFeed = $service->getCalendarEventFeed($query);

  } catch (Zend_Gdata_App_Exception $e) {

      echo "Error: " . $e->getMessage();

  }



  // Iterate through the list of events, deleting them //

  foreach ($eventFeed as $event) {

    try{
    $event->delete();
    }
    catch (Zend_Gdata_App_Exception $e) {

        echo "Error: " . $e->getMessage();

    } 

  }

1 Ответ

0 голосов
/ 03 февраля 2010

Похоже, вы используете MagicCookie аутентификацию, которая предоставит вам доступ только для чтения.Чтобы получить доступ для чтения / записи, вам необходимо использовать ClientAuth или AuthSub аутентификация.

Редактировать : например, вот как это сделать1011 * ClientAuth :

$user = 'me@example.com';
$pass = 'password';

$service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;
$client  = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
$service = new Zend_Gdata_Calendar($client);

$query = $service->newEventQuery();
$query->setUser('default');
$query->setVisibility('private');
// Rest of your code.
...