Pergunta

Este é o meu primeiro post aqui no Stackoverflow. Minha pergunta é como alterar o feed do Google Calendar para que ele mostre apenas eventos para o dia atual automaticamente?

Basicamente, o que eu quero fazer é produzir o feed para uma página da web que mostra apenas eventos para hoje. O feed mudaria dia a dia. Eu já fiz algo semelhante com outros feeds (não no Google Calendar) antes, exceto nesses casos, eu estaria emitindo os mais recentes "#" das postagens. Isso não funcionaria se eu mostrasse apenas eventos para hoje.

Eu procurei no Yahoo Pipes e encontrei alguns onde ele filtra o feed com uma data em que você precisa inserir. Isso funciona, exceto que eu quero poder torná -lo automático em vez de ter alguém inserindo a data. Lendo a API do feed do Google Calendar, também há um intervalo de data que posso fazer, mas é o mesmo problema, eu teria que especificar o intervalo manualmente. Existe alguma maneira de automatizar isso ou alguma outra alternativa?

Existe alguma mágica XSLT que eu possa fazer ou algo assim?

Obrigado pela ajuda!

Foi útil?

Solução

Você poderia fazer isso em Pipes do Yahoo:

  1. Pegue o feed iCal do seu calendário do Google. (Como outros comentaram, os Atom Feeds que o Google Calendário fornece não parecem conter a data do evento em um formato razoavelmente estruturado.)
  2. Filtre o feed com base nos valores DTSTART/DTEND. Você pode usar o Builder de data Módulo Para obter a data atual, basta entrar "hoje" como a data.

Um Exemplo de tubo (mostra apenas eventos começando nas próximas 24 horas):

iCal next 24 h

Outras dicas

Isso é dado pela amostra de 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();

}

em que acho que você pode simplesmente definir o minitime e o MaxTime para o mesmo dia?

O que você faz é definir os parâmetros da URL para o feed do Atom-Start-min como hoje e começar a max para amanhã-também, observe que você precisará ser autenticado para que isso funcione.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top