Nasıl Zend / PHP kullanarak varsayılan olmayan Google Takvim içine eklerim

2 Cevap php

Ben takip ederek ince yapabilirsiniz Google Takvim içine yeni bir olay eklemek çalışıyorum:

$sname = Zend_Gdata_Calendar::AUTH_SERVICE_NAME; // predefined service name for calendar
$client = Zend_Gdata_ClientLogin::getHttpClient($userName,$password,$sname);
$service = new Zend_Gdata_Calendar($client);

$event = $service->newEventEntry();
$event->title = $service->newTitle($name);
$event->when = array($when);
$newEvent = $service->insertEvent($event);

Ancak, bu sadece varsayılan takvime eklemek olacaktır. Gitmem gereken yere almak için insertEvent URI argümanını kullanmaya çalışıyorum:

$uri = "http://www.google.com/calendar/feeds/default/something@somethingelse.com/private/full";
$newEvent = $service->insertEvent($event, $uri);

Bu çalışmamış. Ben kodlama ve bana farklı hata mesajları verir URI, çözme denedim, ama ben sadece bu işe alınamıyor. Ben hayır şans ile artık saatlerce çözümler google'da oldum. Herkes yardımcı olabilir?

Thanks. - Dave

2 Cevap

Found the issue: The URI above doesn't work: "http://www.google.com/calendar/feeds/default/something@somethingelse.com/private/full";

Orada varsayılan bölümü olmamalıdır.

Also, the @ sign should be replaced by encoding. So it should be: "http://www.google.com/calendar/feeds/something%40somethingelse.com/private/full";

Ben bir süre için bu mücadele edilmiş ve nihayet çalışmak lazım. Bu güzel sarılmış, ama bu benim aradığım cevap değil

İlk takvim kimliği almak zorunda. Eğer takvim içine gidin ve aşağı ok simgesine tıklarsanız yanındaki adının size Takvim Ayarları için bir seçenek göreceksiniz. Bu menü öğesini seçin. Alt kısmına yakın Ajanda Adres göreceksiniz. Bu Takvim kimliğini bulmak için bir dakikanızı ayırın ve bu gibi bir şey olacak

(Takvim ID: o4g3921hdiaq5p8kdat2l4vgis@group.calendar.google.com)

İstediğiniz o4g39j1hdihq4p8kdat2l4vgis@group.calendar.google.com

Yolda ben php bu olsun istiyorum ama şimdi ben sabit kod yapabilirsiniz. Yani bu bir değişkeni ayarlamak

$calendar_user = 'o4g39j1hdihq4p8kdat2l4vgis@group.calendar.google.com';

Olayları alınırken böyle SETUSER olacak

$gdataCal = new Zend_Gdata_Calendar($client);
$query = $gdataCal->newEventQuery();
$query->setUser($calendar_user);

Eğer olay eklerken Ama sen olayı eklemek nerede noktada $ calendar_user kullanmak zorunda yapamam.

Yani burada tam koddur

$calendar_user = 'o4g39j1hdihq4p8kdat2l4vgis@group.calendar.google.com';
$user = 'myemail@yahoo.com';
$pass = 'mygooglecalendarpassword';
$service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME; // predefined service name for calendar
$client = Zend_Gdata_ClientLogin::getHttpClient($user,$pass,$service);

$gc = new Zend_Gdata_Calendar($client);
$newEntry = $gc->newEventEntry();
$newEntry->title = $gc->newTitle("mytitle");
$newEntry->where  = array($gc->newWhere("meeting place"));

$newEntry->content = $gc->newContent("Meeting description");
$newEntry->content->type = 'text';

$when = $gc->newWhen();
$when->startTime = "{'2012-06-28'}T{'10:00'}:00.000{'-08'}:00";
$when->endTime = "{'2012-06-28'}T{'11:00'}:00.000{'-08'}:00";
$newEntry->when = array($when);

$createdEvent = $gc->insertEvent($newEntry, "http://www.google.com/calendar/feeds/".$calendar_user."/private/full");

Şimdi bu yararlı olduğunu umuyoruz. Ben bunu anlamak için çok uzun bir yol götürdü söyleyecektir, ama ben dünyanın en zeki adam değilim.