ICalendar (.ics) ファイルを生成しています。
UID フィールドと SEQUENCE フィールドを使用すると、Google カレンダーと Windows カレンダーの既存のイベントを更新できますが、MS Outlook 2007では更新できません。2 つ目のイベントが作成されるだけです。
それらを Outlook で動作させるにはどうすればよいですか?
ありがとう
トム
ICalendar (.ics) ファイルを生成しています。
UID フィールドと SEQUENCE フィールドを使用すると、Google カレンダーと Windows カレンダーの既存のイベントを更新できますが、MS Outlook 2007では更新できません。2 つ目のイベントが作成されるだけです。
それらを Outlook で動作させるにはどうすればよいですか?
ありがとう
トム
私はいくつかのテストを続け、Outlookに.csファイルに基づいてイベントを更新およびキャンセルさせることができました。
Outlookは実際、RFC2446で定義されているルールに対応しているようです。
要約すると、指定する必要があります
METHOD:REQUEST
とORGANIZER:xxxxxxxx
に加えてUID
:とSEQUENCE:
キャンセルの場合は指定する必要がありますMETHOD:CANCEL
リクエスト/更新の例
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//SYFADIS//PORTAIL FORMATION//FR
METHOD:REQUEST
BEGIN:VEVENT
UID:TS_229377_MS_262145@syfadis.com
SEQUENCE:5
DTSTAMP:20081106T154911Z
ORGANIZER:catalog@syfadis.com
DTSTART:20081113T164907
DTEND:20081115T170000
SUMMARY:TestTraining
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR
キャンセル例;
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//SYFADIS//PORTAIL FORMATION//FR
METHOD:CANCEL
BEGIN:VEVENT
UID:TS_229377_MS_262145@syfadis.com
SEQUENCE:7
DTSTAMP:20081106T154916Z
ORGANIZER:catalog@syfadis.com
DTSTART:20081113T164907
SUMMARY:TestTraining
STATUS:CANCELLED
END:VEVENT
END:VCALENDAR
質問者のトム・カーターを捕まえた。彼は、リクエストの後にキャンセルが続く実際の例を持っていました。私が間違っていたのは、METHOD が VEVENT の外側にあるはずなのに、VEVENT の内側にあったことです。というわけで、ここにワーキングアップデートがあります!
オリジナル:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//WA//FRWEB//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:FRICAL201
SEQUENCE:0
DTSTAMP:20081108T151809Z
ORGANIZER:donotreply@test.com
DTSTART:20081109T121200
SUMMARY:11/9/2008 12:12:00 PM TRIP FROM JFK AIRPORT (JFK)
LOCATION:JFK AIRPORT (JFK)
END:VEVENT
END:VCALENDAR
アップデート:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//WA//FRWEB//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:FRICAL201
SEQUENCE:1
DTSTAMP:20081108T161809Z
ORGANIZER:donotreply@test.com
DTSTART:20081109T121300
SUMMARY:11/9/2008 12:13:00 PM TRIP FROM JFK AIRPORT (JFK)
LOCATION:JFK AIRPORT (JFK)
END:VEVENT
END:VCALENDAR
私がしたことは、リクエスト メソッド (正しい場所に!) とオーガナイザーを追加することだけでした。
これをICSファイルに追加します
X-WR-RELCALID:MyCal123
ここで、MyCal123 はカレンダーの一意の識別子です。
この行を ICS ファイルに追加すると、カレンダー全体が更新されます (Outlook でプロンプトが表示された後)。DTSTAMP または SEQUENCE または ORGANIZER を変更する必要さえありません。また、更新には METHOD:PUBLISH で問題ありません。イベントの詳細を更新し、ICS をダブルクリックすると、カレンダーが更新されます。これは、カレンダーを公開し、他のユーザーが閲覧できるように URL を提供している場合にも問題なく機能することに注意してください。約 2 分後に更新を押すだけで、更新も取得されます。
これを指摘してくれた David Bjørnhart に感謝します: ICalインポートは、ics ファイルを開いたときに新しいカレンダーを作成します
私は Entourage を使用しているので、これはあなたが見ている動作と正確に一致しないかもしれませんが、役に立てば幸いです.
返信の iCalendar を使用しても、Entourage はデータをインポートしません。既知の正常なファイルを使用してインポートし、正常に更新しました。2 つのファイルを比較すると、構造上の違いは次のとおりです。
VERSION
私の既知の善には要素がありませんPRODID
私の既知の善には要素がありませんSTATUS
私の既知の善には要素がありませんSEQUENCE
私の既知の善には要素がありませんMicrosoft のオープン スタンダードのサポートは遅れがちなので、VERSION
情報なしで試してみることをお勧めします。