メッセージを削除するようになりましたが、思ったとおりに更新することはできませんでした。
送信する会議を設定するには...
BEGIN:VCALENDAR VERSION:2.0メソッド:PUBLISH BEGIN:VEVENT CLASS:PUBLIC PRIORITY:5 SEQUENCE:0 UID:12345 Summary:test LOCATION:test DTSTART:20090709T230000Z DTEND:20090710T000000Z DTSTAMP:20090713T164634Z Description:test END:VEVENT END:VCALEND
削除するには、次のようにキャンセルするようにメソッドを変更するだけでメッセージを送信します。
BEGIN:VCALENDAR VERSION:2.0 METHOD:CANCEL BEGIN:VEVENT CLASS:PUBLIC PRIORITY:5 SEQUENCE:0 UID:12345 Summary:test LOCATION:test DTSTART:20090709T230000Z DTEND:20090710T000000Z DTSTAMP:20090713T164634Z Description:test END:VEVENT END:VCALEND
削除に関する元々の問題は、オーガナイザー行が空白になっていることです。それを削除してキャンセルしました。
最初の行のようにオリジナルの発行物を更新することに関しては、私たちはできませんでした。シーケンス番号をゼロから1に増やし、新しい会議を追加するだけです。テストでは12345と同じUID番号を使用しています。
これを行うために私が見つけた唯一の方法は、オーガナイザーを作成し、公開からリクエストタイプに変更することです。
rfc2445を読むと、これが設計されているように見えます。公開は常に新しいレコードを作成し、順序は重要ではありません。シーケンスが重要な場合は、オーガナイザーとリクエストメソッドを使用します。
ここでstackoverflowをテストして読んだ後、この回答も見つかりました:
ICalendarとイベントの更新がOutlookで機能しない
私はそれを以前に見ていませんでした....:)
サンプルは次のとおりです。
BEGIN:VCALENDAR VERSION:2.0 METHOD:REQUEST BEGIN:VEVENT CLASS:PUBLIC DTEND:20090713T203000Z DTSTAMP:20090713T174434Z DTSTART:20090713T200000Z ORGANIZER; CN = "No one special"; mailto:dontemailme@email.com PRIORITY:5 SEQUENCE:0 ?UID:1234567 END:VEVENT END:VCALENDAR
そしてそれを更新するには...
BEGIN:VCALENDAR VERSION:2.0 METHOD:REQUEST BEGIN:VEVENT CLASS:PUBLIC DTEND:20090713T213000Z DTSTAMP:20090713T174434Z DTSTART:20090713T210000Z ORGANIZER; CN = "No one special"; mailto:dontemailme@email.com優先度:5シーケンス:1 ?UID:1234567 END:VEVENT END:VCALENDAR
そしてそれをキャンセルするには...
BEGIN:VCALENDAR VERSION:2.0 METHOD:CANCEL BEGIN:VEVENT CLASS:PUBLIC DTEND:20090713T213000Z DTSTAMP:20090713T174434Z DTSTART:20090713T210000Z ORGANIZER; CN = "No one special"; mailto:dontemailme@email.com優先度:5シーケンス:1 ?UID:1234567 END:VEVENT END:VCALENDAR
キャンセルの場合、シーケンス番号は関係ありません。