5

Attualmente, la mia applicazione ha la capacità di aiutare un utente aggiungere un unico evento al loro calendario Google:Come posso aiutare un utente a iscriversi a un calendario esterno al calendario di Google su un dispositivo Android?

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); 

Tuttavia, molti utenti desidera aggiungere automaticamente tutti i loro eventi per il loro calendario di Google. Il nostro team di server ha creato un feed ICS che le persone possono utilizzare subscribe to as an external Google calendar. Ma questo implica copiare e incollare gli URL ed è un po 'confuso per gli utenti finali.

Sul Web, siamo in grado di collegare le persone a un URL del modulo http://www.google.com/calendar/render?cid=OUR_ICS_URL, e saranno in grado di aggiungere facilmente il feed da lì. Tuttavia, quando visiti questo URL sul browser Android, ricevi tutti i tipi di popup bizzarri sui siti web mobili rispetto a   e persino gli utenti Android avanzati del nostro team di sviluppo non sono in grado di capire come ottenere il calendario aggiunto da lì .

Un'altra cosa che ho guardato in era l'API di Google Calendar, ma sembra che il loro calendar list insert method ha bisogno di un ID di Google Calendar, non un URL di un calendario esterno.

Quindi, c'è qualche buona soluzione qui? Sembra che dovrebbe esserci un modo per aiutare i nostri utenti a iscriversi ai loro calendari senza richiedere loro di andare sui loro desktop e aprire un browser web di dimensioni standard. Ma nulla di ciò che ho provato ha prodotto alcun risultato.

Qualche idea?

risposta

0

Forse potresti utilizzare AuthSub per autenticare gli utenti, quindi potresti utilizzare il metodo di inserimento dell'elenco di calendario. Penso che lo Zend framework funzioni in questo modo.

+0

Per quanto posso dire, il metodo di inserimento dell'elenco di calendario può solo accettare gli ID di calendario di Google, non gli URL di calendario esterni arbitrari. Mi sto perdendo qualcosa? – mlc

+0

Immagino che tu abbia ragione, ho pensato per un istante che ci sarebbe stato un modo per riprodurre la funzionalità getCalendarListFeed() di Zend framework, poiché nella loro documentazione indicavano: "Il servizio di calendario supporta il recupero di un elenco di calendari per l'autenticazione utente. È lo stesso elenco di calendari visualizzati nell'interfaccia utente di Google Calendar, ad eccezione di quelli contrassegnati come "nascosti". Ma non sono un esperto di Zend, quindi analizzare questo è un po 'oltre me. – Reggie

+0

Sì, ho appena controllato il codice dietro quella funzione (nello spazio dei nomi Zend_Gdata_Calendar) e sembra che stiano tirando manualmente la pagina web del calendario (sullo sfondo) dall'URL esterno ed estraendo le informazioni dal suo DOM. Non è una soluzione elegante per una semplice app per Android, questo è certo. – Reggie

Problemi correlati