ICalendarとイベントの更新がOutlookで機能しない

icalendar language-agnostic rfc2445 rfc5545

ICalendar(.ics)ファイルを生成しています。

UIDフィールドとSEQUENCEフィールドを使用して、GoogleカレンダーとWindowsカレンダーの既存のイベントを更新できます* MS Outlook 2007の* BUT NOT * – それはちょうど2番目のイベントを作成します

Outlookでそれらを機能させるにはどうすればよいですか。

ありがとう

トム

  23  15


ベストアンサー

私はいくつかのテストを続けていて、Outlookが.csファイルに基づいてイベントを更新したりキャンセルしたりできるようにしました。

Outlookは、実際にはhttp://tools.ietf.org/html/rfc2446#page-19 [RFC 2446]で定義されている規則に対応しているようです。

まとめると、指定する必要があります

METHOD:REQUEST`と ORGANIZER:xxxxxxxx`

UID`と SEQUENCE: `に加えて

キャンセルするには `METHOD:CANCEL`を指定しなければなりません

要求/更新の例

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//SYFADIS//PORTAIL FORMATION//FR
METHOD:REQUEST
BEGIN:VEVENT
UID:[email protected]
SEQUENCE:5
DTSTAMP:20081106T154911Z
ORGANIZER:[email protected]
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:[email protected]
SEQUENCE:7
DTSTAMP:20081106T154916Z
ORGANIZER:[email protected]
DTSTART:20081113T164907
SUMMARY:TestTraining
STATUS:CANCELLED
END:VEVENT
END:VCALENDAR

22


私はその質問者のTom Carterを手に入れた。 彼は要求とそれに続くキャンセルの実例を持っていました。 私が間違っていたのは、自分のMETHODが外部にあるべきときに自分のVEVENTの内部にあったことです。 だからここで作業中のアップデートです!

元の:

BEGIN:VCALENDAR VERSION:2.0 PRODID: -  // WA // FRWEB // ENメソッド:REQUEST BEGIN:VEVENT UID:FRICAL201シーケンス:0 DTSTAMP:20081108T151809Z ORGANIZER:[email protected] DTSTART:20081109T1212002008要約: 12:12:00 JFK空港からのトリップ(JFK)所在地:JFK空港(JFK)エンド:VEVENTエンド:VCALENDAR

更新:

BEGIN:VCALENDAR VERSION:2.0 PRODID: -  // WA // FRWEB // ENメソッド:REQUEST BEGIN:VEVENT UID:FRICAL201シーケンス:1 DTSTAMP:20081108T161809Z ORGANIZER:[email protected] DTSTART:20081109T1213002008要約: 12:13:00 PM JFK空港からのトリップ(JFK)所在地:JFK空港(JFK)終了:都会の終わり:ヴァレンダー

私がしたのはリクエストメソッド(正しい場所に!)とオーガナイザーを追加することだけでした。

8


私はOutlook 2003を使用しています(投稿を読むと、2007は同じように動作するようです)。ICSファイルを明示的にインポートする動作と、ICSファイルをダブルクリックしたときの暗黙的インポートを明確に区別する必要があります。 ‘。

Outlookメニューのファイル/インポート/エクスポート…​ Outlookはファイル内にあるのと同じくらい多くのVEVENTエントリをロードし、変更するUID:、SEQUENCE:、またはDTSTAMP:値はこれを変更しません。つまり、データを変更して再インポートすると、エントリのセットが重複します。

icsファイルをダブルクリックすると、最初のVEVENTエントリのみが処理されます。 しかし、それはUIDを認識します、そして、DTSTAMP:がより遅いならば(SEQUENCEは同じであるがより低くてはいけません)あなたはプロンプトを出されそしてそれはあなたのカレンダーのイベントを更新するでしょう。

BEGIN:VCALENDAR VERSION:2.0 PRODID:www.membership-services.net方法:REVEST BEGIN:VEVENT DTSTART:20090126T210000 DTEND:20090126T220000概要:エイボンデール - テムサイドアウェイゲームvsクロイドンロケーション:Whitgift School説明:http://maps.google。 co.uk/maps?f=q

3


これをあなたのICSファイルに追加してください

X-WR-RELCALID:MyCal123

MyCal123はカレンダーの一意の識別子です。

この行をICSファイルに追加すると、カレンダー全体が更新されます(Outlookのプロンプトの後)。 DTSTAMPやSEQUENCE、ORGANIZERやMETHODを変更する必要さえありません。PUBLISHで更新するのは問題ありません。 イベントの詳細を更新し、ICSをダブルクリックするとカレンダーが更新されます。 カレンダーを公開し、それを表示するためのURLをユーザーに提供している場合も、これはうまく機能します。 彼らはちょうど約2分後に更新をヒットする必要があり、彼らはまた更新を取得します。

この点について指摘してくれたDavidBjørnhartに感謝します。 ICal importで新しいカレンダーが作成されますファイル]

2


Entourageを使用しているので、これが実際の動作と完全には一致しない可能性がありますが、役立つことを願っています。

返信からのiCalendarを使用して、Entourageはデータをインポートさえしませんでした。 問題のないファイルを使用して、インポートしてから正常に更新しました。 2つのファイルを比較すると、構造上の唯一の違いは次のとおりです。

  • 私の知られている善は `VERSION`要素を持っていません

  • 私の知られている品物には `PRODID`要素がありません

  • 私の知人は `STATUS`要素を持っていません

  • 私の知られている品物には `SEQUENCE`要素がありません

Microsoftによるオープンスタンダードのサポートは遅れがちなので、私は `VERSION`の情報を使わずに試すことをお勧めします。

0


タイトルとURLをコピーしました