5

Şu anda, benim app Bir kullanıcı Google takvimine tek olay eklemek yardımcı olmak için yeteneği vardır:Bir kullanıcının bir Android cihazında Google takvimine harici bir takvime abone olmasına nasıl yardımcı olabilirim?

final Intent calendarIntent = new Intent(Intent.ACTION_EDIT) 
     .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) 
     .setType("vnd.android.cursor.item/event") 
     .putExtra("beginTime", startTime) 
     .putExtra("endTime", startTime + 7200000L) // 2 hours 
     .putExtra("title", name) 
     .putExtra("description", description.toString()) 
     .putExtra("eventLocation", address); 

// later 
startActivity(calendarIntent); 

Ancak, birçok kullanıcı otomatik olarak Google takvime tüm olayları eklemek istiyorum. Sunucu ekibimiz, kullanıcıların subscribe to as an external Google calendar ürününe sahip olduğu bir ICS feed'i yaptı. Ancak bu, URL'leri kopyalayıp yapıştırmayı içerir ve son kullanıcılar için kafa karıştırıcıdır.

Web üzerinde, kişileri http://www.google.com/calendar/render?cid=OUR_ICS_URL formunun bir URL'sine bağlayabiliriz ve buradaki beslemeleri nispeten kolayca ekleyebiliriz. Bununla birlikte, Android tarayıcısında bu URL'yi ziyaret ettiğinizde, mobil cihazlarla ilgili her türlü garip pop-up'la karşılaşabilirsiniz.   masaüstü web siteleri ve hatta geliştirme ekibimizdeki gelişmiş android kullanıcıları bile oradan eklenen takvimi nasıl alacağımızı anlayamadılar. .

Gözden geçirdiğim başka bir şey Google Takvim API'sıydı, ancak calendar list insert method numaralarının bir harici takvim için URL değil, bir Google takvim kimliğine ihtiyacı olduğu anlaşılıyor.

Burada iyi bir çözüm var mı? Görünüşe göre, kullanıcılarımızın masaüstlerine gitmelerine ve tam boyutlu bir web tarayıcısını açmasına gerek kalmadan takvimlerine abone olmalarına yardımcı olmanın bir yolu olmalı. Ama denediğim hiçbir şey sonuç vermedi.

Herhangi bir düşünce?

cevap

0

Kullanıcıların kimliğini doğrulamak için AuthSub'u kullanabilir ve sonra takvim listesi ekleme yöntemini kullanabilirsiniz. Bence Zend framework bu şekilde yapıyor.

+0

Anlatabildiğim kadarıyla, takvim listesi ekleme yöntemi yalnızca, rastgele harici takvim URL'leri değil, Google takvim kimliklerini kabul edebilir. Bir şey mi eksik? – mlc

+0

Sanırım haklısın, Zend framework getCalendarListFeed() işlevini çoğaltmanın bir yolu olabileceğini düşündüm, çünkü belgelerinde belirtildiler: "Takvim hizmeti, kimlik doğrulaması için bir takvim listesi almayı destekliyor Bu, Google Takvim Arayüzünde görüntülenen, aynı zamanda 'gizli' olarak işaretlenmiş olanlar hariç, aynı takvimler listesidir. Ama ben Zend uzmanı değilim, bu yüzden bunu analiz etmek benden birazcık ötedir. – Reggie

+0

Evet, bu işlevin arkasındaki kodu (Zend_Gdata_Calendar ad alanında) kontrol ettim ve takvim web sayfasını (arka planda) dış URL'den manuel olarak çekip bilgileri DOM'dan ayıklanıyor gibi görünüyor. Basit bir Android uygulaması için şık bir çözüm değil, kesin. – Reggie

İlgili konular