evento do calendário de exclusão usando importação de arquivo iCalendar (Outlook problema 2003)?
Pergunta
Existe uma maneira para eu excluir itens de calendário usando iCalendar importação?
Eu sei que há um método: CANCELAR, no entanto, quando eu tentei, ele não fez nada para o evento do calendário
.Aqui está o que está no meu arquivo iCalendar. Quando tento importá-lo para o Outlook, ele só acrescenta esses eventos.
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//DDay.iCal//NONSGML ddaysoftware.com//EN
METHOD:CANCEL
BEGIN:VEVENT
CREATED:20081210T155315Z
DESCRIPTION:
DTEND:20081213T093000
DTSTAMP:20081210T155315Z
DTSTART:20081213T093000
LOCATION:
ORGANIZER:MAILTO:user@domain.com
SEQUENCE:1
SUMMARY:From FCS 13th
UID:20367b86-2123-4930-87ef-5c2a6626bd9f
BEGIN:VALARM
ACTION:DISPLAY
SUMMARY: Event 13th
TRIGGER:-PT30M
END:VALARM
END:VEVENT
BEGIN:VEVENT
CREATED:20081210T155315Z
DESCRIPTION:
DTEND:20081211T093000
DTSTAMP:20081210T155315Z
DTSTART:20081211T093000
LOCATION:7 West
ORGANIZER:MAILTO:user@domain.com
SEQUENCE:1
SUMMARY:Event 11th
UID:f212ab15-86c3-46c8-8592-af0716a40ea2
BEGIN:VALARM
ACTION:DISPLAY
SUMMARY:Event on 11th
TRIGGER:-PT30M
END:VALARM
END:VEVENT
END:VCALENDAR
Solução
I esqueceu de acrescentar STATUS:CANCELLED
Agora, isso deve cancelar itens de acordo com http://en.wikipedia.org /wiki/ICalendar#Events_.28VEVENT.29
Isso funciona no Google Calendar, mas não no Outlook 2003. Outlook ainda cria entradas duplicadas.
Aqui são modificados "Cancelar" eventos com 'STATUS: CANCELADO'. (Ortografia britânica com dois L's)
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//DDay.iCal//NONSGML ddaysoftware.com//EN
X-WR-RELCALID:928C8448-048A-4aa2-BE27-A920773AF3DC
METHOD:CANCEL
BEGIN:VEVENT
CREATED:20081210T210344Z
DESCRIPTION:
DTEND:20081213T093000
DTSTAMP:20081210T210344Z
DTSTART:20081213T093000
LOCATION:
ORGANIZER:MAILTO:user@domain.com
SEQUENCE:1
STATUS:CANCELLED
SUMMARY:Event to export 1
UID:20367b86-2123-4930-87ef-5c2a6626bd9f
BEGIN:VALARM
ACTION:DISPLAY
SUMMARY:Event to export 1
TRIGGER:-PT30M
END:VALARM
END:VEVENT
BEGIN:VEVENT
CREATED:20081210T210344Z
DESCRIPTION:
DTEND:20081211T093000
DTSTAMP:20081210T210344Z
DTSTART:20081211T093000
LOCATION:7 West
ORGANIZER:MAILTO:user@domain.com
SEQUENCE:1
STATUS:CANCELLED
SUMMARY:Event to export 2
UID:f212ab15-86c3-46c8-8592-af0716a40ea2
BEGIN:VALARM
ACTION:DISPLAY
SUMMARY:Event to export 2
TRIGGER:-PT30M
END:VALARM
END:VEVENT
END:VCALENDAR
Outras dicas
Eu estava lutando com isso por um tempo.
Como alguns outros já mencionados você deve incluir o:
MÉTODO: CANCELAR
e
STATUS: CANCELADO
linhas do VEVENT. O UID deve ser o mesmo que o evento original ea seqüência: número deve ser o número de seqüência atual! (Você não precisa adicionar 1 a partir do último número de seqüência como cancelar o evento não conta como uma atualização).
Eu estava tendo problemas como eu assumi que o cancelamento contado como uma atualização e, portanto, foi incrementando o meu número de seqüência, mas você não tem que!
Essa resposta é para iCal URL não alimenta para importar um arquivo iCal!
Eu olhei para isso por um bom tempo e uma vez que a resposta dada na verdade não resolver o problema para o Outlook eu pensei que eu ia postar o que eu encontrei para trabalhar para Outlook, iCal e Google Calendar.
Você simplesmente não enviar o evento, se o evento não é apenas outright na alimentação mais, em seguida, Outlook, Google Calendar e iCal (do meu teste) tudo apenas remover o evento como se nunca tivesse existido. Portanto, se o evento foi cancelado apenas fingir que nunca existiu e quando os calendários locais sincronizar eles vão mostrar os eventos que são explicitamente dadas a eles na alimentação.
I ser necessário definir WR-RELCALID X- tag, de acordo com esta http://www.oesf.org/forum/index.php?act=Print&client=printer&f=63&t=2650
Ele afirma: "Antes de sincronizar pela primeira vez, você deve adicionar uma tag-X-WR RELCALID para o arquivo mycalendar.ics, ou então iCal irá alterar o número UID de todas as entradas, causando duplicatas."
No entanto não consigo encontrar qualquer documentação sobre RELCALID tag no protocolo http: //tools.ietf. org / html / rfc2446
Quando eu definir X-WR-RELCALID, Outlook ainda cria eventos duplicados em vez de remover esses eventos.
Existe alguma documentação sobre X-WR-RELCALID? Eu não posso encontrá-lo.
Não sei se isso ajuda, tente definir SEQUÊNCIA: 2
Para mim funcionou, definindo a tag X-WR-RELCALID
no cabeçalho do arquivo ICS. Em seguida, Outlook reconheceu o evento como o mesmo.
Este pode ser um negócio dolorosa e imprevisível, e é provável dependente versão do Outlook. Eu tenho cancelamentos de eventos que trabalham com Outlook 2010 (v14). Eu envio o meu icalendario como uma mensagem-parte individual, tipo de texto / calendário, como discutido em esta discussão . Como mencionada em outras respostas, eu tenho método = CANCELAR no tipo MIME, e novamente no iCalendar.
O passo crítico para mim foi adicionar dtstart para o evento. Sem esse campo, a mensagem não é apresentado como um cancelamento, não há nada no painel de visualização, eo calendário é apresentado como um anexo com o nome do arquivo "message.ics calendário não suportados". Mas você pode colocar qualquer data que você gosta no campo! DTEND não é importante. SEQUÊNCIA pode ser a mesma ou maior. DTSTAMP não é importante, mas se presente, deve ser após a DTSTAMP enviado com o convite inicial, caso contrário, o texto "não ativo" aparece em vez do botão "delete de calendário".
Este é um trabalho mínimo de cancelamento ...
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//www.notilus.com//Dimo Gestion Notilus//FR
CALSCALE:GREGORIAN
METHOD:CANCEL
BEGIN:VEVENT
DTSTART:20140625T123000Z
SEQUENCE:1
STATUS:CANCELLED
UID:Kerry
END:VEVENT
END:VCALENDAR
Outlook cria um evento duplicado se você alterar a propriedade UID. Você tem que criar um outro evento com o mesmo UID.
Você deve fazer estes passos para eliminar o evento do calendário
- UID deve ser o mesmo
- Adicionar MÉTODO: CANCELAR
- Adicione STATUS: CANCELADO
- sequência deve ser maior do que o evento criado