2010-01-27 19 views
5

Google Takvim'de belirli bir takvime etkinlik eklemeye çalışıyorum ve nasıl olduğunu bulamıyorum. İşte kodum:GData API'sı ile "özel" bir Google Takvimine Etkinlik Ekleme

 CalendarService service = new CalendarService("MyTEst"); 
     service.setUserCredentials("Username", "Password"); 
     EventEntry entry = new EventEntry(); 

     // Set the title and content of the entry. 
     entry.Title.Text = "title"; 
     entry.Content.Content = "test"; 

     // Set a location for the event. 
     Where eventLocation = new Where(); 
     eventLocation.ValueString = "Location"; 
     entry.Locations.Add(eventLocation); 

     When eventTime = new When(DateTime.now, DateTime.now.AddDays(2)); 
     entry.Times.Add(eventTime); 

     Uri postUri = new Uri("http://www.google.com/calendar/feeds/default/private/full"); 

     // Send the request and receive the response 
     AtomEntry insertedEntry = service.Insert(postUri, entry); 

Bu kişi bana yardım edebilir mi?

Düzenleme

Belki bu fonctionnability tefriş onun google takvime yüzden otomatik olarak "kodlanmış" ile doğrulanmış randevu verilip vous ekleyebilir ve dikkat isteyen bir sitenin yönetici girebileceğini bahsetmeliyiz Değeri, kullanıcı adı ve şifrenin iyi olduğundan eminim.

cevap

6

Kodunuz, belirttiğiniz kullanıcı adı ve parolanız için varsayılan Google Takvim ile birlikte çalışıyor. (IE, [email protected] için varsayılan takvimi kullanıyor) Bunu, URI'nin "/ feed/default/private" olarak işaret ettiği için görebilirsiniz. Etkinliği başka bir takvime göndermek isterseniz, kullanıcı adı bu takvime yayınlama yetkisine sahip olmalı ve bu takvimlere özel uri göndermeniz gerekir.

DÜZENLEME: Bu özel URL varsayılan biçimidir "http://www.google.com/calendar/feeds/CALENDAR_ID/private/full"

takvim kimliği bulmak için, Google Takvimlerine takvim ayarları sayfasında sonraki Takvim Adresi'dir. Buna benzer görünecektir:

"***************************@group.calendar.google.com"

nihai URL olacaktır:

DÜZENLEME: "http://www.google.com/calendar/feeds/ ***************************@group.calendar.google .com/tam/özel"

Bu Uri postUri = new Uri();

DÜZENLEME gidecek:

Benim hatam, özel kelimeyi özel kelimeden sonra da eklemeniz gerektiğinden bahsetmiştim. Bunu aslında yapmak zorunda değilsiniz. Özel anahtarı kaldırarak ikinci takvime başarılı bir şekilde gönderebileceğimi doğruladım.

+0

Çok teşekkür ederim DanJo519. Şimdi bunu deneyeceğim! –

+0

Denedim ve hala hataya düşüyor; Talebin yürütülmesi başarısız oldu: google.com/calendar/feeds/[email protected]/private-PRIVATE_KEY/full. Anlamayacağım. Sonunda hem "full" hem de "basic" ile denedim (Basic varsayılan olarak google'dan sağlanıyor ama ben de çok denedim, ben de öyle dedim. Neyse, kimse çalışmıyor :( –

+1

Bir değişiklik yaptım cevabımı eklemek zorunda değilsiniz. -PRIVATE_KEY eklemeniz gerekmiyor.Bunu kaldırmak için, takvimde yazma izniniz olduğunu varsayarak göndermenize izin vereceğim. Bunu başarılı bir şekilde ikincil takvimlerimden biriyle test ettim –

İlgili konular