Ruby Rical を使用して、基本的に、招待に参加 (受け入れ) していることを指定する元の icalendar への応答として icalendar を生成しています。
応答を正しく生成できますが、タイムゾーンに問題があります。基本的に、RiCal に正しいタイムゾーンを推測させると、元のファイルで指定された TimeZone 文字列に応じて正しく動作します。
これを例に挙げてみましょう:
問題なく Google カレンダーからこの招待状に返信できます:
BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20091226T210000Z
DTEND:20091226T220000Z
DTSTAMP:20091223T191926Z
ORGANIZER;CN=xxx xxx:mailto:x...@xxxx.com
UID:4kkcos0ovgf9cvo3su6hlql...@google.com
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE;CN=xxxx xxxx;X-NUM-GUESTS=0:mailto:x...@xxxx.com
CREATED:20091223T191925Z
DESCRIPTION:View your event at 4NmIxMmM1ZmJiODM4OTEx&ctz=America%2FLos_Angeles&hl=en.
LAST-MODIFIED:20091223T191925Z
LOCATION:800-292-2393 pin 1234
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:test google calendar attendance response
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
しかし、Ical (Mac Ical.app) 招待への応答を生成すると、エラーが発生します (読み込むファイルがありません -- tzinfo/definitions/US/Pacific)。
BEGIN:VCALENDAR
CALSCALE:GREGORIAN
VERSION:2.0
METHOD:REQUEST
PRODID:-//Apple Inc.//iCal 4.0.1//EN
BEGIN:VTIMEZONE
TZID:US/Pacific
BEGIN:DAYLIGHT
TZOFFSETFROM:-0800
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
DTSTART:20070311T020000
TZNAME:PDT
TZOFFSETTO:-0700
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0700
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
DTSTART:20071104T020000
TZNAME:PST
TZOFFSETTO:-0800
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
ATTENDEE;CN="x...@xxxx.com";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-ACTI
ON;RSVP=TRUE:mailto:x...@xxxx.com
DTEND;TZID=US/Pacific:20091231T091500
ご覧のとおり、TZID:US/Pacific は RiCal の無効なタイム ゾーン識別子であるため、これらのケースでは.. Rical を使用して元のタイム ゾーンを維持しながら、このタイプの Icalendar に答えるにはどうすればよいでしょうか?
質問がはっきりしない場合は、必要なことを何でも聞いてください。