PHP google takvim API kullanarak olayı tekrarlayan istisna ekle

2 Cevap php

Zend Gdata Takvim sınıfları kullanarak, nasıl ben yinelenen bir olay için bir özel durum ekleyebilirsiniz?

$orig = $evtFeed[0]; //the original recurrence

$ex = $gc->newEventEntry(); //gc is a Zend_Gdata_Calendar object
$ex->originalEvent = $gc->newOriginalEvent($orig->getId(), $orig->getLink('self')->href, $gc->newWhen('2009-09-23T15:00:00.000Z'));
$ex->eventStatus = $gc->newEventStatus("http://schemas.google.com/g/2005#event.canceled");

$gc->insertEvent($ex);

Ben yukarıdaki kod yaklaşık 20 varyasyonları denedim ama aşağıdaki hatayı her zaman olsun:

Ölümcül hata: iletisiyle yakalanmamış istisna 'Zend_Gdata_App_HttpException' Beklenen yanıt kodu 200, 403 g var:. OriginalEvent [2009-09-23 15:00:00] yinelenen olayın bir örneğine karşılık DEĞİLDİR '

2 Cevap

Eh, saat ve internette arama saat sonra, ben bu zend API ile mümkün olabilir sonuca geldik, ama ben bunu anlamaya asla. Sonunda vazgeçti ve nüks düzenleme ve iCalendar verilere EXDATE kurallar ekleyerek başvurdu. Eğer sayfayı yenileyin (takvimin üzerinde yenileme bağlantı çalışmıyor) bu yüzden daha fazla zaman boşa sürece google takvim arayüzü bir hata sayesinde, bu şekilde oluşturulan istisnalar görünmüyor.

Herkes EXDATE başvurmadan bu çalışma almak için bir yol bulursa gönderebilir ve ben düzenli olarak kontrol ve doğru cevabı işaretlemek için emin duyarız.

UPDATE: Tamam ben anladım. Ben kısmen bana bir aptal ve kısmen Google'ın korkunç bir isimlendirme sistemi olmak bu bir suçlama için gidiyorum. getId() bir EventEntry Calling aslında olayın DÜZENLEME URL'sini döndürür. Bunu ayıklamak için altdizesine kullanmanız gerekir böylece OriginalEvent yapıcı URL sadece gerçek kimliği bölümünü bekliyor. getId() erişimciyi doğru isim ne güzel bunların.

Sadece calendarEventEntry.getIcalUID () kullanın, GetId ayrıştırmak gerek yok.