snbhsmt_log

ネットワークとコンピュータ、その他いろいろ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

iCalendar のアラームの指定

iCalendar の予定データを出力する Ruby のスクリプトに、 アラームの設定を追加して Google カレンダにインポートしてみた。

Google カレンダでは、メールの送信先は必ず Google アカウントに登録してある メールアドレスになるみたい。そして、画面表示やメールのメッセージの方も event で指定した summary と description になるらしい。

ical-sample-03.rb
#!/usr/bin/ruby
# vi: ts=2

# iCalendar のアラーム指定付きイベントデータを 1 件作成

$KCODE = 'u'
require 'rubygems'
require 'icalendar'
require 'date'
require 'kconv'

cal = Icalendar::Calendar.new

# タイムゾーン (VTIMEZONE) を作成
cal.timezone do
  tzid 'Asia/Tokyo'
  standard do
    tzoffsetfrom '+0900'
    tzoffsetto   '+0900'
    dtstart      '19700101T000000'
    tzname       'JST'
  end
end

# 予定 (VEVENT) を作成
cal.event do
  # 日時
  dtstart     DateTime.new(2009, 8, 23, 16,  0)
  dtend       DateTime.new(2009, 8, 23, 17,  0)

  summary     "SAWAXimmi In Store Live".toutf8
  description "HMV渋谷3F イベントスペース".toutf8
  #klass       "PRIVATE"

  # アラーム (VALARM) を作成 (複数作成可能)
  #alarm do
  #  action      "DISPLAY"  # 表示で知らせる
  #  trigger     "-PT1H"    # -PT5M=5分前に, -PT3H=3時間前, -P1D=1日前
  #  #description "もうすぐだよ。".toutf8  # Googleカレンダでは無視される
  #end

  alarm do
    action      "EMAIL"   # メールで知らせる
    trigger     "-P1D"    # 1日前に
    #add_attendee "MAILTO:user@example.com"   # Googleカレンダでは無視
    #summary     "明日のインストア".toutf8    # Googleカレンダでは無視
    #description "16:00~ HMV渋谷".toutf8     # Googleカレンダでは無視
  end

  #alarm do
  #  action      "AUDIO"  # 音で知らせる (Googleカレンダでは未サポート)
  #  trigger     "-PT5M"  # 5分前に
  #  repeat      2        # 2回繰り返す
  #  duration    "PT2M"   # 2分間隔で
  #end
end

puts cal.to_ical

出力内容。これを Google カレンダにインポート。
BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
PRODID:iCalendar-Ruby
BEGIN:VTIMEZONE
TZID:Asia/Tokyo
BEGIN:STANDARD
TZOFFSETTO:+0900
TZOFFSETFROM:+0900
DTSTART:19700101T000000
TZNAME:JST
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
SEQUENCE:0
DTEND;TZID=Asia/Tokyo:20090823T170000
UID:2009-08-20T21:21:44+0900_749506609@localhost.localdomain
DESCRIPTION:HMV渋谷3F イベントスペース
SUMMARY:SAWAXimmi In Store Live
DTSTART;TZID=Asia/Tokyo:20090823T160000
DTSTAMP:20090820T212144
BEGIN:VALARM
ACTION:EMAIL
TRIGGER:-P1D
END:VALARM
END:VEVENT
END:VCALENDAR
スポンサーサイト

« iCalendar の繰り返し予定を作成|Top|Ruby で iCalendar の予定データを作成する »

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://snbhsmt.blog110.fc2.com/tb.php/116-62950601

Top

HOME

snbhsmt

Author:snbhsmt
Google Profiles

http://www.ksky.ne.jp/~snbhsmt/

全ての記事を表示する

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。