API Календаря Google / Очистить корзину основного календаря

Я синхронизирую календарь с внешним приложением. У меня должны быть одинаковые идентификаторы событий в этом приложении и в Календаре Google. Но в этом приложении, когда событие удаляется, его идентификатор доступен для будущего нового события. Поэтому мне бы хотелось, чтобы при удалении события с помощью Calendar API был доступен идентификатор события. Но он всегда остается в корзине, и я не могу очистить его с помощью API.

Итак, два решения, которые я нашел:

  • Использовать clear функция:

    $cld = $service->calendars->get($calendarId);
    $calendarList = $service->calendarList->listCalendarList()->getItems();
    $summary = $cld->getSummary();
    $timeZone = $cld->getTimeZone();
    $events = $service->events->listEvents("primary")->getItems();
    $service->calendars->clear('primary');
    $cld->setSummary($summary);
    $cld->setTimeZone($timeZone);
    foreach($events as $event){
    $service->events->insert("primary", $event);
    }
    

    Но этот код возвращает сообщение «Запрещено» с кодом 403 на линии $service->calendars->clear('primary');

  • Создать новый календарь и сделать его primary

    $cld = $service->calendars->get($calendarId);
    $calendarList = $service->calendarList->listCalendarList()->getItems();
    $summary = $cld->getSummary();
    $timeZone = $cld->getTimeZone();
    $events = $service->events->listEvents("primary")->getItems();
    
    $calendarListEntry = new Google_Service_Calendar_CalendarListEntry();
    $calendarListEntry->setId("[email protected]");
    $calendarListEntry->setSummary($summary);
    $calendarListEntry->setTimeZone($timeZone);
    
    $createdCalendarListEntry = $service->calendarList->insert($calendarListEntry);
    
    foreach($events as $event){
    $service->events->insert("[email protected]", $event);
    }
    

    Но этот код возвращает сообщение «Неверное значение» с кодом 400 на линии $createdCalendarListEntry = $service->calendarList->insert($calendarListEntry);

Если бы у кого-то была идея для меня, это было бы удивительно!

Спасибо.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]