2014-05-05 45 views
5

Sto tentando di aggiungere un calendario Google tramite il metodo Aggiungi per URL. Ricevo un errore generico di "Impossibile aggiungere il calendario importato a" il mio URL "per" il mio nome utente "" dal calendario di Google. L'URL che sto aggiungendo a Google chiama un servizio Restful che rimanda un file .ics. Sono in grado di convalidare il mio URL qui: http://severinghaus.org/projects/icv/ e qui: http://icalvalid.cloudapp.net/ Che cos'è che il calendario di Google si aspetta di ricevere che mi manca?Aggiunta calendario di Google in base a requisiti URL

Questi sono i contenuti delle .ics Sto tornando:

BEGIN:VCALENDAR 
VERSION:2.0 
PRODID:-//Bryan G LLC//Bryan G Calendar 2014.4.30//EN 
X-WR-CALNAME:Bryang Calendar 
X-WR-TIMEZONE:America/New_York 
BEGIN:VTIMEZONE 
TZID:America/New_York 
X-LIC-LOCATION:America/New_York 
BEGIN:DAYLIGHT 
TZOFFSETFROM:-0500 
TZOFFSETTO:-0400 
TZNAME:EDT 
DTSTART:19700308T020000 
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU 
END:DAYLIGHT 
BEGIN:STANDARD 
TZOFFSETFROM:-0400 
TZOFFSETTO:-0500 
TZNAME:EST 
DTSTART:19701101T020000 
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU 
END:STANDARD 
END:VTIMEZONE 
BEGIN:VEVENT 
DTSTAMP:20140505T131700Z 
DTSTART;TZID=America/New_York:20140725T084500 
DURATION:PT2H 
UID:[email protected] 
SUMMARY:Burns JRSR High School FH C V Home Rocky Mountain High School 
LOCATION:Home 
DESCRIPTION: 
END:VEVENT 
END:VCALENDAR 
+0

Ho pensato che è possibile includere solo i campi come parametri URL. Non hai davvero bisogno di usare ics. – Henry

+0

Non sarei in grado di generare i campi come parametri URL poiché in alcuni casi potrei inviare fino a 50 voci del calendario. Tuttavia, ho tentato di passare le informazioni senza il file con lo stesso risultato. – user3338432

risposta

1

Ok, quindi questo è il più strano. Ho avuto più o meno lo stesso problema: avere un feed ics, ho provato ad aggiungerlo a Google Calendar con "Aggiungi per url", ho ricevuto l'errore generico "Impossibile aggiungere il calendario importato".

Ho cercato sul Web, ho trovato un paio di domande irrisolte correlate di qualche tempo fa. Molte persone si lamentano dell'imprevedibilità di questa funzionalità.

Tra le cose suggerite, ho provato a fare confusione con le intestazioni, incluso il feed come allegato di un file, in realtà scrivendo un file su disco e assegnando a Google Calendar un collegamento statico. Niente ha funzionato Ad un certo punto ho finalmente notato che Google Calendar non stava nemmeno cercando di recuperare il feed, in quanto nessun hit ha raggiunto l'url e nessun registro sarebbe apparso sul server.

Così ho iniziato a testare con un cestino delle richieste e con un tunnel locale. Ancora niente. Alla fine, ho aperto la console del browser per provare a dare un'occhiata alle richieste fatte dal sito web di Google Calendar quando si preme "aggiungi da url" ... e il mio feed è stato importato!

Non ho alcuna spiegazione logica per quello. Vorrei avere una risposta perfetta per tutti i problemi di Google Calendar "Aggiungi per Url", ma a questo punto posso solo aggiungere la mia esperienza nella speranza che si riveli utile a qualcun altro con la stessa lotta.

Ora il mio feed è costruito con l'eccellente libreria Sabre/vObject. Ma non viene nemmeno convalidato da alcun validatore online. Tendo a pensare che quelli sono obsoleti e il mio feed è in realtà abbastanza carino. Inoltre, non ho avuto problemi a importare questo stesso feed in iCal di Mac e ad importare i suoi eventi in Google Calendar con l'opzione "Importa file".

La mia opinione è che Google Calendar utilizza molto il "caching" e che la parte più difficile è ottenere il feed nel sistema. Una volta lì, dovresti stare bene. Il fatto che i feed di icalendar vengano aggiornati ogni 8 ore circa è noto e documented. Forse l'apertura dell'ispettore Chrome ha davvero aiutato. Sono successe cose più strane.

Ciò che posso confermare, tuttavia, è che la maggior parte delle altre cose non ha importanza: non uso file allegati e l'intestazione legge "Content-Type: text/calendar; charset = UTF-8". Il mio feed non è perfetto, ad esempio ha alcuni UID vuoti. Inoltre, il server hit che ha effettivamente funzionato è stato rilasciato nel momento in cui sono riuscito a importare il feed, quindi nessun fattore temporale in gioco qui, e l'IP era di Google, quindi nessun recupero del client per esempio.

+1

Grazie per aver almeno descritto i tuoi passaggi, anche se non fornisce una conclusione definitiva! – Luc

1

Lo stesso problema qui. Avevo un URL molto lungo con molti dati codificati, ma sono certo che l'URL fosse al 100% seguendo le specifiche. Nei log del server ho potuto vedere che Google non stava nemmeno provando a caricare il feed, lo ha appena respinto con un errore generico. Sfortunatamente, come MSIE6 qualche tempo fa, google è troppo grande per essere ignorato e possono farla franca, quindi ora è il mio problema da risolvere.

ho provato la seguente:

  • aggiungendo.ical all'URL;
  • codifica dei dati codifica URL come esadecimali invece;
  • aggiunta di un parametro casuale per evitare il caching;
  • utilizzando un sottodominio appena creato anziché una sottocartella;

e forse più che non mi ricordo. Tutto inutile.

Infine ho usato il nuovo sottodominio e scritto tutti i dati codificati in un file. Ora l'URL è simile al seguente: http://ical.example.net/?id=7. Questo funziona. Per nessuna ragione apparente, un URL molto breve funzionerà.

Non ha nulla a che fare con il contenuto iCal. I dati non sono mai cambiati, non può essere che Google abbia avuto una cache cattiva (avrei visto la richiesta che avrebbero memorizzato nella cache, non ce n'è mai stata una).