2017-06-12 11 views
0

イベントスケジュールをics/iCalファイルに変換するのにLibraryを使用しています。私は2つのイベントを追加しました。Googleカレンダー.icsファイルからイベントを正しくインポートしていません

BEGIN:VCALENDAR 
VERSION:2.0 
BEGIN:VEVENT 
UID:icsGen-whatThe 
CLASS:PUBLIC 
DESCRIPTION:This is a thirty minut event 
DTSTART;VALUE=DATE:20171206T173030 
DTEND;VALUE=DATE:20170612T180000 
LOCATION:Nome, AK 
SUMMARY;LANGUAGE=en-us:Demo Event 
TRANSP:TRANSPARENT 
END:VEVENT 
BEGIN:VEVENT 
UID:icsGen-whatthehell 
CLASS:PUBLIC 
DESCRIPTION:This is a thirty minut event 
DTSTART;VALUE=DATE:20171206T183030 
DTEND;VALUE=DATE:20170612T193030 
LOCATION:Atlanta, AK 
SUMMARY;LANGUAGE=en-us:Dummy Event 
TRANSP:TRANSPARENT 
END:VEVENT 
END:VCALENDAR 

さて、イベントが正常にインポートされているが、問題は、彼らが一日中イベントとしてインポートされていることである - :生成されたファイルは次のようです。彼らはファイルに記載されている実際のタイミングに従いません。

また、このファイルをオンラインバリデーターに渡して、DTSTAMPが定義されていないというエラーがスローされました。だから私はそのフィールドをファイルに追加しましたが、結果は同じでした。私は何が起こっているのか分からない。私を助けてください。ありがとう

答えて

1

あなたはVALUE = DATEを使用していますが、VALUE = DATETIMEを使用してみてください。

また、タイムゾーンを使用しておらず、「Z」もありません。あなたの日付がUTC時刻である場合は、Zを追加します。そうでない場合は、olsonデータベースから受け入れ可能なtzcodeを使用してタイムゾーンを追加します。これは、あなたが正しい時間を過ごしたかどうかに影響する可能性が最も高いでしょう。

問題が発生したときにRFC5545仕様を参照すると、役立つ場合があります。 Googleは多くの無効なicsファイルを徹底的に拒否していましたが、今では何とかそれらを理解しようとしています。バリデーターはすべてをトラップしません。

+0

説明的な答えをありがとう:) –

1

related threadを参照してください。

ファイルとしてインポートしないURLでこのカレンダーを追加している可能性があります。おそらくタイムゾーンがデータ内で正しく定義されていないため、イベント時間がフローティングとして扱われ、GCalで許可されていないUTC(夏時間なし)の新しいカレンダーのデフォルトタイムゾーンにバインドされますカレンダーのタイムゾーンを指定してURLで新しいタイムゾーンを追加します。

タイムゾーンを使用してアカウントに新しいセカンダリカレンダーを作成し、そのカレンダーに[設定]> [カレンダー]> [カレンダーのインポート]のURLをインポートすると、時刻が目的のカレンダーのタイムゾーンにバインドされます。

関連する問題