Domanda

Questo è il mio primo post qui su StackOverflow.La mia domanda è: come modificare il feed del calendario di Google in modo che mostri automaticamente solo gli eventi del giorno corrente?

Fondamentalmente quello che voglio fare è generare il feed su una pagina web che mostri solo gli eventi di oggi.Il feed cambierebbe di giorno in giorno.Ho già fatto qualcosa di simile con altri feed (non con Google Calendar), tranne in questi casi, avrei generato il "#" di post più recente.Questo non funzionerebbe se mostrassi gli eventi solo per oggi.

Ho cercato in giro sui tubi di Yahoo e ne ho trovati alcuni in cui filtra il feed con una data che devi inserire.Funziona, tranne per il fatto che voglio essere in grado di renderlo automatico invece di chiedere a qualcuno di inserire la data.Leggendo l'API del feed del calendario di Google, c'è anche un intervallo di date che posso fare, ma è lo stesso problema, dovrei specificare l'intervallo manualmente.C'è un modo per automatizzarlo o qualche altra alternativa?

C'è qualche magia xslt che posso fare o qualcosa del genere?

Grazie per l'aiuto!

È stato utile?

Soluzione

Si potrebbe fare questo in Yahoo Pipes :

  1. Scarica il feed iCal dal calendario di Google. (Come altri hanno commentato, l'Atom che il calendario di Google fornisce non sembrano contenere la data dell'evento in un formato adeguatamente strutturato.)
  2. Filtrare il feed basato su valori / DTEND DTSTART. È possibile utilizzare il Data modulo Builder per ottenere la data corrente, basta inserire "oggi", come la data.

esempio tubo (mostra solo gli eventi partire entro il prossimo 24 ore):

iCal prossimo 24 h

Altri suggerimenti

questo è dato dal campione di gdata

private static void dateRangeQuery(CalendarService service,
  DateTime startTime, DateTime endTime) throws ServiceException,
  IOException {
CalendarQuery myQuery = new CalendarQuery(eventFeedUrl);
myQuery.setMinimumStartTime(startTime);
myQuery.setMaximumStartTime(endTime);

// Send the request and receive the response:
CalendarEventFeed resultFeed = service.query(myQuery,
    CalendarEventFeed.class);

System.out.println("Events from " + startTime.toString() + " to "
    + endTime.toString() + ":");
System.out.println();
for (int i = 0; i < resultFeed.getEntries().size(); i++) {
  CalendarEventEntry entry = resultFeed.getEntries().get(i);
  System.out.println("\t" + entry.getTitle().getPlainText());
}
System.out.println();

}

in cui penso che puoi semplicemente impostare minitime e maxtime sullo stesso giorno?

Quello che fate è impostare i parametri URL per il feed Atom - start-min per oggi e start-max per domani - anche, si noti è necessario essere autenticati in modo che questo funzioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top