Bir kullanıcı için blog oluşturma aşamasındayım. Çok fazla veriyi çekmek ve onu oldukça sıkı bir şekilde tasarıma entegre etmek istiyorlar, bu yüzden standart gereçler no-no'dur. Şimdiye kadar iyi oldu.Google Calendar etkinliklerini PHP'de alma
Çeşitli etkinliklere sahip herkese açık bir Google Takvimine sahipler ve sonraki 5 etkinliği ("şimdi" den başlayarak) almak istiyorum ve etkinlik başlığının, bu olayın başlangıcı, konumu ve bir gcal maddesine bağlantı.
Görebildiğim kadarıyla, gcal özet akışlarını yakalamak için üç seçenek vardır: XML, ical veya HTML (bazı gerçekten JSON'u içeren). XML mantıksal seçim gibi görünüyor, değil mi?
XML beslemesi, aslında (çok sayıda sahte HTML). Bunu ayrıştırmak mümkündür, ancak arka planda büyük bir acıdır çünkü (bu olayda takvim üzerinde birkaç tane bulunan) yinelenen olaylar yalnızca o olayın ilk örneğini gösterir ve (görünüşte) bir sonraki örneğin ne zaman olduğu hakkında bilgi yoktur.
Ben sadece biraz yoğun muyum? İstediğimi XML API ile kesmek için bir yol var mı?
Ya da iCal'den daha iyi şansım olur mu? PHP ile hiçbir zaman iCal yapmadım, eğer varsa, lütfen işleri kendiniz için daha basit hale getirdiğiniz herhangi bir libe'yi öneriniz.
Düzenleme: cevaba teşekkürler, ben (neyse ki Zend Framework geri kalanına ayrı olan) Zend Gveri paketi indirdim. Ben bu kadar kolay olduğunu gerek yapıyor:
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_HttpClient');
Zend_Loader::loadClass('Zend_Gdata_Calendar');
$service = new Zend_Gdata_Calendar();
$query = $service->newEventQuery();
$query->setUser('[email protected]');
$query->setVisibility('public');
$query->setProjection('full');
$query->setStartMin(date('Y-n-j'));
$query->setStartMax(date('Y-n-j', time() + (60*60 *24*8)));
$query->setOrderby('starttime');
try { $eventFeed = $service->getCalendarEventFeed($query); }
catch (Zend_Gdata_App_Exception $e) { return; }
foreach ($eventFeed as $event)
echo $event; // do something real here
size olayların bir hafta yetmeyecek (evet setStartMax münhasır yüzden gereklidir gelecekte o 8 gün kuruyor) almak gerektiğini. Umarım bu, gelecekte başkalarına yardımcı olur.
Bunu sormadan önce gördüm ama isimdeki "Zend" tarafından korktum. Şimdi bütün bu çeperli çerçeveye ihtiyacım olmadığını söylediniz, ona uygun bir görünüm vereceğim. Teşekkürler. – Oli