25

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

UID フィールドと SEQUENCE フィールドを使用すると、Google カレンダーと Windows カレンダーの既存のイベントを更新できますが、MS Outlook 2007では更新できません。2 つ目のイベントが作成されるだけです。

それらを Outlook で動作させるにはどうすればよいですか?

ありがとう

トム

4

5 に答える 5

26

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

Outlookは実際、RFC2446で定義されているルールに対応しているようです。

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

METHOD:REQUESTORGANIZER: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
于 2008-09-05T14:52:00.670 に答える
8

質問者のトム・カーターを捕まえた。彼は、リクエストの後にキャンセルが続く実際の例を持っていました。私が間違っていたのは、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

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

于 2008-11-11T05:06:37.497 に答える
2

これをICSファイルに追加します

X-WR-RELCALID:MyCal123   

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

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

これを指摘してくれた David Bjørnhart に感謝します: ICalインポートは、ics ファイルを開いたときに新しいカレンダーを作成します

于 2016-06-21T23:38:29.510 に答える
0

私は Entourage を使用しているので、これはあなたが見ている動作と正確に一致しないかもしれませんが、役に立てば幸いです.

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

  • VERSION私の既知の善には要素がありません
  • PRODID私の既知の善には要素がありません
  • STATUS私の既知の善には要素がありません
  • SEQUENCE私の既知の善には要素がありません

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

于 2008-09-05T12:48:10.063 に答える