2008-09-05 21 views
23

ICalendar(.ics)ファイルを生成しています。それだけで私は彼らが仕事を得るにはどうすればよい2つ目のイベントOutlookでICalendarとイベントの更新が機能しない

を作成します - 私はではなく MS Outlook 2007のは、GoogleカレンダーとWindowsカレンダー内の既存のイベントを更新することができUIDとSEQUENCEフィールドを使用して

Outlookのために?

おかげ

トム

+0

はそれが[検証]していますか?もしそうなら、あなたは例を投稿できますか? –

+1

[link](http://severinghaus.org/projects/icv/) - 有用なオンラインバリデータ – russellfeeed

答えて

20

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

:実際には

Outlookは、

METHOD:REQUESTUIDに加えてORGANIZER:xxxxxxxx

を指定する必要が要約するとRFC 2446

で定義されたルールに応答するようです取り消しを指定する必要があります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 
+0

私はまもなく同じ状況に遭遇するつもりです。これは私が推測する時間を節約した。 :-Dありがとう! – Tomalak

+1

出席者(VEVENTブロック内)、両方のイベントで同じことを指定しない限り、Apple iCalではこれが機能しないことがわかりました。*** ATTENDEE; CN = "John Doe"; PARTSTAT = ACCEPTED :mailt o:[email protected] ***それがなければ、iCalは何もしません。それを使って、イベントを横切り、それを削除するオプションを与えます。 –

0

私はEntourageでを使用していますので、これはまさにあなたが見ている行動と一致しない場合がありますが、私はそれが役に立てば幸い。

返信のiCalendarを使用すると、Entourageはデータをインポートすることさえできません。既知の良いファイルを使用して、インポートしてから正常に更新します。次のように2つのファイルを比較すると、唯一の構造的な違いは以下のとおりです。

  • マイマイ既知-良いVERSION要素
  • PRODID要素
  • マイknown-を持っていない既知の良いはありません

は、オープンスタンダードのためのMicrosoftのサポートは傾向があるのでSEQUENCE要素を持っていない

  • マイ既知-良いSTATUS要素を持っていない良いです私はVERSION情報なしで試してみることをお勧めします。

  • 8

    私はトム・カーター(Asker)を手に入れました。彼は要求のある実用的な事例を持ち、それに続いて取り消しをしました。私が間違っていたのは、外に出たはずのときに私の方法が私のVEVENTの中にあったということでした。ですから、ここには動作するアップデートがあります!

    オリジナル

    BEGIN:VCALENDAR 
    VERSION:2.0 
    PRODID:-//WA//FRWEB//EN 
    METHOD:REQUEST 
    BEGIN:VEVENT 
    UID:FRICAL201 
    SEQUENCE:0 
    DTSTAMP:20081108T151809Z 
    ORGANIZER:[email protected] 
    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:[email protected] 
    DTSTART:20081109T121300 
    SUMMARY:11/9/2008 12:13:00 PM TRIP FROM JFK AIRPORT (JFK) 
    LOCATION:JFK AIRPORT (JFK) 
    END:VEVENT 
    END:VCALENDAR 
    

    私がしたすべての要求メソッドを追加した、と主催者。

    +0

    オリジナルと更新は大きく異なりません。コピー/貼り付けエラー? – Tomalak

    +0

    DTSTART時間が異なります。キーはちょうどそれぞれのすべての正しい順序ですべてのものを持っている。彼らはほとんど同じように見える。 – Chris

    +1

    Googleカレンダーでもこれはうまくいきません! –

    3

    私はoutlook 2003を使用しています(記事を読むと、同じように動作するようです)、icsファイルの明示的なファイルインポートの動作とicsファイルの暗黙のインポートの動作をはっきりと区別する必要があります'ダブルクリック'されます。

    Outlookのメニューの[ファイル/インポートとエクスポート...] Outlookはファイル内にあるVEVENTエントリを読み込みますが、変更するUID:、SEQUENCE:またはDTSTAMP:値は変更されません。データを再インポートして、重複したエントリを取得するだけです。

    icsファイルをダブルクリックすると、最初のVEVENTエントリのみが処理されます。しかし、それはUIDを認識し、DTSTAMPが後である場合(SEQUENCEは同じではあるが下位ではない)、プロンプトが表示され、カレンダーのイベントが更新されます。

    BEGIN:VCALENDAR 
    VERSION:2.0 
    PRODID:www.membership-services.net 
    METHOD:REQUEST 
    BEGIN:VEVENT 
    DTSTART:20090126T210000 
    DTEND:20090126T220000 
    SUMMARY:Avondale - Thameside Away Game vs Croydon 
    LOCATION:Whitgift School 
    DESCRIPTION:http://maps.google.co.uk/maps?f=q&hl=en&geocode=&q=CR2+6YT 
    UID:AWPC_8 
    SEQUENCE:0 
    DTSTAMP:20090123T112600 
    END:VEVENT 
    BEGIN:VEVENT 
    DTSTART:20090202T213000 
    DTEND:20090202T223000 
    SUMMARY:Avondale - Thameside Home Game vs Orcas 
    LOCATION:Putney 
    DESCRIPTION:http://maps.google.co.uk/maps?f=q&source=s_q&hl=en&ie=UTF8&ll=51.4635,-0.2285&spn=0.005,0.009613&t=h&z=17&iwloc=lyrftr:w2t.90,0x48760f04a04b1801:0x49ebf12503a5d5a9,51.463459,-0.228674 
    UID:AWPC_10 
    SEQUENCE:0 
    DTSTAMP:20090123T112600 
    END:VEVENT 
    END:VCALENDAR 
    
    +0

    私は同じような動作を経験していますが、Outlook 2003(まだテストしていません)では、イベントを更新するための最小要件は次のとおりです。 b)METHODはREQUESTでなければなりません。(c)UIDは等しくなければなりません。(d)SEQUENCEが存在し、> =前のシーケンス番号です。(e)イベントをダブルクリックしてOutlookにインポートします。 –

    2

    あなたのICSファイルにMyCal123は、カレンダーの一意の識別子である
    X-WR-RELCALID:MyCal123 
    

    これを追加します。

    この行をICSファイルに追加すると、カレンダー全体が更新されます(Outlookのプロンプト後)。 DTSTAMPまたはSEQUENCEまたはORGANIZERとMETHODを変更する必要はありません。更新はPUBLISHで可能です。イベントの詳細を更新し、ICSをダブルクリックすればカレンダーが更新されます。カレンダーを公開し、人々が閲覧するためのURLを提供している場合は、これも正常に機能します。彼らはちょうど約2分後にリフレッシュする必要があり、彼らはまた更新を得るでしょう。このことを指摘してデビッドBjørnhartへ

    ありがとう:ICal import creates new calendar When Open the ics file

    関連する問題