34

すべて期待どおりに機能するiCalサブスクリプションカレンダーを作成しています。ただし、カレンダーのクライアントに提案するデフォルト名、説明、更新頻度など、一見基本的なことを指定できないようです。

この仕様のリビジョンを見つけました: https://datatracker.ietf.org/doc/html/draft-daboo-icalendar-extensions-06

必要なフィールドを単純に渡すことができることを示唆しています。これを行うと、ics ファイルの先頭は次のようになります。

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//My Company//NONSGML Event Calendar//EN
URL:http://my.calendar/url
NAME:My Calendar Name
DESCRIPTION:A description of my calendar
TIMEZONE-ID:Europe/London
REFRESH-INTERVAL;VALUE=DURATION:P1D
COLOR:34:50:105
CALSCALE:GREGORIAN
METHOD:PUBLISH

私が試したデバイス/アプリはカレンダーを拒否しませんが、それらはすべてプロパティを無視していることがわかります。Outlook 2010、iOS 6 の iPhone、および Google カレンダーを使用しました。Outlook は、ファイル内のある種の更新間隔を尊重すると主張していますが、カレンダーを購読すると、指定されていないと表示されます。

問題は、これらのプロパティがサポートされているか、クライアントごとに別のものとして指定する必要があるか、それとも単純に運が悪いだけかということです。

4

3 に答える 3

49

答えは目に見えないところに隠れていたことがわかりました。上記のプロパティは現時点ではドラフト案であり、私が試したものではサポートされていません. 将来のためにそれらをカレンダーに含めることはおそらく良い賭けですが、今も機能させるには、次のようにします。

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//My Company//NONSGML Event Calendar//EN
URL:http://my.calendar/url
NAME:My Calendar Name
X-WR-CALNAME:My Calendar Name
DESCRIPTION:A description of my calendar
X-WR-CALDESC:A description of my calendar
TIMEZONE-ID:Europe/London
X-WR-TIMEZONE:Europe/London
REFRESH-INTERVAL;VALUE=DURATION:PT12H
X-PUBLISHED-TTL:PT12H
COLOR:34:50:105
CALSCALE:GREGORIAN
METHOD:PUBLISH

現時点での実際の動作プロパティは次のとおりです。

X-WR-CALNAME
X-WR-CALDESC
X-WR-TIMEZONE
X-PUBLISHED-TTL
于 2013-06-19T09:12:16.650 に答える
12

バージョン 2.3.0の rails gem 'iCalendar'を使用している場合。以下は、カレンダー名などのカスタム プロパティを設定するソリューションです。

calendar = Icalendar::Calendar.new 
calendar.append_custom_property("X-WR-CALNAME","My Calendar")
于 2016-06-01T13:13:18.523 に答える
3

icalendarRuby gemの別のオプション:

calendar = Icalendar::Calendar.new
calendar.x_wr_calname = 'Calendar Name'
于 2017-06-09T05:13:57.860 に答える