|
|
| Sun ONE Calendar Server プログラマーズガイド |
第 7 章 WCAP コマンド
この章は、Sun ONE Calendar Server の各 WCAP コマンドに共通のトピックと、各 WCAP コマンドに関するトピックに分かれています。
共通のトピック
コマンド
WCAP コマンドでは、「コマンド 」の節で各コマンドに定義されているさまざまなパラメータを使用します。 特に指定がないかぎり、WCAP コマンドで使用するパラメータの最大長は 1024 文字です。 WCAP は入力長のチェックは行いませんが、パラメータの長さが 1024 文字を超えると、予想外の結果を招きます。
application/urlencoded 形式で指定されたイベントを格納する。イベントを格納する場合は、プロパティを URL で渡す 表 7-1 に、WCAP コマンドをアルファベット順に示します。
共通のトピック
この節では、1 つまたは複数のコマンドに適用される共通のトピックについて説明します。トピックは、アルファベット順に並んでいます。
アクセス制御エントリ
アクセス制御エントリ (ACE 文字列) を使用して、カレンダーのアクセス制御を指定します。1 つのカレンダーに、複数の ACE 文字列が適用される場合があります。カレンダーに適用されるすべての ACE 文字列は、まとめてアクセス制御リスト (ACL) と呼ばれます。ACL リストが検索されると、アクセスを許可するか拒否するかに関係なく、最初に検出された ACE が使用されます。このため、ACL の順序は重要な意味を持っています。ACE 文字列は、一般的なものより前に、限定的なものが表示されるように並べる必要があります。
いくつかのアクセスは、すでに組み込まれています。たとえば、1 次所有者は所有するカレンダーの項目すべてにアクセスできます。1 次所有者が自分の所有するカレンダーにアクセスする時、システムのアクセス制御チェックは実行されません。
set_calprops コマンドは、ACE 文字列をカレンダーに容易に保存するために、acl パラメータを使用します。 aclパラメータは、ACE 文字列をセミコロンで区切ったリストです。 デフォルトの acl を ics.conf ファイルに設定するには、
calstore.calendar.default.acl の設定を変更するか、cscal コマンドラインユーティリティを使用します。 構成の設定に関する詳細は、『Sun ONE Calendar Server 管理者ガイド』を参照してください。
ユーザインタフェースには制限があるため、ACE 文字列を追加できるのは 1 つのカレンダーにつき 75 ユーザまでです。
この文字列は、3 つの「^」文字で区切られた4 つの要素で構成されます。4 つの要素は、それぞれ次の内容を示します。
ACE の要約
ACE の最初の要素は、ACE が適用されるユーザを示す
ユーザ ID で指定された個々のユーザ、ドメイン、またはユーザのクラスタイプを指定できます。ユーザのクラスには、次の4 つのタイプがあります。
ACE の2 番目の要素は、ACE が適用される対象を示す
ACE はカレンダーの次の範囲に適用できます。
カレンダー全体
コンポーネントとカレンダーの両方のプロパティ。 カレンダー全体を示すには、a の値を渡します。
カレンダーのコンポーネントのみ
カレンダーコンポーネント (イベントまたは todo) に適用。 コンポーネントだけを示すには、c の値を渡します。
カレンダーのカレンダープロパティのみ
カレンダープロパティ (表示名、所有者リスト) に適用。 カレンダーのプロパティだけを示すには、p の値を渡します。
ACE の 3 番目の要素は、ACE が適用されるアクセス値を示す
複数の値を同時に指定できます。複数の値を指定するには、チェックするビットを示す文字列を、呼び出し元から渡す必要があります。
表 7-2 は ACE 文字列に使用される、アクセス制御文字列の一覧です。3 番目の要素は、1 つまたは複数のアクセス制御文字を含む文字列で構成されます。
たとえば、読み取りアクセスを許可するには、 r の値を渡します。 書き込みおよび削除アクセスを許可するには、 wd の値を渡します。
ACE の4 番目の要素は、アクセスの許可または拒否を示す
この ACE では、アクセスを許可または拒否できます。
ACE の順序をわかりやすく示すと、次のようになります。
応用例
who = 文字列、タイプ (str)
how = 表 7-2 で説明した 1 つまたは複数のアクセス制御文字で構成されるアクセス文字列
jdoe のカレンダーで ACE を acl のパラメータに設定するいくつかの例を次に示します。
john にコンポーネントおよびカレンダーのプロパティの読み取りアクセスを許可し (acl=john a r g)、susan にコンポーネントだけの読み取りおよび削除アクセスを許可する (acl=susan c wd g) 場合、コマンド全体は次のようになります。
set_calprops.wcap?id=${SESSIONID}&calid=jdoe&acl=john^a^r^g; susan^c^wd^g
ドメインのすべてのユーザにカレンダースケジュール、空き時間の表示、および読み取りアクセスを許可し (@domainname a sfr g)、所有者にコンポーネントだけの書き込みおよび削除アクセスを許可し (@@o c wd g)、さらに所有者にコンポーネントおよびカレンダーのプロパティの自己管理、 todo (仕事)、空き時間の表示、および読み取りアクセスを許可し (@@o a zsfr g)、susan にコンポーネントおよびカレンダーのプロパティへのアクセスをすべて拒否し (susan a zsfdwr d)、またすべてのユーザに読み取りアクセスを許可する (@ c r g) 場合、コマンド全体は以下のようになります。
ユーザインタフェースの操作の ACL へのマッピング
表 7-3 に、目的のユーザインタフェースの操作に必要な、すべての ACL の一覧を示します。
アプリケーション ID (appid パラメータ)
以下の WCAP コマンドは appid パラメータを使用します。
deletecomponents_by_range - (ENS の通知はまだ実装されていない)
deleteevents_by_range - (ENS の通知はまだ実装されていない) この WCAP コマンドパラメータを使用して、ENS が通知と共に返す X-Token の値を設定します。
該当する WCAP コマンドにこのパラメータを付けて渡すアプリケーションは、X-Token X-NSCP-COMPONENT-SOURCE の値をチェックして、発信した ENS 通知を検出します。 この X-Token は、WCAP コマンドではなく、ENS 通知からのみ返されます。
このパラメータは実行時パラメータです。 データベースには何も格納されません。
appid が存在する場合、イベント通知サービス (ENS) が appid の値を X-Token X-NSCP-COMPONENT-SOURCE の値として返します。 appid パラメータがない場合、ENS は標準の値を X-Token (WCAP、CALENDAR EXPRESS、ADMIN) に割り当てます (ADMIN はまだ実装されていません)。
表 7-4 に、appid パラメータの存在が X-Token X-NSCP-COMPONENT-SOURCE の値に与える影響を示します。 ENS の詳細については、『Sun ONE Messaging and Collaboration イベント通知サービスマニュアル』を参照してください。
表 7-4    appid の存在、および X-Token X-NSCP-COMPONENT-SOURCE の値
appid が存在するかどうか
要求元の X-Token X-NSCP-COMPONENT-SOURCE の値
WCAP (デフォルト)
CALENDAR EXPRESS (UI から)
ADMIN (管理ツールから) - まだ実装されていない
注 Sun ONE Calendar Server 5.1.1 では、ENS 通知は前述のとおり一部のコマンドに対してのみ返されます。 その他のコマンドについては、後続のリリースで実現される予定です。
異なる言語または文字セットの選択
システムのデフォルト以外の言語でデータが返されるように要求を入力するには、lang または charset パラメータを設定します。システムのデフォルトの言語は、ics.conf ファイルで設定したサーバ設定です。 詳細については 『Sun ONE Calendar Server 管理者ガイド』 を参照してください。 login コマンドは、lang パラメータだけを使用します。
set_calprops コマンドでは、ほとんどの場合 lang パラメータの指定だけで十分です。 ただし、場合によっては charset パラメータを lang パラメータの代わりに使用する必要があります。 たとえば、要求したデータが指定した文字セットで返されるようにするには、charset パラメータを使用して指定します。 使用可能な charset の値の 1 つは、 iso-8859-1です。 フォーマット指定の詳細については、この章の「時刻、文字列、パラメータなどの形式」に記述されている RFC を参照してください。
iCalendar またはXML 形式のデータを要求した場合は、RFC 仕様に従って常にUTF-8形式でデータが返されます。 これは charset を設定しても変わりません。
注 これらの言語が現在すべてサーバでサポートされていることを意味するわけではありません。サーバが現在サポートしている言語については、Sun ONE の購入先に問い合わせてください。
繰り返しコンポーネントの削除または変更
コンポーネントを削除または変更する場合、繰り返しかどうかを指定することができます (必ず指定が必要な場合もあります)。また、繰り返しである場合、オリジナルのイベントまたは todo (仕事) だけではなく、繰り返しを削除するかどうかも指定できます。
mod パラメータを使用して、以下のオプションを選択します。
いずれのオプションも、ユーザは d パラメータを渡してイベントの繰り返し ID、および実行する削除または変更のタイプを指定する必要があります。
削除は deleteevents および deletetodos シリーズのコマンドで行い、変更は storeevents および storetodos コマンドを使用して行います。 deleteevents_by_id の使用例
イベントのインスタンスを 1 つだけ削除するには、mod パラメータを 1 に設定します。たとえば、次の URL は、2002 年 3 月 1 日の午前 11 時 22 分 33 秒 (グリニッジ標準時) に発生するイベントのみを削除します。
http://webcalendarserver/deleteevents_by_id.wcap?id=23423423434abc& calid=jdoe&uid=001&rid=20020301T112233Z&mod=1
イベントおよびそのイベントの以降のインスタンスをすべて削除するには、mod パラメータを 2 に設定します。 たとえば、次の URL は、2002 年 3 月 1 日の午前 11 時 22 分 33 秒 (グリニッジ標準時) に発生するイベントと、このイベントのそれ以降のインスタンス (uid 001) をすべて削除します。
http://jdoe/deleteevents_by_id.wcap?id=23423423434abc&calid=jdoe&ui d=001&rid=20020301T112233Z&mod=2
イベントとそれ以前のインスタンスをすべて削除するには、 mod パラメータを 3 に設定します。
たとえば、次の URL は、2002 年 3 月 1 日の午前 11 時 22 分 33 秒 (グリニッジ標準時) に発生するイベントと、このイベントのそれ以前のインスタンス (uid 001)をすべて削除します。
http://jdoe/deleteevents_by_id.wcap?id=23423423434abc&calid=jdoe&ui d=001&rid=20020301T112233Z&mod=3
このイベントのインスタンスをすべて削除するには、mod パラメータを 4 に設定します。 たとえば、次の URL は、このイベントのインスタンス (uid 001) をすべて削除します。
http://jdoe/deleteevents_by_id.wcap?id=23423423434abc&calid=jdoe&ui d=001&rid=20020301T112233Z&mod=4 暗号化された文字
例には、 cal に関するパラメータの暗号化されたリストに、暗号化された文字がいくつか含まれています。暗号化された文字の例をいくつか挙げます。
%XX は、その文字の 16 進 ASCII 値です。たとえば、「&」の文字は 16 進では 26 です (ASCII では 38)。
エラーの処理
コンポーネントデータを返す WCAP コマンド (fetch、delete、および store コマンド) を呼び出すと、配列およびエラー文字列も返されます。
エラー文字列
エラー文字列 errno は、トランザクションに対してゼロ以外のエラー番号を返します。 コマンドが正常に実行された場合の値は 0 です。
レイヤエラー番号配列
トランザクションの失敗の他に、トランザクション中に 1 つまたは複数のレイヤで、エラーが発生する可能性があります。 レイヤは、要求されている複数のアクションまたはアイテムの 1 つを参照します。 たとえば、fetch_components_by_range で取り込み元のカレンダー ID のリストを渡すことがあります。 この場合、各カレンダーが レイヤ になります。
エラー番号はレイヤに固有です。レイヤ配列のインデックスは、渡されたレイヤのインデックス番号に対応します。 つまり、layer_errno[3] は、取り込みコマンドに渡した 3 番目のアイテムを意味します。
1 つのレイヤのエラーが、他のレイヤの処理に影響することはありません。
レイヤカウント配列
また、deleteevents_by_id および deletetodos_by_id では、2 番目の配列が返されます。 つまり、それぞれ delete_event_count または delete_todo_count が返されます。この配列には、エラーが発生する前に正常に削除された回数が格納されます。この配列は、渡されたコンポーネントに繰り返しがある場合に便利です。レイヤエラー番号配列と同様に、このレイヤのインデックスは、コマンドに渡されたレイヤのインデックス番号に対応します。
たとえば、3 つのコンポーネントを deleteevents_by_id に渡したとき 2 つめのイベントでエラーが発生した場合は、delete_layer_errno[2] にエラーコードが格納されます。 次に、delete_event_count[2] を参照すると、エラーが発生する前に正常に削除されたイベントの数を確認できます。
エラーコード
表 7-6 は、エラー番号配列に返されるエラーコードの例です。
パラメータの値の「置き換え」と「追加」の違い
2 つのコマンド storeevents および storetodos でパラメータの値を変更することができます。 コンポーネントの現在の値を変更する場合、渡される新しい値と現在の値を置き換える、または新しい値を現在の値に追加します。 これは、複数の値を保持できるパラメータにのみ適用されます (つまり、attendees などの、セミコロンで区切った値を使用するパラメータ)。 デフォルトは、新しい値を現在の値に追加する replace=0 です。 現在の値を渡された新しい値に置き換えるには、replace パラメータの値を 1 に設定してコマンドに追加します (replace=1)。 コマンドに replace パラメータを追加しなかった場合、システムはデフォルトの設定 (replace=0) だとみなし、新しい値を既存の値に追加します。
例外として、 繰り返しパラメータ、rrules、rdates、exrules、および exdates は、replace パラメータの値に関係なく、常に置き換えモードになります。
コンポーネントデータのフェッチ
component_type パラメータは、イベントのみ、todo (仕事) のみ、またはイベントとtodo (仕事) の両方を返すよう WCAP に指示します。 キーワードの引数はそれぞれ、 event、todo、または all です。パラメータは不要です。 デフォルトは allで、イベントとtodo (仕事) の両方を返します。認識されない値が渡された場合は、デフォルト値が使用されます。
このパラメータは、次の 4 つのコマンドで使用されます。
fetchcomponents_by_alarmrange 繰り返しデータのフェッチ
compressed パラメータを使用すると、取得する繰り返しデータの容量を少なくすることができます。 このパラメータのデフォルト (compressed=0) は圧縮形式を無効にします、つまりデフォルトとして rrule、rdate、exrule、および exdate のプロパティを持たないデータを返します。次のコマンドで、すべての繰り返しデータを取得するには compressed=1 を使用します。
注 このパラメータは、fmt-out が text/calendar または text/xml の場合のみ有効です。
特定のコンポーネント状態データのフェッチ
fetchcomponents_by_attendee_error を除くすべての fetch コマンドは、compstate パラメータを使用して、コンポーネントの状態別にフェッチすることができます。 デフォルトは (compstate=ALL) で、すべてのコンポーネントの状態をフェッチします。 このパラメータを使用して、フェッチするコンポーネントを制限します。
パラメータを指定しなかった場合のデフォルト値は ALL です。
表 7-7 にコンポーネントの状態の値を示します。コンポーネントの状態は、「出席者」または「開催者」のいずれかになります。
表 7-7    compstate パラメータ のコンポーネントの状態値
値
出席者
コメント
時刻、文字列、パラメータなどの形式
すべての時刻、文字列、パラメータなどの正確な形式および定義については、RFC2445、RFC2446、およびRFC2447 を参照してください。 特に指定のないかぎり、WCAP の全コマンドはこれらの仕様に従います。
http://www.ietf.org/rfc/rfc2445.txt
http://www.ietf.org/rfc/rfc2446.txt
http://www.ietf.org/rfc/rfc2447.txt
タイムゾーンの詳細は、この節の「タイムゾーン」を参照してください。
空き時間の表示のアクセス
「空き時間の表示」アクセス権では、ユーザはカレンダーのスケジュール時刻を確認することはできますが、イベントの詳細を確認することはできません。代わりに、時間ブロックごとに「予定あり」という文字が表示されます。予定されたイベントのない時間ブロックも、横に「空き時間」という文字が付いて一覧表示されます。
たとえば、 jdoe というカレンダーに次のイベントがあります。
100:00-11:00
最初の会議
12:00-1:00
昼食
3:00-4:00
次の会議
ユーザ john に、カレンダー jdoe への空き時間の表示アクセス権が与えられているとします。 jdoe の空き時間 (9:00 〜 6:00) は次のようになります。
9-10
:
空き時間
10-11
:
予定あり
11-12
:
空き時間
12-1
:
予定あり
1-3
:
空き時間
3-4
:
予定あり
4-6
:
空き時間
john は、このユーザの予定の内容までは分かりませんが、いつ予定があるのかだけは分かります。
出力形式
WCAP コマンドで、次の 3 つのコンテンツタイプの出力形式を要求できます。
出力形式を変更するには、fmt-out を所定の値に設定します。 fmt-out を指定しない場合、デフォルトの形式 text/js が返されます。
注 Sun ONE Calendar Server のユーザインタフェース (Calendar Express) を起動するには、login コマンドで fmt-out=text/html を指定します。 この形式のインスタンスはこれだけです。
圧縮出力
brief パラメータを使用すると、圧縮されたイベントおよびtodo (仕事) のデータが JavaScript で印刷されます。返される出力は、通常の出力の約半分になり、次のパラメータで構成されます。
表 7-8    brief の出力に関する出力パラメータ
イベントに関するパラメータ
todo (仕事) に関するパラメータ
繰り返し処理
繰り返しの指定には、次の7 つのパラメータを使用できます。
rrules - イベントの繰り返しに関する、繰り返し規則文字列を二重引用符で囲み、各文字列をセミコロンで区切ったリスト
rdates - 繰り返しの日付を記載した ISO8601 日付文字列を、をセミコロンで区切ったリスト
exrules - 除外する日付に関する、繰り返し規則文字列を二重引用符で囲み、各文字列をセミコロンで区切ったリスト
exdates - 除外する日付を記載した ISO8601 日付文字列を、セミコロンで区切ったリスト
rid - イベントの繰り返し ID を指定するISO8601 日付文字列
mod - 1 〜 4 の数値。 格納するイベントのインスタンスを指定する修飾子
rchange - storeevents、および storetodos の繰り返しを拡張するかどうかを指定する論理値 storeevents および storetodos では、パラメータ rrules、rdates、exrules、および exdates は常に置き換えモードで動作します。 つまり、replace パラメータ値に関係なく、渡された値がパラメータの値となり、追加はされません。 replace パラメータの詳細については、「パラメータの値の「置き換え」と「追加」の違い」を参照してください。
rrules
rrules パラメータは、繰り返し規則文字列を二重引用符で囲み、各文字列をセミコロンで区切ったリストを取得します。各文字列は、イベントの繰り返し規則を表します。各文字列は二重引用符で囲む必要があります。繰り返し規則には、様々なパラメータを使用できます。構文の詳細は、RFC2445 を参照してください。
繰り返しを指定する場合は、freq および count を使用すると便利です。
規則内の freq パラメータには、イベントの周期性を定義します。 次の値を指定できます。
DAILY
イベントを毎日繰り返す
WEEKLY
イベントを毎週繰り返す
MONTHLY
イベントを毎月繰り返す
YEARLY
イベントを毎年繰り返す
規則内の count パラメータは、会議を繰り返す回数を定義します。 count を指定しない場合は、デフォルトの最大許容繰り返し数が使用されます。 デフォルトの最大数は 60 です。 最大数を変更するには、サーバの calstore.recurrence.bound を設定します。 次の例では、rrules パラメータを使用して 2 つの繰り返し規則を指定します。
rrules="count%3D10%3Bfreq%3Ddaily";"freq%3Dweekly%3Bcount%3D4"
(COUNT=10;FREQ=DAILY and FREQ=WEEKLY;COUNT=4 encoded)
最初の規則では、イベントが毎日発生し、10 回繰り返されることを指定します。2 番目の規則では、イベントが毎週発生し、4 回繰り返されることを指定します。
rrules パラメータを渡す URL の例を次に示します。
http://webcalendarserver/storecomponents.wcap?id=b5q2o8ve2rk02nv9t6
&calid=jdoe&uid=333&dtstart=20020301T112233Z
&rrules="count%3D10%3Bfreq%3Ddaily";"freq%3Dweekly%3Bcount%3D4"
&dtend=20020301T112233&summary=uuuurdates
rdates パラメータは、日付と時刻の指定をセミコロンで区切ったリストを取得します。 各日付と時刻はイベントの繰り返し日付を指定します。
たとえば、次の rdates パラメータでは、2 つの繰り返し日付 (2002 年 3 月 31 日 11 時 22 分 33 秒と 2002 年 5 月 31 日 11 時 22 分 33 秒) にイベントを繰り返すことを指定します。
rdates=20020331T112233;20020531T112233
rdates パラメータを渡す URL の例を次に示します。
http://webcalendarserver/storecomponents.wcap?id=b5q2o8ve2rk02nv9t6
&calid=jdoe&uid=333&dtstart=20020301T112233Z
&rdates=20020331T112233;20020531T112233
&dtend=20020301T112233&summary=uuuu
特定の日付の後に、繰り返し規則を変更する場合は、 rchange を 1 に設定する必要があります。
exrules
exrules パラメータは、繰り返し規則文字列を二重引用符で囲み、各文字列をセミコロンで区切ったリストを取得します。各規則は除外するイベントの繰り返しです。
たとえば、次の exrules パラメータでは、2 つの規則で指定した時期には、繰り返しイベントを繰り返さないように指定します。
exrules="count%3D10%3Bfreq%3Ddaily";"freq%3Dweekly%3Bcount%3D4"
(COUNT=10;FREQ=DAILY and FREQ=WEEEKLY;COUNT=4 encoded)
最初の規則では、10 のインスタンスについてイベントが毎日発生しないことを指定します。2 番目の規則では、4 つのインスタンスについてイベントが毎週発生しないことを指定します。
exrules パラメータを渡す URL の例を次に示します。
http://webcalendarserver/storecomponents.wcap?id=b5q2o8ve2rk02nv9t6
&calid=jdoe&uid=333&dtstart=20020301T112233Z
&exrules="count%3D10%3Bfreq%3Ddaily";"freq%3Dweekly%3Bcount%3D4"
&rrules="count%3D100%3Bfreq%3Ddaily"&dtend=20020301T112233&summary= uuuuexdates
exdates パラメータは、日付と時刻の指定をセミコロンで区切ったリストを取得します。各日付と時刻は、イベントを除外する日時を表します。
たとえば、次の exdates パラメータでは、繰り返しイベントが 2 つの指定日付 (2002 年 3 月 31 日 11 時 22 分 33 秒と 2002年 5 月 31 日 11 時22 分33 秒) に発生しないように指定します。
exdates=20020331T112233;20020531T112233
exdates パラメータを渡す URL の例を次に示します。
http://webcalendarserver/storecomponents.wcap?id=b5q2o8ve2rk02nv9t6
&calid=jdoe&uid=333&dtstart=20020301T112233Z
&exdates=20020331T112233;20020531T112233
&rrules="COUNT%3D200%3BFREQ=DAILY";dtend=20020301T112233&summary=uu uurid
このパラメータは、イベントまたは todo (仕事) の一意の繰り返し日付を指定します。 変更するイベントとtodo (仕事) の範囲を指定するには、rid と mod パラメータを組み合わせて使用します。
http://webcalendarserver/storecomponents.wcap?id=b5q2o8ve2rk02nv9t6
&calid=jdoe&uid=333&dtstart=20020301T112233Z
&rid=20020331T112233;dtend=20020301T112233&summary=uuuu&mod=1mod
このパラメータでは、1 つまたは複数のイベントまたは todo (仕事) のインスタンスに、変更を適用するかどうか指定します。 mod 値の指定は、次の結果になります。
繰り返しのないイベントまたは todo (仕事) の場合、rid は 0 です。
rchange
rchange パラメータには、storeevents および storetodos で繰り返しを拡張するかどうかを指定します。 通常、イベントと todo (仕事) のカレンダーコンポーネントは拡張されないため、デフォルトは 0 になっています。
ただし、繰り返しを拡張せずに、複数のイベントを修正する可能性もあります。たとえば、会議が 2002 年 1 月 1 日から毎週金曜日に繰り返されるとします。2002 年 2 月 1 日以後の各イベントの要約を changed-event に変更するには、次の URL を使用します。 この例では、rchange パラメータを 0 に設定して、イベントを追加しないで修正します。
http://webcalendarserver/storeevents.wcap?id=b5q2o8ve2rk02nv9t6
&calid=jdoe&uid=abcxyz&dtstart=20020201T112233Z
&rrules="byday%3Dfr%3Bfreq%3Dweekly"&summary=changed-event
&rid=20020201T112233Z&mod=2&rchange=0タイムゾーン
世界標準をサポートするために、Sun ONE Calendar Server は、グリニッジ標準時 (GMT) または世界協定時 (UTC) の日付と時刻の文字列を使用します。これは、グリニッジ標準時と呼ばれます。サーバは、データベースのすべての日付と時刻の文字列をグリニッジ標準時で格納し、返します。 WCAP はグリニッジ標準時を、tzid および tzidout パラメータの値に基づいて、適切なタイムゾーンの設定に変換します。
まだグリニッジ標準時になっていない dtstart、dtend、および rid パラメータと共に渡される日付と時間の文字列には、tzid パラメータが使用されます。 WCAP は tzid パラメータの値を使用してグリニッジ標準時を算出します。 tzid パラメータが渡されない場合、サーバのデフォルトのタイムゾーンを使用してグリニッジ標準時が算出されます。
イベントおよび todo (仕事) を返すコマンドの場合、tzidout パラメータが渡されなければ、データはグリニッジ標準時で返されます。 この場合、グリニッジ標準時は、tzidout パラメータで指定されたタイムゾーンに変換されます。
たとえば、fetch_components_by rangeコマンドによって、日付の範囲が 20020506T100000 から 20020507T100000 、および tzid=America/Los_Angeles と指定された場合、WCAP はこれをグリニッジ標準時に変換し、データベース検索に使用します。 tzidout パラメータも共に渡された場合 (たとえばtzidout=America/New_York)、その出力結果が該当するタイムゾーンに変換されて返されます。 tzidout パラメータがない場合、コンポーネントデータがグリニッジ標準時で返されます。
fetch パラメータが 1 (fetch=1) に設定されている場合、tzidout パラメータを、storeevents および storetodos コマンドに使用できます。
タイムゾーンの情報は、VTIMEZONE 形式でプレーンテキストのファイル (timezones.ics) に保存されます。
サーバが、現在の日付と時刻を算出するのに、システムのタイムゾーン情報を使用することはありません。サーバは、Epoch (UTC では 1970 年 1 月 1 日 00:00:00) からの経過時間を使用して、現在の日付と時刻を算出します。 そして、ユーザのタイムゾーン設定に従って、正しいタイムゾーンを反映した日付が表示されます。
次のコマンドでは、tzid および tzidout の両方のパラメータが使用されています。
また、次のコマンドでは tzid パラメータだけが使用されています (tzidoutは使用されていない)。
コマンド
id パラメータ (セッション ID) を持つすべてのコマンドには、このパラメータが必要です。ただし、この規則には 2 つの例外があります。カレンダーへの「匿名」アクセスを許可する場合、または公開カレンダーへの「読み取り」アクセスを許可する場合、id パラメータは指定する必要がありません。 その他の場合、セッション ID を id パラメータに指定する必要があります。
注 サーバは、「匿名」を特別なプリンシパル名としてサポートします。 匿名ユーザは、どのようなパスワードでもログインできます。 これは、特定のドメインには関連付けられません。
特に指定がないかぎり、WCAP コマンドが受け付けるパラメータは最長 1024 文字です。たとえば、1024 文字よりも長い uid を持つことはできません。 WCAP は長さのチェックは行いませんが、この長さを超えると予想外の結果を招く恐れがあります。
目的
あるカレンダーのイベントまたはtodo (仕事) から別のカレンダーへのリンクを追加します。
パラメータ
表 7-9 は addlink パラメータの一覧です。
表 7-9    addlink パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
説明
このコマンドを使用して、リンク元のカレンダーで指定したイベントまたは todo (仕事) 、あるいはその両方へのリンクを目的のカレンダーに追加します。
指定するカレンダーが公開カレンダーでない場合、コマンドに id パラメータを指定する必要があります。
uid および rid のリストに含まれる項目数は、正確に一致させる必要があります。 また、それぞれの rid が uid リストの同じ位置に対応している必要があります。 イベントまたはtodo (仕事) に繰り返し ID が無い場合、0 を rid リストに使用します。
次の 3 つの要件を満たしていない場合は、トランザクションが失敗します。
戻り値
トランザクションが失敗した場合、エラー ADDLINK_FAILED(12) を返します。 成功した場合、 0 を返します。
例
この例では、2 つのイベントのリンクをカレンダー jdoe に追加する方法を示します。 これらのリンクが pub カレンダー内のイベントを指すようにします。 イベントは、 1111 および 2222 です (イベントの UID)。 どちらのイベントも繰り返さないため、繰り返し ID は 0 です。
http://webcalendarserver/addlink.wcap?id=b5q2o8ve2rk02nv9t6&destCal =jdoe&srcCal=pub&uid=1111;2222&rid=0;0
目的
現在のユーザのパスワードを変更します。 このコマンドは使用しないでください。 下位互換性を保持するために残されています。 パスワード変更の詳細については『管理者ガイド』を参照してください。
パラメータ
表 7-10 に change_password パラメータの一覧を示します。
表 7-10    change_password パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
目的
このコマンドは、ユーザのパスワードを変更します。パスワードはプレーンテキストで渡されます。 service.wcap.allowchangepassword の設定が変更されないかぎり、管理者の権限を持つユーザだけが、このコマンドを使用することができます。
指定するカレンダーが公開カレンダーでない場合、コマンドに id パラメータを指定する必要があります。
戻り値
コマンドの実行に失敗すると、エラー CHANGE_PASSWORD_FAILED(27) を返します。
http://webcalendarserver/change_password.wcap?id=b5q2o8ve2rk02nv9t6 &oldPassword=abc&newPassword=def
目的
セッションの有効性を確認するための、管理者専用コマンドです。
パラメータ
表 7-10 に check_id パラメータの一覧を示します。
表 7-11    check_id パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
目的
管理者はこのコマンドを使用して、セッションの有効性を確認できます。
戻り値
サーバはプロパティ X-NSCP-WCAP-CHECK-ID を返します。 このプロパティの値が 1 であれば、このセッションは有効です。 ゼロ (0) が返ってきた場合、このセッションは無効です。セッションがタイムアウトしたか、または認識されていません。
例
次のコマンドは、指定されたセッションが有効かどうかを返します。
http://webcalendarserver/check_id.wcap?id=n3l0eeu6s3n3o3b8v&fmt-out =text/calendar
HTTP/1.1 200
Date: Thu, 14 Dec 2002 19:48:17 GMT
Content-type: text/calendar; charset=UTF-8
Content-length: 131
Last-modified: Thu, 14 Dec 2002 19:48:17 GMT
Pragma: no-cache
Expires: 0
Cache-Control: no-cache
Connection: Keep-Alive
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
X-NSCP-WCAP-CHECK-ID:1
END:VCALENDAR
パラメータ
表 7-12 に createcalendar パラメータの一覧を示します。
表 7-12    createcalendar パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
説明
このコマンドを使用して、現在のユーザの新しいカレンダーを作成します。 管理者の権限を持たないユーザがこのコマンドを使用できるようにするには、ics.conf ファイルの service.wcap.allowcreatecalendars の設定を変更します。
有効な Calid の作成
作成されたカレンダーの新しい calid は、そのユーザの userid と calid パラメータの組み合わせです。 システムは、id パラメータで指定されたセッションを検索して userid を取得します。 新しいカレンダーの calid の形式は userid:calid です。 たとえば、ユーザが jdoe、そして calid パラメータが tv の場合、新しいカレンダーの calid は jdoe:tv になります。
パラメータが長すぎる場合や、不正な文字を含んでいる場合は、calid がサーバによって切り捨てられます。 サーバが calid の切り捨てに失敗すると、エラー ILLEGAL_CALID_NAME(30) が返されます。
たとえば、calid パラメータに有効な値は、 calendar1、calendar-1、calendar_1、calendar.1 です。
カレンダープロパティの設定
カレンダーの作成中にカレンダープロパティを設定できます。 set_calprops パラメータに 1 を設定して渡します。 次に、set_calprops コマンドに定義された追加のパラメータを渡して、カレンダーのプロパティを設定します。
設定可能なカレンダープロパティの詳細については、set_calprops コマンドを参照してください。
戻り値
返される出力で、カレンダーのプロパティ (fetchcomponents_by_range コマンドの呼び出しで取得) が fmt-out の値に応じた形式で表示されます。
エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。 新しく作成された calid が、すでにデータベースに存在する場合は、エラーコード CREATECALENDAR_ALREADY_EXISTS_FAILED(25) が返されます。
例
次の URL では、ユーザ jdoe に対して、ID jdoe:newcal のカレンダーが作成さ れ、カレンダー名が New-Calendar、カテゴリが business および work に設定さ れます。
http://webcalendarserver/createcalendar.wcap?id=b5q2o8ve2rk02nv9t6& calid=newcal&set_calprops=1&name=New-Calendar&categories=business;w ork
パラメータ
表 7-13 に deletecalendar パラメータの一覧を示します。
表 7-13    deletecalendars パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
説明
このコマンドを使用して、ユーザのカレンダーを削除します。 削除するカレンダーの名前である calid を渡す必要があります。
service.wcap.allowdeletecalendars の設定が変更されないかぎり、このコマンドを使用できるのは管理者の権限を持っているユーザだけです。
戻り値
fetchcomponents_by_range を呼び出して書式設定された出力が返されます。
エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。 calid がデータベースに存在しない場合、delete_layer_errno[x] の値が 1 に設定されます。 この x は、渡された calid リストのカレンダーのインデックスです。 また、errno 変数にはエラーコード CALENDAR_DOES_NOT_EXIST(29) が格納されます。
例
たとえば、次の URL を送信すると、newcal という名前のカレンダーが削除されます。
http://webcalendarserver/deletecalendar.wcap?id=b5q2o8ve2rk02nv9t6& calid=newcal
目的
指定された範囲のイベントと todo (仕事) をカレンダーから削除します。
注 appid の ENS 通知はまだ実装されていません。
パラメータ
表 7-14 に deletecomponents_by_range パラメータの一覧を示します。
説明
このコマンドを使用すると、指定した範囲に完全に当てはまるイベントとtodo
(仕事) が、指定したカレンダーから削除されます。範囲を指定しない場合は、すべてのイベントとtodo (仕事) が削除されます。 範囲パラメータ dtstart および dtend は UTC 時間で指定します (最後に必ず「Z」がある)。UTC 時間を使用しない場合は、予想外の結果を生じます。
エラーコード
処理に成功した場合はエラー番号 0 がエラー文字列に追加されます。 カレンダーから削除しているときにエラーが発生した場合、delete_layer_errno[x] の値が 1 に設定されます。 ここで、 x は、渡された calid リストのカレンダーのインデックスです。 また、errno には、エラーコード DELETECOMPONENTS_BY_RANGE_FAILED(21) が格納されます。
例
たとえば、ユーザがカレンダー jdoe および john の読み取りアクセス権を持っている場合、次の URL はこの 2 つのカレンダーから、イベントおよびtodo (仕事) をすべて削除します。
http://deletecomponents_by_range.wcap?id=2342347923479asdf
&calid=jdoe;john&dtstart=0&dtend=0
目的
イベント識別子を使用して、1 つまたは複数のイベントをカレンダーから削除します。
パラメータ
表 7-15 に deleteevents_by_id パラメータの一覧を示します。
説明
このコマンドを使用して、指定した 1 つまたは複数のイベントを、指定したカレンダーから削除します。
エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。 エラーが発生した場合は、delete_layer_errno および delete_event_count の 2 つのエラー配列が返されます。 配列の各要素は、uid リスト内のイベントに対応します。 delete_layer_errno の各要素は、対応するイベントのエラー番号を示します。 delete_event_count の各要素は、対応するイベントのうち削除が完了したイベントの数を示します。
エラーの処理も参照してください。
通知
notify パラメータには IMIP CANCEL メッセージを、イベントのメール出席者に送信するかどうかを指定します。 キャンセルメッセージを送信するには、notify の値を 1 に設定します。
たとえば、次の URL は、IMIP CANCEL メッセージをイベント uid=001 のすべての出席者に送信します。
http://webcalendarserver/deleteevents_by_id.wcap?id=3423423asdfasf& calid=jdoe&uid=001¬ify=1
繰り返し
rid パラメータを渡した場合は、mod パラメータの指定に従って、繰り返しも削除されます。 (繰り返しコンポーネントの削除または変更参照。) 複数のイベントを削除するには、uid, rid、および mod パラメータにセミコロンで区切ったリストを指定します。この 3 つのリストの要素は同じ数でなければなりません。各リストの要素は、他の 2 つのリストにある同じ要素と対応していなければなりません。
例
たとえば、繰り返しのないイベントが、データベースに 2 つあり、各イベントの UID がuid-EVENT1 および uid-EVENT2 であるとします。 これらのイベントは繰り返さないため、各イベントの rid の値は 0 および mod の値は 1 に設定されます。
http://webcalendarserver/deleteevents_by_id.wcap?id=br6p3t6bh5po35r
&uid=uid-EVENT1;uid-EVENT2&rid=0;0&mod=0;0&fmt-out-text/calendar
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
BEGIN:VEVENT
UID:uid-EVENT1
REQUEST-STATUS:2.0;Success. Delete successful.
END:VEVENT
BEGIN:VEVENT
UID:uid-EVENT2
REQUEST-STATUS:2.0;Success. Delete successful.
END:VEVENT
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
目的
指定した範囲のイベントをカレンダーから削除します。
注 appid の ENS 通知はまだ実装されていません。
パラメータ
表 7-16 に deleteevents_by_range パラメータの一覧を示します。
説明
このコマンドを使用して、指定した範囲に完全に当てはまるイベントを、指定したカレンダーから削除します。 範囲 (dtstart および dtend) を指定しない場合、指定したカレンダーからすべてのイベントが削除されます。
指定するカレンダーが公開カレンダーでない場合、コマンドに id パラメータを指定する必要があります。 データは、fmt-out パラメータに指定した形式で返されます。このパラメータを渡さない場合、データはデフォルトの JavaScript 形式で返されます。
エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列 errno に追加されます。 カレンダーからイベントを削除するときにエラーが発生した場合、delete_layer_errno[x] の値は 1 に設定されます。 この x は、渡された calid リストのカレンダーのインデックスです。 また、errno 変数には、次のエラーが格納されます。 DELETEEVENTS_BY_RANGE_FAILED(22)
エラーの処理も参照してください。
例
たとえば、ユーザがカレンダー jdoe および john の読み取りアクセス権を持っているとします。 次の URL では、カレンダー jdoe および john から、すべてのイベントが削除されます。
http://webcalendarserver/deleteevents_by_range.wcap?id=234234792347 9asdf&calid=jdoe;john&dtstart=0&dtend=0
目的
1 つまたは複数のtodo (仕事) をカレンダーから削除します。
パラメータ
表 7-17 に deletetodos_by_id パラメータの一覧を示します。
説明
このコマンドを使用して、指定したtodo (仕事) を、指定したカレンダーから削除します。
指定するカレンダーが公開カレンダーでない場合、コマンドに id パラメータを指定する必要があります。 サーバはデータを fmt-out パラメータに指定した形式で返します。このパラメータを渡さない場合、データはデフォルトの JavaScript 形式で返されます。
エラーコード
エラーが発生した場合は、delete_layer_errno および delete_todo_count の 2 つのエラー配列が返されます。 配列の各要素は uid リスト内のtodo (仕事) に対応します。 delete_layer_errno の各要素は、対応するtodo (仕事) のエラー番号を示します。 delete_todo_count の各要素は、対応するtodo (仕事) のうち削除が完了した数を示します。
エラーの処理も参照してください。
通知
notify パラメータには、IMIP CANCEL メッセージを todo (仕事) のメール出席者に送信するかどうかを指定します。 notify が 1 の場合、キャンセルメッセージが電子メールで送信されます。
たとえば、次の URL は、IMIP CANCEL メッセージを uid=001 の todo (仕事) の出席者すべてに送信します。
http://webcalendarserver/deletetodos_by_id.wcap?id=3423423asdfasf&c alid=jdoe&uid=001¬ify=1
繰り返し
rid パラメータが渡された場合、 mod パラメータの指定に従って、繰り返しも削除されます。 繰り返しコンポーネントの削除または変更も参照してください。
複数の todo (仕事) を削除するには、uid、rid、および mod パラメータにセミコロンで区切ったリストを指定します。この 3 つのリストは同じ要素数でなければなりません。 各リストの要素は、他の 2 つのリストにある同じ要素と対応していなければなりません. rid パラメータが渡された場合、mod パラメータの指定に従って、繰り返しも削除されます。
例
たとえば、繰り返しのないtodo (仕事) が、データベースに 2 つあり、各todo
(仕事) の UID が uid-TODO1 および uid-TODO2 であるとします。 これらの todo
(仕事) は繰り返さないため、各 todo (仕事) のrid 値は 0 に、mod 値は 1 に設定されます。
次の URL では 2 つのtodo (仕事) が削除されます。
http://webcalendarserver/deletetodos_by_id.wcap?id=br6p3t6bh5po35r
&uid=uid-TODO1;uid-TODO2&rid=0;0&mod=1;1&fmt-out=text/calendar
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
BEGIN:VTODO
UID:uid-TODO1
REQUEST-STATUS:2.0;Success. Delete successful.
END:VTODO
BEGIN:VTODO
UID:uid-TODO2
REQUEST-STATUS:2.0;Success. Delete successful.
END:VTODO
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
目的
指定した範囲のtodo (仕事) をカレンダーから削除します。
注 appid の ENS 通知はまだ実装されていません。
パラメータ
表 7-18 に deletetodos_by_range パラメータの一覧を示します。
説明
このコマンドを使用して、指定した範囲に完全に当てはまるtodo (仕事) を、指定したカレンダーから削除します。範囲を指定しない場合は、すべてのtodo
(仕事) が削除されます。 たとえば、次の URL は、2002 年3 月 1 日午前11 時 22 分 33 秒(GMT) に発生するtodo (仕事) だけを削除します。
http://webcalendarserver/deletetodos_by_id.wcap?id=23423423434abc&c alid=jdoe&uid=001&rid=20020301T112233Z&mod=1
指定するカレンダーが公開カレンダーで無い場合は、コマンドにid パラメータを指定する必要があります。 サーバはデータを fmt-out パラメータに指定した形式で返します。このパラメータを渡さない場合、データはデフォルトの JavaScript 形式で返されます。
エラーコード
処理に成功した場合はエラー番号 0 がエラー文字列に追加されます。 カレンダーから削除しているときにエラーが発生した場合、delete_layer_errno[x] の値が 1 に設定されます。 この x は、渡された calid リストのカレンダーのインデックスです。 また、errno 変数には、次のエラーが格納されます。 DELETETODOS_BY_RANGE_FAILED(23)
エラーの処理も参照してください。
目的
カレンダーから、イベントとtodo (仕事) をファイルにエクスポートします。
パラメータ
表 7-19 に export パラメータの一覧を示します。
説明
このコマンドを使用して、1 つまたは複数のカレンダーのイベントとtodo (仕事) を、ファイルにエクスポートします。 ファイルの内容は、後で import コマンドを使用してカレンダーにインポートすることも可能です。 content-out パラメータの値に応じて、export.ics または export.xml という名前のファイルが作成されます。
範囲
開始日も終了日も指定しない場合は、カレンダー内のすべてのイベントとtodo
(仕事) がファイルに追加されます。開始日および終了日を指定すると、カレンダーのその期間内に完全に当てはまるイベントとtodo (仕事) だけがエクスポートされます。 開始日および終了日は、日付と時刻の最後に Z を付けた UTC 時間で指定します。
HTTP POST の例
このコマンドは HTTP POST と共に使用する必要があります (HTTP GET が使用できる他のコマンドとは異なる)。 例 1
次の HTTP POST メッセージでは、カレンダー jdoe および john のすべてのコンポーネントを、export.ica という名前の iCalendar ファイルにエクスポートします。 例 2
POST
/export.wcap?id=t95qm0n0es3bo35r&calid=jdoe;john&dtstart=0&dtend=0
&content-out=text/calendar
Content-type: multipart/form-data;
boundary=---------------------------41091400621290
Content-Length: 47
-----------------------------41091400621290--
WinNT; U)
Host: jdoe:12345
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png
*/*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
次の HTML は export コマンドを使用して POST メッセージを生成し、iCalendar および XML の形式でファイルを作成します。
<form METHOD=POST ENCTYPE="multipart/form-data" NAME="john.ics"
ACTION="http://webcalendarserver:12345/export.wcap?id=t9u9m0eh8x5pu 9b
&calid=jdoe;john&dtstart=0&dtend=0&content-out=text/calendar">
<ul>
<li>Press Export ICAL Now:<input type="submit" value="Export ICAL now">
</li> </ul> </form>
<form METHOD=POST ENCTYPE="multipart/form-data" NAME="john.xml"
ACTION="http://webcalendarserver:12345/export.wcap?id=t9u9m0eh8x5pu 9b
&calid=jdoe;john&dtstart=0&dtend=0&content-out=text/xml">
<ul>
<li>Press Export XML Now:<input type="submit" value="Export XML now">
</ul> </form>
HTTP/1.0 200
Date: Thu, 03 Jun 2002 22:15:52 GMT
Content-type: text/calendar
Content-disposition: attachment; filename="export.ics"
Content-length: 7004
BEGIN:VCALENDAR
METHOD:PUBLISH
VERSION:5.1.1
BEGIN:VEVENT
UID:tm-001
RECURRENCE-ID:20020519T010000Z
DTSTAMP:20020603T221548Z
SUMMARY:Calendar Staff
DTSTART:20020518T170000Z
DTEND:20020518T190000Z
CREATED:20020603T024254Z
LAST-MODIFIED:20020603T024254Z
PRIORITY:1
SEQ:1
GEO:37.463581;-121.897606
DESC:This is the description for event with UID = tm-001
URL:http://webcalendarserver/susan?uid=tm-001
LOCATION:Green Conference Room
STATUS:CONFIRMED
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
UID:tm-001
RECURRENCE-ID:20020526T010000Z
DTSTAMP:20020603T221548Z
SUMMARY:Calendar Staff
DTSTART:20020525T170000Z
DTEND:20020525T190000Z
CREATED:20020603T024254Z
LAST-MODIFIED:20020603T024254Z
PRIORITY:1
SEQ:1
GEO:37.463581;-121.897606
DESC:This is the description for event with UID = tm-001
URL:http://webcalendarserver/susan?uid=tm-001
LOCATION:Green Conference Room
STATUS:CONFIRMED
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
目的
カレンダーからアラームトリガを持つイベントと todo (仕事) を取得します。
パラメータ
表 7-20 に fetchcomponents_by_alarmrange パラメータの一覧を示します。
表 7-20    fetchcomponents_by_alarmrange パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
JavaScript の簡略出力を出力するかどうかを示す論理値
どのコンポーネントを返すかを指定するevent はイベントだけを返す
todo は todo (仕事)だけを返す
all はイベントと todo (仕事) の両方を返す
compressed=0 の場合は、少ないデータが返される。 次のパラメータを返さない
rrules
rdate
exrule
exdate
compstate の値については、表 7-7を参照
返されるイベントと todo (仕事) の最大数。 0 の場合、最大数は適用されず、検出されたすべてのイベントと todo (仕事) が返される
dtstart および dtend パラメータがまだグリニッジ標準時になっていない場合に、これらをグリニッジ標準時に変換するために使用するタイムゾーン
説明
このコマンドは、指定した期間にアラームを配信するイベントと todo (仕事) のリストを返します。
出力形式
データは、fmt-out パラメータに指定した形式で返されます。このパラメータを渡さない場合、データはデフォルトの JavaScript 形式で返されます。
JavaScript 出力の場合、イベントは 2 つの配列に分けられます。 時間範囲の短いイベント (通常のイベント) は、event 配列に出力されます。 24 時間以上継続するイベント、または終日イベント は、eventD 配列に出力されます。 終日イベントは、isAllDay フラグがオンになっています。
maxResults 値
最大数 n を指定すると、指定した範囲から最初の n 個のイベントと最初の n 個の todo (仕事) が返されます。 たとえば、 maxResults の値を 75 に指定すると、次の変数を含む JavaScript が返されます。
var maxResults=75 /* 渡された最大数 */
var size=75 /* イベントサイズが最大 75 に制限される */
var todosize=28 /* todo (仕事) サイズが 75 に満たないため、影響を受けない */
maxResults パラメータを 0 に設定するか、渡さない場合は、var maxResults ステートメントを含まない JavaScript が返されます。
戻り値
calid に指定した各カレンダーに関して、dtstart および dtend に指定した範囲内にアラームを配信するイベントと todo (仕事) が返されます。
dtstart および dtend パラメータで指定された時間がグリニッジ標準時でない場合、システムはtzid パラメータで指定されたタイムジーンを使用してグリニッジ標準時に変換して、データの取得に使用します。 tzid パラメータがない場合、システムはサーバのデフォルトタイムゾーンを使用します。
システムはデータを返す前に、tzidout パラメータを使用して、どのタイムゾーンにデータを変換するか決定します。 tzidout パラメータがない場合、グリニッジ標準時でデータが返されます。
開始日時も終了日時も指定しない場合は、アラームを持つイベントと todo
(仕事) が、指定した最大数まで返されます。
エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。 カレンダーにアクセスできない場合、またはカレンダーが見つからない場合の errno は、FETCH_BY_ALARM_RANGE_FAILED(41) になります。
このカレンダーに対する 2 つのクエリとその戻り値について説明します。
次のクエリは、2001 年 12 月 1 日 〜 2001 年 1 月 31 日にアラームを配信するイベントとtodo (仕事) を、すべて取り込みます。
http://webcalendarserver/fetchcomponents_by_alarmrange.wcap?id=abcdefg&dtstart=20011201T112233Z&dtend=20020131T112233Z&fmt-out=text/calendar
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011208T005613Z
X-NSCP-CALPROPS-CREATED:20010913T223336Z
X-NSCP-CALPROPS-READ:999
X-NSCP-CALPROPS-WRITE:999
X-NSCP-CALPROPS-RELATIVE-CALID:jdoe
X-NSCP-CALPROPS-NAME:John Doe
X-NSCP-CALPROPS-LANGUAGE:en
X-NSCP-CALPROPS-PRIMARY-OWNER:jdoe
X-NSCP-CALPROPS-TZID:America/Los_Angeles
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^c^WDEIC^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^a^RSF^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^a^frs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^c^^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^a^frs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^c^dw^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^a^rs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^c^w^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^p^r^g
X-NSCP-CALPROPS-RESOURCE:0
BEGIN:VEVENT
UID:3c11625900005ffe00000011000010b7
DTSTAMP:20011208T011139Z
SUMMARY:eventA
DTSTART:20011225T133000Z
DTEND:20011225T143000Z
CREATED:20011208T004409Z
LAST-MODIFIED:20011208T010857Z
PRIORITY:0
SEQUENCE:4
ORGANIZER;SENT-BY="jdoe@sesta.com"
;X-NSCP-ORGANIZER-UID=jdoe
;X-NSCP-ORGANIZER-SENT-BY-UID=jdoe:jdoe
STATUS:CONFIRMED
TRANSP:OPAQUE
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL
;PARTSTAT=ACCEPTED;CN="JOHN SMITH"
;RSVP=TRUE
;X-NSCP-ATTENDEE-GSE-STATUS=2
:jdoe
X-NSCP-ORIGINAL-DTSTART:20020210T190000Z
X-NSCP-LANGUAGE:en
BEGIN:VALARM
ACTION:EMAIL
TRIGGER;VALUE=DATE-TIME:20011225T123000Z
ATTENDEE:MAILTO:jsmith@company22.com
END:VALARM
X-NSCP-DTSTART-TZID:America/Los_Angeles
X-NSCP-TOMBSTONE:0
X-NSCP-ONGOING:0
X-NSCP-ORGANIZER-EMAIL:jdoe@sesta.com
X-NSCP-GSE-COMPONENT-STATE;X-NSCP-GSE-COMMENT="REQUEST-COMPLETED":
31074
END:VEVENT
BEGIN:VTODO
UID:3c1162e200207ff600000015000010b7
DTSTAMP:20011208T011139Z
SUMMARY:todoA
DTSTART:20011208T004626Z
DUE:20020120T141500Z
CREATED:20011208T004626Z
LAST-MODIFIED:20011208T011000Z
PRIORITY:0
SEQUENCE:3
PERCENT-COMPLETE:0
ORGANIZER;SENT-BY="jdoe@sesta.com"
;X-NSCP-ORGANIZER-UID=jdoe
;X-NSCP-ORGANIZER-SENT-BY-UID=jdoe:jdoe
STATUS:NEEDS-ACTION
X-NSCP-ORIGINAL-DTSTART:20011208T004626Z
X-NSCP-LANGUAGE:en
BEGIN:VALARM
ACTION:EMAIL
TRIGGER;VALUE=DATE-TIME:20020120T131500Z
ATTENDEE:MAILTO:jdoe@sesta.com
END:VALARM
X-NSCP-DUE-TZID:America/Los_Angeles
X-NSCP-TOMBSTONE:0
X-NSCP-ONGOING:0
X-NSCP-ORGANIZER-EMAIL:jdoe@sesta.com
X-NSCP-GSE-COMPONENT-STATE;
X-NSCP-GSE-COMMENT="PUBLISH-COMPLETED":65538
END:VTODO
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
次のクエリは、2002 年 1 月 1 日 〜 2002 年 6 月 1 日にアラームを配信するイベントと todo (仕事) を、すべて取り込みます。
http://webcalendarserver/fetchcomponents_by_alarmrange.wcap?id=abcdefg&dtstart=20020101T000000Z&dtend=20020601T000000Z&fmt-out=
text/calendar
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011208T005613Z
X-NSCP-CALPROPS-CREATED:20010913T223336Z
X-NSCP-CALPROPS-READ:999
X-NSCP-CALPROPS-WRITE:999
X-NSCP-CALPROPS-RELATIVE-CALID:jdoe
X-NSCP-CALPROPS-NAME:John Doe
X-NSCP-CALPROPS-LANGUAGE:en
X-NSCP-CALPROPS-PRIMARY-OWNER:jdoe
X-NSCP-CALPROPS-TZID:America/Los_Angeles
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^c^WDEIC^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^a^RSF^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^a^frs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^c^^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^a^frs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^c^dw^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^a^rs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^c^w^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^p^r^g
X-NSCP-CALPROPS-RESOURCE:0
BEGIN:VEVENT
UID:3c1162b3000051c300000013000010b7
DTSTAMP:20011208T011645Z
SUMMARY:eventB
DTSTART:20020210T110000Z
DTEND:20020210T120020Z
CREATED:20011208T004539Z
LAST-MODIFIED:20011208T011638Z
PRIORITY:0
SEQUENCE:4
ORGANIZER;SENT-BY="jdoe@sesta.com"
;X-NSCP-ORGANIZER-UID=jdoe
;X-NSCP-ORGANIZER-SENT-BY-UID=jdoe:jdoe
STATUS:CONFIRMED
TRANSP:OPAQUE
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL
;PARTSTAT=ACCEPTED;CN="John Smith"
;RSVP=TRUE
;X-NSCP-ATTENDEE-GSE-STATUS=2:jsmith
X-NSCP-ORIGINAL-DTSTART:20021225T213000Z
X-NSCP-LANGUAGE:en
BEGIN:VALARM
ACTION:EMAIL
TRIGGER;VALUE=DATE-TIME:20020210T100000Z
ATTENDEE:MAILTO:jsmith@company22.com
END:VALARM
X-NSCP-DTSTART-TZID:America/Los_Angeles
X-NSCP-TOMBSTONE:0
X-NSCP-ONGOING:0
X-NSCP-ORGANIZER-EMAIL:jdoe@sesta.com
X-NSCP-GSE-COMPONENT-STATE;
X-NSCP-GSE-COMMENT="REQUEST-COMPLETED":131074
END:VEVENT
BEGIN:VTODO
UID:3c1162e200207ff600000015000010b7
DTSTAMP:20011208T011645Z
SUMMARY:todoA
DTSTART:20011208T004626Z
DUE:20020120T141500Z
CREATED:20011208T004626Z
LAST-MODIFIED:20011208T011000Z
PRIORITY:0
SEQUENCE:3
PERCENT-COMPLETE:0
ORGANIZER;SENT-BY="jdoe@sesta.com"
;X-NSCP-ORGANIZER-UID=jdoe
;X-NSCP-ORGANIZER-SENT-BY-UID=jdoe:jdoe
STATUS:NEEDS-ACTION
X-NSCP-ORIGINAL-DTSTART:20011208T004626Z
X-NSCP-LANGUAGE:en
BEGIN:VALARM
ACTION:EMAIL
TRIGGER;VALUE=DATE-TIME:20020120T131500Z
ATTENDEE:MAILTO:jdoe@sesta.com
END:VALARM
X-NSCP-DUE-TZID:America/Los_Angeles
X-NSCP-TOMBSTONE:0
X-NSCP-ONGOING:0
X-NSCP-ORGANIZER-EMAIL:jdoe@sesta.com
X-NSCP-GSE-COMPONENT-STATE;X-NSCP-GSE-COMMENT="PUBLISH-COMPLETED":
5538
END:VTODO
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
fetchcomponents_by_attendee_error
目的
グループスケジューリングメッセージの送信中にエラーを発生したコンポーネントのリストを取り込みます。 表 7-21 に fetchcomponents_by_attendee_error パラメータの一覧を示します。
説明
このコマンドを使用して、グループスケジューリングメッセージの送信中にエラーが発生したイベントと todo (仕事) のリストを取得します。 このコマンドは fetchcomponents_by_range とほぼ同様の機能を持ちます。
出力形式
データは fmt-out パラメータに指定した形式で返されます。このパラメータを渡さない場合、データはデフォルトの JavaScript 形式で返されます。
JavaScript 出力の場合、イベントは 2 つの配列に分けられます。 時間範囲の短いイベント (通常のイベント) は、event 配列に出力されます。 24 時間以上継続するイベント、または終日イベント は、eventD 配列に出力されます。 終日イベントは、isAllDay フラグがオンになっています。
maxResults 値
最大数 n を指定すると、指定した範囲から最初の n 個のイベントと最初の n 個の todo (仕事) を返します。 たとえば、 maxResults の値に 75 を指定すると、次の変数を含む JavaScript が返されます。
var maxResults=75 /* 渡された最大数 */
var size=75 /* イベントサイズが最大 75 に制限される*/
var todosize=28 /* todo (仕事) のサイズが 75 に満たないため、影響を受けない */
maxResults パラメータを 0 に設定するか、渡さない場合は、var maxResults ステートメントを含まない JavaScript が返されます。
戻り値
calid に指定した各カレンダーに関して、指定した出席者のイベントと todo (仕事) のうち、グループスケジューリングメッセージの送信中にエラーが発生したものをサーバが返します。
たとえば、calid パラメータにカレンダー cal1 および cal2 を指定し、attendee パラメータに jdoe を指定した場合、cal1 および cal2 から jdoe が出席したイベントで、エラーが発生したものを検索します。次の表の cal1 および cal2 は、出席者が関連付けられた 4 つのイベントをそれぞれ持っています。
出席者 jdoe に対してこのコマンドは、 イベント 1c1 および 2c2 を返します。
システムはデータを返す前に、 tzidout パラメータを使用して、どのタイムゾーンにデータを変換するか決定します。 tzidout パラメータがない場合、グリニッジ標準時でデータが返されます。
エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。 何らかの理由でコマンドの実行に失敗した場合、errno は FETCH_BY_ATTENDEE_ERROR_FAILED(42) です。
目的
指定した期間中に変更されたコンポーネントのリストを取り込みます。 表 7-22 に fetchcomponents_by_lastmod パラメータの一覧を示します。
表 7-22    fetchcomponents_by_lastmod パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
JavaScript の簡略出力を出力するかどうかを示す論理値
どのコンポーネントを返すかを指定する event はイベントだけを返す
todo は todo (仕事) だけを返す
all はイベントと todo (仕事) の両方を返す
compressed=0 の場合は、少ないデータが返される。 次のパラメータを返さない
rrules
rdate
exrule
exdate
compstate の値については、表 7-7を参照
返されるイベントと todo (仕事) の最大数。 0 の場合は最大数は適用されず、検出されたすべてのイベントと todo (仕事) が返される
説明
このコマンドを使用して、指定した期間中に変更されたイベントと todo (仕事) のリストを取得します。 このコマンドは fetchcomponents_by_range とほぼ同様の機能を持ちます。
出力形式
データは fmt-out パラメータに指定した形式で返されます。このパラメータを渡さない場合、データはデフォルトの JavaScript 形式で返されます。
JavaScript 出力の場合、イベントは 2 つの配列に分けられます。 時間範囲の短いイベント (通常のイベント) は、event 配列に出力されます。 24 時間以上継続するイベント、または終日イベント は、eventD 配列に出力されます。 終日イベントは、isAllDay フラグがオンになっています。
maxResults 値
最大数 n を指定すると、指定した範囲から最初の n 個のイベントと最初の n 個の todo (仕事) を返します。 たとえば、 maxResults 値に 75 を指定すると、次の変数を含む JavaScript が返されます。
var maxResults=75 /* 渡された最大数 */
var size=75 /* イベントサイズが最大 75 に制限される*/
var todosize=28 /* todo (仕事) のサイズが 75 に満たないため、影響を受けない */
maxResults パラメータを 0 に設定するか、渡さない場合は、var maxResults ステートメントを含まない JavaScript が返されます。
戻り値
calid で指定した各カレンダーに関して、dtstart および dtend で指定した範囲内に変更されたカレンダーのイベントと todo (仕事) をサーバが返します。
dtstart および dtend パラメータで指定された時間がグリニッジ標準時でない場合、システムは tzid パラメータで指定されたタイムゾーンを使用してグリニッジ標準時に変換し、データを取得します。 tzid パラメータがない場合、システムはサーバのデフォルトタイムゾーンを使用します。
システムはデータを返す前に、tzidout パラメータを使用して、どのタイムゾーンにデータを変換するか決定します。 tzidout パラメータがない場合、グリニッジ標準時でデータが返されます。
開始日時も終了日時も指定しない場合は、変更されたすべてのイベントと todo
(仕事) を、指定した最大数まで返します。
エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。カレンダーにアクセスできない場合、またはカレンダーが見つからない場合は、エラー番号がエラー文字列に追加されます。
例
たとえば、カレンダー jdoe に次の 3 つのイベントがあります。
eventA:最終更新日時は 2002 年 2 月 10 日の午前 10 時 00 分 (GMT) このカレンダーに対するいくつかの問い合わせとその戻り値について説明します。
http://webcalendarserver/fetchcomponents_by_lastmod.wcap?id=jdoe
&dtstart=0&dtend=0
このクエリは、これまでに修正されたイベントと todo (仕事) をすべて取り込みます。したがって、eventA、eventB、および todoA が返されます。
http://webcalendarserver/fetchcomponents_by_lastmod.wcap?id=jdoe
&dtstart=20011201T112233Z&dtend=20020131T112233Z
このクエリは、2001 年 12 月 1 日 〜 2002 年 1 月 31 日に変更されたイベントと todo (仕事) をすべて取り込みます。 したがって、eventB および todoA が返されます。
http://webcalendarserver/fetchcomponents_by_lastmod.wcap?id=jdoe
&dtstart=20020101T112233Z&dtend=20020601T112233Z
このクエリは、2002 年 1 月 1 日 〜 2002 年 6 月 1 日に変更されたイベントと todo
(仕事) をすべて取り込みます。したがって、eventA および todoA が返されます。
目的
カレンダーのイベントと todo (仕事) を取得します。
パラメータ
表 7-23 に fetchcomponents_by_range パラメータの一覧を示します。
表 7-23    fetchcomponents_by_range パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
JavaScript の簡略出力を出力するかどうかを示す論理値
どのコンポーネントを返すかを指定する event はイベントだけを返す
todo は todo (仕事) だけを返す
all イベントと todo (仕事) の両方を返す
compressed=0 の場合は少ないデータが返される。 次のパラメータを返さない
rrules
rdate
exrule
exdate
compstate の値については、表 7-7を参照
返されるイベントと todo (仕事) の最大数。 0 の場合は最大数は適用されず、検出されたすべてのイベントと todo (仕事) が返される
説明
このコマンドを使用して、指定した 1 つまたは複数のカレンダーのプロパティ、イベント、およびtodo (仕事)を取得します。
出力形式
データは fmt-out パラメータに指定した形式で返されます。このパラメータを渡さない場合、データはデフォルトの JavaScript 形式で返されます。
JavaScript 出力の場合、イベントは 2 つの配列に分けられます。 時間範囲の短いイベント (通常のイベント) は、event 配列に出力されます。 24 時間以上継続するイベント、または終日イベント は、eventD 配列に出力されます。 終日イベントは、isAllDay フラグがオンになっています。
戻り値
calid で指定した各カレンダーに関して、dtstart および dtend に指定した範囲にあるカレンダープロパティ、イベント、および todo (仕事) を返します。
dtstart および dtend パラメータで指定された時間がグリニッジ標準時でない場合、システムは tzid パラメータで指定されたタイムゾーンを使用してグリニッジ標準時に変換し、データを取得します tzid パラメータがない場合、システムはサーバのデフォルトタイムゾーンを使用します。
システムはデータを返す前に、tzidout パラメータを使用して、どのタイムゾーンにデータを変換するか決定します。 tzidout パラメータがない場合、グリニッジ標準時でデータが返されます。
開始日時も終了日時も指定しない場合は、すべてのイベントと todo (仕事) が、指定した最大数まで返されます。
エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。カレンダーにアクセスできない場合、またはカレンダーが見つからない場合は、エラー番号がエラー文字列に追加されます。
出力形式
データは fmt-out パラメータに指定した形式で返されます。このパラメータを渡さない場合、データはデフォルトの JavaScript 形式で返されます。
JavaScript 出力の場合、イベントは 2 つの配列に分けられます。 時間範囲の短いイベント (通常のイベント) は、event 配列に出力されます。 24 時間以上継続するイベント、または終日イベント は、eventD 配列に出力されます。 終日イベントは、isAllDay フラグがオンになっています。
maxResults 値
最大数 n を指定すると、指定した範囲から最初の n 個のイベントと最初の n 個の todo (仕事) を返します。 たとえば、 maxResults 値に 75 を指定すると、次の変数を含む JavaScript が返されます。
var maxResults=75 /* 渡された最大数 */
var size=75 /* イベントサイズが最大75 に制限される */
var todosize=28 /* todo (仕事) のサイズが75 に満たないため、影響を受けない */
maxResults パラメータを 0 に設定するか、渡さない場合は、返されるコンポーネントの数は制限されず、var maxResults ステートメントを含まない JavaScript が返されます。
エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。カレンダーにアクセスできない場合、またはカレンダーが見つからない場合は、エラー番号がエラー文字列に追加されます。
この例では、次の URL を使用して、現在のユーザの 2001 年 12 月 1 日 〜 2002 年 1 月 31 日のコンポーネントをフェッチします。
http://webcalendarserver/fetchcomponents_by_range.wcap?id=bes6bbe2m u98uw9&dtstart=20011201T000000Z&dtend=20020131T000000Z&fmt-out=text /calendar
この期間中の、1 つのイベントと 1 つのtodo (仕事)が返されます。
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011208T005613Z
X-NSCP-CALPROPS-CREATED:20010913T223336Z
X-NSCP-CALPROPS-READ:999
X-NSCP-CALPROPS-WRITE:999
X-NSCP-CALPROPS-RELATIVE-CALID:jdoe
X-NSCP-CALPROPS-NAME:John Doe
X-NSCP-CALPROPS-LANGUAGE:en
X-NSCP-CALPROPS-PRIMARY-OWNER:jdoe
X-NSCP-CALPROPS-TZID:America/Los_Angeles
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^c^WDEIC^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^a^RSF^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^a^frs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^c^^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^a^frs^
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^c^dw^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^a^rs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^c^w^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^p^r^g
X-NSCP-CALPROPS-RESOURCE:0
BEGIN:VEVENT
UID:3c11625900005ffe00000011000010b7
DTSTAMP:20011208T015014Z
SUMMARY:eventA
DTSTART:20011225T133000Z
DTEND:20011225T143000Z
CREATED:20011208T004409Z
LAST-MODIFIED:20011208T010857Z
PRIORITY:0
SEQUENCE:4
ORGANIZER;SENT-BY="jdoe@sesta.com"
;X-NSCP-ORGANIZER-UID=jdoe
;X-NSCP-ORGANIZER-SENT-BY-UID=jdoe:jdoe
STATUS:CONFIRMED
TRANSP:OPAQUE
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED;
CN="John Smith";RSVP=TRUE;X-NSCP-ATTENDEE-GSE-STATUS=2:jsmith
X-NSCP-ORIGINAL-DTSTART:20020210T190000Z
X-NSCP-LANGUAGE:en
BEGIN:VALARM
ACTION:EMAIL
TRIGGER;VALUE=DATE-TIME:20011225T123000Z
ATTENDEE:MAILTO:jsmith@company22.com
END:VALARM
X-NSCP-DTSTART-TZID:America/Los_Angeles
X-NSCP-TOMBSTONE:0
X-NSCP-ONGOING:0
X-NSCP-ORGANIZER-EMAIL:jdoe@sesta.com
X-NSCP-GSE-COMPONENT-STATE;X-NSCP-GSE-COMMENT="REQUEST-COMPLETED":
31074
END:VEVENT
BEGIN:VTODO
UID:3c1162e200207ff600000015000010b7
DTSTAMP:20011208T015014Z
SUMMARY:todoA
DTSTART:20011208T004626Z
DUE:20020120T141500Z
CREATED:20011208T004626Z
LAST-MODIFIED:20011208T011000Z
PRIORITY:0
SEQUENCE:3
PERCENT-COMPLETE:0
ORGANIZER;SENT-BY="jdoe@sesta.com"
;X-NSCP-ORGANIZER-UID=jdoe
;X-NSCP-ORGANIZER-SENT-BY-UID=jdoe:jdoe
STATUS:NEEDS-ACTION
X-NSCP-ORIGINAL-DTSTART:20011208T004626Z
X-NSCP-LANGUAGE:en
BEGIN:VALARM
ACTION:EMAIL
TRIGGER;VALUE=DATE-TIME:20020120T131500Z
ATTENDEE:MAILTO:jsmith@company22.com
END:VALARM
X-NSCP-DUE-TZID:America/Los_Angeles
X-NSCP-TOMBSTONE:0
X-NSCP-ONGOING:0
X-NSCP-ORGANIZER-EMAIL:jdoe@sesta.com
X-NSCP-GSE-COMPONENT-STATE;X-NSCP-GSE-COMMENT="PUBLISH-COMPLETED":
5538
END:VTODO
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
次の例では、カレンダー jdoe と susan の 2001 年 12 月 1 日 〜 2002 年 1 月 31 日 までのすべてのコンポーネントをフェッチします。
http://webcalendarserver/fetchcomponents_by_range.wcap?id=bes6bbe2m u98uw9&calid=jdoe;susan&dtstart=20020101T000000Z&dtend=20020202T000 000Z&fmt-out=text/calendar
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011208T005613Z
X-NSCP-CALPROPS-CREATED:20010913T223336Z
X-NSCP-CALPROPS-READ:999
X-NSCP-CALPROPS-WRITE:999
X-NSCP-CALPROPS-RELATIVE-CALID:jdoe
X-NSCP-CALPROPS-NAME:John Doe
X-NSCP-CALPROPS-LANGUAGE:en
X-NSCP-CALPROPS-PRIMARY-OWNER:jdoe
X-NSCP-CALPROPS-TZID:America/Los_Angeles
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^c^WDEIC^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^a^RSF^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^a^frs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^c^^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^a^frs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^c^dw^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^a^rs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^c^w^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^p^r^g
X-NSCP-CALPROPS-RESOURCE:0
BEGIN:VEVENT
UID:3c1162b3000051c300000013000010b7
DTSTAMP:20011208T011645Z
SUMMARY:Joe's event
DTSTART:20020110T110000Z
DTEND:20020110T120020Z
CREATED:20011208T004539Z
LAST-MODIFIED:20011208T011638Z
PRIORITY:0
SEQUENCE:4
ORGANIZER;SENT-BY="jdoe@sesta.com";
X-NSCP-ORGANIZER-UID=jdoe;
X-NSCP-ORGANIZER-SENT-BY-UID=jdoe:jdoe
STATUS:CONFIRMED
TRANSP:OPAQUE
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED;
CN="John Smith";RSVP=TRUE;X-NSCP-ATTENDEE-GSE-STATUS=2:jsmith
X-NSCP-ORIGINAL-DTSTART:20021225T213000Z
X-NSCP-LANGUAGE:en
BEGIN:VALARM
ACTION:EMAIL
TRIGGER;VALUE=DATE-TIME:20020210T100000Z
ATTENDEE:MAILTO:jsmith@company22.com
END:VALARM
X-NSCP-DTSTART-TZID:America/Los_Angeles
X-NSCP-TOMBSTONE:0
X-NSCP-ONGOING:0
X-NSCP-ORGANIZER-EMAIL:jdoe@sesta.com
X-NSCP-GSE-COMPONENT-STATE;
X-NSCP-GSE-COMMENT="REQUEST-COMPLETED":31074
END:VEVENT
BEGIN:VTODO
UID:3c1162e200207ff600000015000010b7
DTSTAMP:20011208T011645Z
SUMMARY:Joe's Todo
DTSTART:20011208T004626Z
DUE:20020120T141500Z
CREATED:20011208T004626Z
LAST-MODIFIED:20011208T011000Z
PRIORITY:0
SEQUENCE:3
PERCENT-COMPLETE:0
ORGANIZER;SENT-BY="jdoe@sesta.com";
X-NSCP-ORGANIZER-UID=jdoe;
X-NSCP-ORGANIZER-SENT-BY-UID=jdoe:jdoe
STATUS:NEEDS-ACTION
X-NSCP-ORIGINAL-DTSTART:20011208T004626Z
X-NSCP-LANGUAGE:en
BEGIN:VALARM
ACTION:EMAIL
TRIGGER;VALUE=DATE-TIME:20020120T131500Z
ATTENDEE:MAILTO:jdoe@sesta.com
END:VALARM
X-NSCP-DUE-TZID:America/Los_AngelesX-NSCP-TOMBSTONE:0
X-NSCP-ONGOING:
X-NSCP-ORGANIZR-EMAIL:jdoe@sesta.com
X-NSCP-GSE-COPONENT-STATE;
X-NSCP-GSE-COMMENT="PUBLISH-COMPLETED":6538
END:VTODO
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
X-NSCP-CALPROPS-LAST-MODIFIED:19700101T000000Z
X-NSCP-CALPROPS-CREATED:19700101T000000Z
X-NSCP-CALPROPS-READ:999
X-NSCP-CALPROPS-WRITE:999
X-NSCP-CALPROPS-RELATIVE-CALID:susan
X-NSCP-CALPROPS-RESOURCE:0
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011010T001050Z
X-NSCP-CALPROPS-CREATED:20000929T180436Z
X-NSCP-CALPROPS-READ:999
X-NSCP-CALPROPS-WRITE:999
X-NSCP-CALPROPS-RELATIVE-CALID:susan
X-NSCP-CALPROPS-NAME:default
X-NSCP-CALPROPS-PRIMARY-OWNER:susan
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^c^WDEIC^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^a^RSF^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^a^^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^c^^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:fred^a^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:fred^c^^g
X-NSCP-CALPROPS-RESOURCE:0
BEGIN:VEVENT
UID:3c1162b3000051c300000013000010b7
DTSTAMP:20011208T011645Z
SUMMARY: Susan's event
DTSTART:20020110T110000Z
DTEND:20020110T120020Z
CREATED:20011208T004539Z
LAST-MODIFIED:20011208T011638Z
PRIORITY:0
SEQUENCE:4
ORGANIZER;SENT-BY="susan@sesta.com";
X-NSCP-ORGANIZER-UID=susan;
X-NSCP-ORGANIZER-SENT-BY-UID=susan:susan
STATUS:CONFIRMED
TRANSP:OPAQUE
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;
PARTSTAT=ACCEPTED;CN="Mary Anderson";RSVP=TRUE;
X-NSCP-ATTENDEE-GSE-STATUS=2:marya
X-NSCP-ORIGINAL-DTSTART:20021225T213000Z
X-NSCP-LANGUAGE:en
BEGIN:VALARM
ACTION:EMAIL
TRIGGER;VALUE=DATE-TIME:20020210T100000Z
ATTENDEE:MAILTO:marya@company22.com
END:VALARM
X-NSCP-DTSTART-TZID:America/Los_Angeles
X-NSCP-TOMBSTONE:0
X-NSCP-ONGOING:0
X-NSCP-ORGANIZER-EMAIL:susan@seata.com
X-NSCP-GSE-COMPONENT-STATE;
X-NSCP-GSE-COMMENT="REQUEST-COMPLETED":131074
END:VEVENT
BEGIN:VTODO
UID:3c1162e200207ff600000015000010b7
DTSTAMP:20011208T011645Z
SUMMARY:susan's todo
DTSTART:20011208T004626Z
DUE:20020120T141500Z
CREATED:20011208T004626Z
LAST-MODIFIED:20011208T011000Z
PRIORITY:0
SEQUENCE:3
PERCENT-COMPLETE:0
ORGANIZER;SENT-BY="susan@sesta.com";
X-NSCP-ORGANIZER-UID=crowe;
X-NSCP-ORGANIZER-SENT-BY-UID=susan:susa
STATUS:NEEDS-ACTION
X-NSCP-ORIGINAL-DTSTART:20011208T004626Z
X-NSCP-LANGUAGE:en
BEGIN:VALARM
ACTION:EMAIL
TRIGGER;VALUE=DATE-TIME:20020120T131500Z
ATTENDEE:MAILTO:susan@sesta.com
END:VALARM
X-NSCP-DUE-TZID:America/Los_Angeles
X-NSCP-TOMBSTONE:0
X-NSCP-ONGOING:0
X-NSCP-ORGANIZER-EMAIL:susan@sesta.com
X-NSCP-GSE-COMPONENT-STATE;
X-NSCP-GSE-COMMENT="PUBLISH-COMPLETED":65538
END:VTODO
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
パラメータ
表 7-24 に fetchevents_by_id パラメータの一覧を示します。
表 7-24    fetchevents_by_id パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
JavaScript の簡略出力を出力するかどうかを示す論理値
compressed=0 の場合は、少ないデータが返される。 次のパラメータを返さない
rrules
rdate
exrule
exdate
compstateの値については、表 7-7を参照
どの繰り返しを取得するかを指示する修飾子。次の値を指定できる
1 = THISINSTANCE
2 = THISANDFUTURE
3 = THISANDPRIOR
4 = THISANDALL
説明
このコマンドを使用して、指定したカレンダーから、指定したイベントおよび繰り返しを取得します。 指定したカレンダーが公開カレンダーでない場合、コマンドに id パラメータを指定する必用があります。 コマンドは mod パラメータに指定された繰り返しを返します。 繰り返し処理を参照してください。
出力形式
データは fmt-out パラメータに指定された形式で返されます。このパラメータを渡さない場合、データはデフォルトの JavaScript 形式で返されます。
デフォルトの出力形式の場合、イベントは 2 つの配列に分けられます。 時間範囲の短いイベント (通常のイベント) は、event 配列に出力されます。 24 時間以上継続するイベント、または終日イベント は、eventD 配列に出力されます。 終日イベントは、isAllDay フラグがオンになっています。
戻り値
システムはデータを返す前に、tzidout パラメータを使用して、どのタイムゾーンにデータを変換するか決定します。 tzidout パラメータがない場合、グリニッジ標準時でデータが返されます。
エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。カレンダーにアクセスできない場合、またはカレンダーが見つからない場合は、エラー番号がエラー文字列に追加されます。
例
このクエリは特定の ID が指定されているイベントを取得します。
http://webcalendarserver/fetchevents_by_id.wcap?id=bes6bbe2mu98uw9& calid=jdoe&uid=3c11625900005ffe00000011000010b7
&fmt-out=text/calendar
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011208T005613Z
X-NSCP-CALPROPS-CREATED:20010913T223336Z
X-NSCP-CALPROPS-READ:999
X-NSCP-CALPROPS-WRITE:999
X-NSCP-CALPROPS-RELATIVE-CALID:jdoe
X-NSCP-CALPROPS-NAME:John Doe
X-NSCP-CALPROPS-LANGUAGE:en
X-NSCP-CALPROPS-PRIMARY-OWNER:jdoe
X-NSCP-CALPROPS-TZID:America/Los_Angeles
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^c^WDEIC^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^a^RSF^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^a^frs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^c^^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^a^frs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^c^dw^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^a^rs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^c^w^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^p^r^g
X-NSCP-CALPROPS-RESOURCE:0
BEGIN:VEVENT
UID:3c11625900005ffe00000011000010b7
DTSTAMP:20011208T015845Z
SUMMARY:eventA
DTSTART:20011225T133000Z
DTEND:20011225T143000Z
CREATED:20011208T004409Z
LAST-MODIFIED:20011208T010857Z
PRIORITY:0
SEQUENCE:4
ORGANIZER;SENT-BY="jdoe@sesta.com";
X-NSCP-ORGANIZER-UID=jdoe;
X-NSCP-ORGANIZER-SENT-BY-UID=jdoe:jdoe
STATUS:CONFIRMED
TRANSP:OPAQUE
ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;
PARTSTAT=ACCEPTED;CN="John Smith";RSVP=TRUE;
X-NSCP-ATTENDEE-GSE-STATUS=2:jsmith
X-NSCP-ORIGINAL-DTSTART:20020210T190000Z
X-NSCP-LANGUAGE:en
BEGIN:VALARM
ACTION:EMAIL
TRIGGER;VALUE=DATE-TIME:20011225T123000Z
ATTENDEE:MAILTO:jdoe@sesta.com
END:VALARM
X-NSCP-DTSTART-TZID:America/Los_Angeles
X-NSCP-TOMBSTONE:0
X-NSCP-ONGOING:0
X-NSCP-ORGANIZER-EMAIL:jdoe@sesta.com
X-NSCP-GSE-COMPONENT-STATE;
X-NSCP-GSE-COMMENT="REQUEST-COMPLETED":31074
END:VEVENT
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
パラメータ
表 7-25 に fetchtodos_by_id パラメータの一覧を示します。
表 7-25    fetchtodos_by_id パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
JavaScript の簡略出力を出力するかどうかを示す論理値
compressed=0 の場合は、少ないデータが返される。 次のパラメータは返されない
rrules
rdate
exrule
exdate
compstate の値については、表 7-7を参照
どの繰り返しを取得するかを指示する修飾子。次の値を指定できる
1 = THISINSTANCE
2 = THISANDFUTURE
3 = THISANDPRIOR
4 = THISANDALL
説明
このコマンドを使用して、指定したカレンダーから、指定したtodo (仕事)およびその繰り返しを取得します。 指定するカレンダーが公開カレンダーでない場合、コマンドにid パラメータを指定する必要があります。
出力形式
データは fmt-out パラメータで指定された形式で返されますこのパラメータを渡さない場合、データはデフォルトの JavaScript 形式で返されます。
JavaScript 出力の場合、todo (仕事)は 2 つの配列に分けられます。 時間範囲の短いtodo (通常のtodo) は、todo 配列に出力されます。 24 時間以上継続する todo (仕事) 、または終日 todo (仕事) は、todoD 配列に出力されます。 終日 todo (仕事) は isAllDay フラグがオンになっています。
戻り値
calid で指定した各カレンダーに関して、そのカレンダーの todo (仕事) を返します。 todo (仕事) に繰り返しがある場合は、rid および mod パラメータの指定に従って、繰り返しが返されます。 繰り返し処理を参照してください。
rid パラメータで指定された時間がグリニッジ標準時でない場合、システムは tzid パラメータで指定されたタイムゾーンを使用してグリニッジ標準時に変換し、データを取得します。 tzid パラメータがない場合、システムはサーバのデフォルトタイムゾーンを使用します。
システムはデータを返す前に、tzidout パラメータを使用して、どのタイムゾーンにデータを変換するか決定します。 tzidout パラメータがない場合、グリニッジ標準時でデータが返されます。
エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。カレンダーにアクセスできない場合、またはカレンダーが見つからない場合は、エラー番号がエラー文字列に追加されます。
例
たとえば、開始日 2002 年 2 月 1 日から終了日 2002 年 3 月 1 日まで毎週午後 5 時に繰り返されるtodo (仕事)「weekly todo B」があります。
次のクエリは 2002 年 2 月 1 日の最初のtodo (仕事)だけをフェッチします。 これは、最初のアイテムの繰り返し ID は指定されている (rid=20020201T170000Z) が、修飾子は指定されていないので、デフォルトで 1 (THISINSTANCE) に設定されるためです。
http://webcalendarserver/fetchtodos_by_id.wcap?
id=n3o3m05sx9v6t98t8u2p&uid=3c15309d000037020020021400003189&
rid=20020201T170000Z&fmt-out=text/calendar
BEGIN:VCALENDARPRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLIS
VERSION:5.1.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011208T005613Z
X-NSCP-CALPROPS-CREATED:20010913T223336Z
X-NSCP-CALPROPS-READ:999
X-NSCP-CALPROPS-WRITE:999
X-NSCP-CALPROPS-RELATIVE-CALID:jdoe
X-NSCP-CALPROPS-NAME:John Doe
X-NSCP-CALPROPS-LANGUAGE:en
X-NSCP-CALPROPS-PRIMARY-OWNER:jdoe
X-NSCP-CALPROPS-TZID:America/Los_Angeles
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^c^WDEIC^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^a^RSF^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^a^frs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^c^^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^a^frs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^c^dw^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^a^rs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^c^w^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^p^r^g
X-NSCP-CALPROPS-RESOURCE:0
BEGIN:VTODO
UID:3c15309d000037020020021400003189
RECURRENCE-ID:20020201T170000Z
DTSTAMP:20011210T222131Z
SUMMARY:weekly todo B
DTSTART:20020201T170000Z
DUE:20020201T170000Z
CREATED:20011210T220101Z
LAST-MODIFIED:20011210T220101Z
PRIORITY:0
SEQUENCE:0
PERCENT-COMPLETE:0
ORGANIZER;SENT-BY="jdoe@sesta.com";
X-NSCP-ORGANIZER-UID=jdoe;
X-NSCP-ORGANIZER-SENT-BY-UID=jdoe:jdoe
STATUS:NEEDS-ACTION
X-NSCP-ORIGINAL-DTSTART:20020201T170000Z
X-NSCP-LANGUAGE:en
X-NSCP-DUE-TZID:Europe/London
X-NSCP-TOMBSTONE:0
X-NSCP-ONGOING:0
X-NSCP-ORGANIZER-EMAIL:jdoe@sesta.com
X-NSCP-GSE-COMPONENT-STATE;
X-NSCP-GSE-COMMENT="PUBLISH-COMPLETED":65538
END:VTODO
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
次のクエリは、最後から 2 番目の繰り返しを指定することで、2002 年 2 月22日 (rid=20020222T170000Z) の最後の 2 つの繰り返しと、繰り返しTHISANDFUTURE を意味する修飾子 2 (mod=2) をフェッチします。
http://webcalendarserver/fetchtodos_by_id.wcap?
id=n3o3m05sx9v6t98tu2p&uid=3c15309d000037020020021400003189&
rid=20020222T170000Z&mod=2&fmt-out=text/calendar
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011208T005613Z
X-NSCP-CALPROPS-CREATED:20010913T223336Z
X-NSCP-CALPROPS-READ:999
X-NSCP-CALPROPS-WRITE:999
X-NSCP-CALPROPS-RELATIVE-CALID:jdoe
X-NSCP-CALPROPS-NAME:John Doe
X-NSCP-CALPROPS-LANGUAGE:en
X-NSCP-CALPROPS-PRIMARY-OWNER:jdoe
X-NSCP-CALPROPS-TZID:America/Los_Angeles
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^c^WDEIC^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^a^RSF^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^a^frs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^c^^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^a^frs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^c^dw^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^a^rs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^c^w^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^p^r^g
X-NSCP-CALPROPS-RESOURCE:0
BEGIN:VTODO
UID:3c15309d000037020020021400003189
RECURRENCE-ID:20020222T170000Z
DTSTAMP:20011210T222757Z
SUMMARY:weekly todo B
DTSTART:20020222T170000Z
DUE:20020222T170000Z
CREATED:20011210T220101Z
LAST-MODIFIED:20011210T220101Z
PRIORITY:0
SEQUENCE:0
PERCENT-COMPLETE:0
ORGANIZER;SENT-BY="jdoe@sesta.com";
X-NSCP-ORGANIZER-UID=jdoe;
X-NSCP-ORGANIZER-SENT-BY-UID=jdoe:jdoe
STATUS:NEEDS-ACTION
X-NSCP-ORIGINAL-DTSTART:20020222T170000Z
X-NSCP-LANGUAGE:en
X-NSCP-DUE-TZID:Europe/London
X-NSCP-TOMBSTONE:0
X-NSCP-ONGOING:0
X-NSCP-ORGANIZER-EMAIL:jdoe@sesta.com
X-NSCP-GSE-COMPONENT-STATE;
X-NSCP-GSE-COMMENT="PUBLISH-COMPLETED":65538
END:VTODO
BEGIN:VTODO
UID:3c15309d000037020020021400003189
RECURRENCE-ID:20020301T170000Z
DTSTAMP:20011210T222757Z
SUMMARY:weekly todo B
DTSTART:20020301T170000Z
DUE:20020301T170000Z
CREATED:20011210T220101Z
LAST-MODIFIED:20011210T220101Z
PRIORITY:0
SEQUENCE:0
PERCENT-COMPLETE:0
ORGANIZER;SENT-BY="jode@sesta.com";
X-NSCP-ORGANIZER-UID=jdoe;
X-NSCP-ORGANIZER-SENT-BY-UID=jdoe:jdoe
STATUS:NEEDS-ACTION
X-NSCP-ORIGINAL-DTSTART:20020301T170000Z
X-NSCP-LANGUAGE:en
X-NSCP-DUE-TZID:Europe/London
X-NSCP-TOMBSTONE:0
X-NSCP-ONGOING:0
X-NSCP-ORGANIZER-EMAIL:jdoe@sesta.com
X-NSCP-GSE-COMPONENT-STATE;
X-NSCP-GSE-COMMENT="PUBLISH-COMPLETED":65538
END:VTODO
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
目的
サーバでサポートされている、すべてのタイムゾーンに関するデータを取得します。
パラメータ
表 7-26 に get_all_timezones パラメータの一覧を示します。
表 7-26    get_all_timezones パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
説明
このコマンドを使用して、サーバでサポートされているすべてのタイムゾーンに関するデータを取得します。クロスオーバー値には、そのタイムゾーンで夏時間が開始および終了する日付が定義されます。 奇数のインデックス日付に、夏時間が始まります 偶数のインデックス日付に、夏時間が終わりますタイムゾーンに夏時間がない場合、この値には空の文字列が設定されます。
戻り値
dtstart および dtend パラメータで年の範囲を指定すると、範囲内の年のクロスオーバー日付だけが返されます。年の範囲を指定しない場合は、認識されている最初の年から最後の年 (1987〜2087) までのクロスオーバー日付がすべて返されます。
データは fmt-out パラメータに指定した形式で返されます。 fmt-out パラメータを渡さない場合は、デフォルトのJavaScript 形式が使用されます。
エラーコード
タイムゾーンの取得中にエラーが発生した場合は、サーバはエラーコード GET_ALL_TIMEZONES_FAILED(24) を返します。
例
例 1 では、コマンド出力を示します。例 2 では、クロスオーバー配列を示します。
http://calendarserver/get_all_timezones.wcap?
id=2m2ns6w9x9h2mr6p3b&fmt-out=text/calendar
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
X-NSCP-CALPROPS-LAST-MODIFIED:19700101T000000Z
X-NSCP-CALPROPS-CREATED:19700101T000000Z
X-NSCP-CALPROPS-READ:999
X-NSCP-CALPROPS-WRITE:999
X-NSCP-CALPROPS-RELATIVE-CALID:default
X-NSCP-CALPROPS-LANGUAGE:en
X-NSCP-CALPROPS-PRIMARY-OWNER:jdoe
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^a^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^c^wdeic^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^a^sf^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^c^^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^p^r^g
X-NSCP-CALPROPS-RESOURCE:0
BEGIN:VTIMEZONE
TZID:Africa/Amman
BEGIN:STANDARD
DTSTART:19950920T000000
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
TZNAME:EEST
RRULE:FREQ=YEARLY;BYDAY=-1FR;BYMONTH=9
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19930420T000000
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
TZNAME:EEDT
RRULE:FREQ=YEARLY;BYDAY=-1FR;BYMONTH=4
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Africa/Cairo
BEGIN:STANDARD
DTSTART:19950924T000000
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
TZNAME:EEST
COMMENT:this is a comment
RRULE:FREQ=YEARLY;BYDAY=-1FR;BYMONTH=9
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19950420T000000
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
TZNAME:EEDT
RRULE:FREQ=YEARLY;BYDAY=-1FR;BYMONTH=4
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VTIMEZONE
BEGIN:VTIMEZONE
TZID:Pacific/Tongatapu
BEGIN:STANDARD
DTSTART:19970101T000000
TZOFFSETFROM:+1300
TZOFFSETTO:+1300
TZNAME:TOT
TZNAME:PHOT
END:STANDARD
END:VTIMEZONE
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
次に、クロスオーバー日付が 1998 年の途中から 2006 年に制限されている場合の、タイムゾーンの配列要素を挙げます。
timezoneList[20] = new TZ('America/Los_Angeles',
'PST',
'PDT',
'-0800',
'-0700',
new Array
('19981025T090000Z','20020404T100000Z','20021031T090000Z',
'20020402T100000Z','20021029T090000Z','20020401T100000Z',
'20021028T090000Z', '20020407T100000Z', '20021027T090000Z',
'20030406T100000Z', '20031026T090000Z', '20040404T100000Z',
'20041031T090000Z', '20050403T100000Z', '20051030T090000Z',
'20060402T100000Z', '20061029T090000Z'))
「America/Phoenix」タイムゾーンに夏時間はありません。したがって、夏時間の要素は標準時間の要素とまったく同じです。また、クロスオーバー文字列は空の文字列に設定されます。
timezoneList[23] = new TZ('America/Phoenix',
'MST',
'MST',
'-0700',
'-0700',
new Array())
パラメータ
表 7-27 に get_calprops パラメータの一覧を示します。
表 7-27    get_calprops パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
説明
このコマンドを使用して、指定したカレンダーのプロパティを取得します。
戻り値
指定したカレンダーのプロパティを示すページが返されます。ページには次の情報が含まれます。
相対 ID
読み取りアクセス値 (0 = 読み取り不可、1 = 読み取り可)
書き込みアクセス値 (0 = 書き込み不可、1 = 書き込み可)
エラーコード
カレンダーは存在しているが、ユーザにそのカレンダーの読み取りアクセス権がない場合、そのカレンダーのインデックスの layer_errno[x] に、値 1 が設定されます。
カレンダーが見つからない場合、そのカレンダーのインデックスの layer_errno[x] に、値 2 が設定されます。
カレンダーの取り込みに失敗した場合、そのエラー番号 errno は GET_CALPROPS_FAILED(20) に設定されます。
例
次の例では、カレンダー jdoe、jsmith、、susan の順で、カレンダープロパティを取得します。
http://webcalendarserver/get_calprops.wcap?id=2mu95r5so0hq68ts6q3
&calid=jdoe;jsmith;susan&fmt-out=text/calendar
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011208T005613Z
X-NSCP-CALPROPS-CREATED:20010913T223336Z
X-NSCP-CALPROPS-READ:999
X-NSCP-CALPROPS-WRITE:999
X-NSCP-CALPROPS-RELATIVE-CALID:jdoe
X-NSCP-CALPROPS-NAME:John Doe
X-NSCP-CALPROPS-LANGUAGE:en
X-NSCP-CALPROPS-PRIMARY-OWNER:jdoe
X-NSCP-CALPROPS-TZID:America/Los_Angeles
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^c^WDEIC^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^a^RSF^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^a^frs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^c^^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^a^frs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^c^dw^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^a^rs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^c^w^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^p^r^g
X-NSCP-CALPROPS-RESOURCE:0
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011115T234638Z
X-NSCP-CALPROPS-CREATED:20011115T234638Z
X-NSCP-CALPROPS-READ:999
X-NSCP-CALPROPS-WRITE:999
X-NSCP-CALPROPS-RELATIVE-CALID:jsmith
X-NSCP-CALPROPS-NAME:James Smith
X-NSCP-CALPROPS-LANGUAGE:en
X-NSCP-CALPROPS-PRIMARY-OWNER:jsmith
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^a^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^c^wdeic^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^a^sf^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^c^^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^p^r^g
X-NSCP-CALPROPS-RESOURCE:0
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011130T002458Z
X-NSCP-CALPROPS-CREATED:20010914T015956Z
X-NSCP-CALPROPS-READ:999
X-NSCP-CALPROPS-WRITE:999
X-NSCP-CALPROPS-RELATIVE-CALID:susan
X-NSCP-CALPROPS-NAME:Susan Anderson
X-NSCP-CALPROPS-LANGUAGE:en
X-NSCP-CALPROPS-PRIMARY-OWNER:susan
X-NSCP-CALPROPS-OWNERS:jdoe
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^c^WDEIC^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^a^RSF^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^a^rsf^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^c^w^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^p^r^g
X-NSCP-CALPROPS-RESOURCE:0
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
パラメータ
表 7-28 に get_freebusy パラメータの一覧を示します。
表 7-28    get_freebusy パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
説明
このコマンドは、指定したユーザの空き時間の情報を取得します。空き時間の情報は、特定の時間帯にユーザの予定があるかどうかを示します。ただし、予定の内容は示しません。
エラーコード
何らかの理由でコマンドの実行に失敗すると、errno が GET_FREEBUSY_FAILED(39)に設定されます。
例
たとえば jdoe というカレンダーに次のイベントがあります。
10:00-11:00
最初の会議
12:00-1:00
昼食
3:00-4:00
次の会議
jdoe の空き時間 (9:00 〜 6:00) は、次のようになります。
9-10
:
空き時間
10-11
:
予定あり
11-12
:
空き時間
12-1
:
予定あり
1-3
:
空き時間
3-4
:
予定あり
4-6
:
空き時間
次のURL では、カレンダー jdoe の 2002 年 5 月 1 日〜 2002 年 7 月 1 日に検出された空き時間情報が生成されます。
http://webcalendarserver/get_freebusy.wcap?id=2mu95r5so0hq68ts6q3&c alid=jsun&dtstart=20020501T112233Z&dtend=20020701T112233Z&fmt-out=t ext/calendar
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
X-NSCP-CALPROPS-LAST-MODIFIED:20010517T012259Z
X-NSCP-CALPROPS-CREATED:20010517T012259Z
X-NSCP-CALPROPS-READ:999
X-NSCP-CALPROPS-WRITE:999
X-NSCP-CALPROPS-DESCRIPTION:Work Calendar for John Doe
X-NSCP-CALPROPS-RELATIVE-CALID:jdoe
X-NSCP-CALPROPS-NAME:John Doe
X-NSCP-CALPROPS-PRIMARY-OWNER:jdoe
X-NSCP-CALPROPS-OWNERS:susan
X-NSCP-CALPROPS-CATEGORIES:business
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^a^S^g
BEGIN:VFREEBUSY
DTSTART:20020501T112233Z
DTEND:20020701T112233Z
FREEBUSY;FBTYPE=FREE:20020501T112233Z/20020518T170000Z
FREEBUSY;FBTYPE=BUSY:20020518T170000Z/20020518T190000Z
FREEBUSY;FBTYPE=FREE:20020518T190000Z/20020525T170000Z
FREEBUSY;FBTYPE=BUSY:20020525T170000Z/20020525T190000Z
FREEBUSY;FBTYPE=FREE:20020525T190000Z/20020601T170000Z
FREEBUSY;FBTYPE=BUSY:20020601T170000Z/20020601T190000Z
FREEBUSY;FBTYPE=FREE:20020601T190000Z/20020608T170000Z
FREEBUSY;FBTYPE=BUSY:20020608T170000Z/20020608T190000Z
FREEBUSY;FBTYPE=FREE:20020608T190000Z/20020615T170000Z
FREEBUSY;FBTYPE=BUSY:20020615T170000Z/20020615T190000Z
FREEBUSY;FBTYPE=FREE:20020615T190000Z/20020622T170000Z
FREEBUSY;FBTYPE=BUSY:20020622T170000Z/20020622T190000Z
FREEBUSY;FBTYPE=FREE:20020622T190000Z/20020629T170000Z
FREEBUSY;FBTYPE=BUSY:20020629T170000Z/20020629T190000Z
FREEBUSY;FBTYPE=FREE:20020629T190000Z/20020701T112233Z
END:VFREEBUSY
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
目的
大域的に一意の識別子 (GUID) のセットを生成します。
パラメータ
表 7-29 に get_guids パラメータの一覧を示します。
表 7-29    get_guids パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
説明
このコマンドは指定された数のグローバルな一意識別子 (GUID) を返します。このコマンドの呼び出しに、クライアントの認証は必要ありません。
例
http://webcalendarserver/get_guids.wcap?guidCount=10
&fmt-out=text/calendar
BEGIN:VCALENDAR
VERSION:5.1.1
PRODID:SunONE Calendar Server 5.1.1
X-NSCP-GUID0:e5e4b537465600000b000000c3000000
X-NSCP-GUID1:e5e4b537d47900000c000000c3000000
X-NSCP-GUID2:e5e4b537961400000d000000c3000000
X-NSCP-GUID3:e5e4b5373d3a00000e000000c3000000
X-NSCP-GUID4:e5e4b537f31400000f000000c3000000
X-NSCP-GUID5:e5e4b5378259000010000000c3000000
X-NSCP-GUID6:e5e4b537b026000011000000c3000000
X-NSCP-GUID7:e5e4b537c263000012002002c3000000
X-NSCP-GUID8:e5e4b537241f000013000000c3000000
X-NSCP-GUID9:e5e4b537e733000014000000c3000000
END:VCALENDAR
パラメータ
表 7-30 に get_userprefs パラメータの一覧を示します。
表 7-30    get_userprefs パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
説明
このコマンドは、現在のユーザのカレンダー設定とこのユーザに関連するサーバ設定を取得します。 取得するサーバ設定には次の事項が含まれます。
allowchangepassword。 ユーザはパスワードを変更できる
allowcreatecalendars。ユーザはカレンダーを作成できる
allowdeletecalendars。ユーザはカレンダーを削除できる
allowpublicwritablecalendars。ユーザは、公的に書き込み可能なカレンダーを所有できる
validateowners。この値が 1 に設定されている場合は、ディレクトリのユーザメカニズムが LDAPまたは CSAPI 互換のユーザ定義のメカニズムにかかわらず、カレンダーの各所有者がディレクトリに存在することをサーバで確認する必要がある
allowsetprefs。この値が 1 に設定されている場合は、set_userprefs.wcap を使用してユーザ設定を変更できる userid パラメータを使用するには、2 つの条件を満たしている必要があります。 サーバの構成設定 service.admin.calmaster.wcap.
allowgetmodifyuserprefs は ics.conf ファイルで「yes」に設定されている必要があります。 また、要求者は login.wcap コマンドを使用して管理者の権限でログインする必要があります。
サーバの設定の詳細については 『管理者ガイド』を参照してください。
http://webcalendarserver/get_userprefs.wcap?id=b5q2o8ve2rk02nv9t6&
calid=jdoe&fmt-out=text/calendar
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
X-NSCP-WCAP-PREF-cn:John Doe
X-NSCP-WCAP-PREF-givenName:John
X-NSCP-WCAP-PREF-mail:jdoe@sesta.com
X-NSCP-WCAP-PREF-preferredlanguage:
X-NSCP-WCAP-PREF-sn:Doe
X-NSCP-WCAP-PREF-icsCalendar:jdoe
X-NSCP-WCAP-PREF-icsTimezone:Europe/London
X-NSCP-WCAP-PREF-icsDefaultSet:
X-NSCP-WCAP-PREF-icsFirstDay:
X-NSCP-WCAP-PREF-icsSet:name=mygroup$calendar=lucy\;jjones\;jdoe
TimeZone$tzmode=specify$tz=America/Denver$mergeInDayView=true
$description=
X-NSCP-WCAP-PREF-icsSubscribed:lucy$,jjones$,jsmith:jdoe
X-NSCP-WCAP-PREF-icsFreeBusy:jdoe
X-NSCP-WCAP-PREF-ceInterval:PT0H30M
X-NSCP-WCAP-PREF-ceDayTail:19
X-NSCP-WCAP-PREF-ceDefaultView:overview
X-NSCP-WCAP-PREF-ceColorSet:pref_group4
X-NSCP-WCAP-PREF-ceToolText:1
X-NSCP-WCAP-PREF-ceToolImage:1
X-NSCP-WCAP-PREF-ceFontFace:PrimSansBT,Verdana,sans-serif
X-NSCP-WCAP-PREF-ceExcludeSatSun:0
X-NSCP-WCAP-PREF-ceGroupInviteAll:1
X-NSCP-WCAP-PREF-ceSingleCalendarTZID:0z
X-NSCP-WCAP-PREF-ceAllCalendarTZIDs:0
X-NSCP-WCAP-PREF-ceNotifyEnable:0
X-NSCP-WCAP-PREF-ceNotifyEmail:jdoe@sesta.com
X-NSCP-WCAP-PREF-ceDefaultAlarmStart:P15M
X-NSCP-WCAP-PREF-ceDefaultAlarmEmail:jdoe@sesta.com
X-NSCP-WCAP-PREF-nswcalCALID:jdoe
X-NSCP-WCAP-PREF-icsDWPHost:DWPserver1
X-NSCP-WCAP-PREF-icsCalendarOwned:jdoe$John's Calendar,jdoe:personal$John's Personal Calendar
X-NSCP-WCAP-SERVER-PREF-allowchangepassword:no
X-NSCP-WCAP-SERVER-PREF-allowcreatecalendars:yes
X-NSCP-WCAP-SERVER-PREF-allowdeletecalendars:
X-NSCP-WCAP-SERVER-PREF-allowpublicwritablecalendars:
X-NSCP-WCAP-SERVER-PREF-validateowners:no
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
目的
ファイルのイベントと todo (仕事) をカレンダーにインポートします。
注 appid の ENS 通知はまだ実装されていません。
パラメータ
表 7-31 に import パラメータの一覧を示します。
説明
このコマンドを使用して、以前に export コマンドを使用してファイルへのエクスポートを行った、特定のカレンダーのイベントと todo (仕事) をインポートします。 インポートするファイルの MIME コンテンツタイプを、content-in パラメータに指定する必要があります。
開始日または終了日を指定しない場合、または dtstart および dtend の値として 0 を渡した場合は、指定したカレンダーに対してファイル内のすべてのイベントと todo (仕事) が追加されます。開始日および終了日を指定した場合は、その期間に該当するファイル内のイベントと todo (仕事) だけがインポートされます。 開始日および終了日は、日付と時刻の最後に Z を付けたUTC 時間で指定します。
このコマンドは、HTTP GET メッセージで使用できるほかのコマンドと異なり、HTTP POST メッセージで使用する必要があります。 エクスポートしたイベントと todo (仕事) が含まれるファイルを、POST メッセージに添付します。 このファイルは、iCalendar (.ics) または XML (.xml) 形式でなければなりません。
例
次の POST メッセージは、import コマンドを使用して、添付した iCalendar ファイルをカレンダー jdoe にインポートします (import コマンドにはセッション ID が必要です)。
POST /import.wcap?id=t95qm0n0es3bo35r&calid=jdoe&dtstart=0&dtend=0
Content-type: multipart/form-data;
boundary=---------------------------33111928916708
Content-Length: 679
-----------------------------33111928916708
Content-Disposition: form-data; name="Upload";
filename="C:\TEMP\ical1.ics"
BEGIN:VCALENDAR
BEGIN:VEVENT
DTSTART:20020105T100000Z
DTEND:20020105T110000Z
DTSTAMP:20010104T120020Z
CREATED:20010105T110000Z
LAST-MODIFIED:20010104T120020Z
SUMMARY:Weekly QA Meeting
UID:random-uid001
END:VEVENT
BEGIN:VEVENT
DTSTART:20020106T100000
DTEND:20020106T110000
DTSTAMP:20010104T120020
CREATED:20010105T110000Z
LAST-MODIFIED:20010104T120020Z
SUMMARY:Weekly QA Meeting 2
UID:random-uid002
END:VEVENT
END:VCALENDAR
-----------------------------33111928916708--
次の HTML フォームでは、指定されたファイルを添付した POST メッセージが作成されます。
<FORM METHOD=POST ENCTYPE="multipart/form-data"
ACTION="http://webcalendarserver:12345/import.wcap?id=t95qm0n0es3bo 35r&calid=jdoe&dtstart=0&dtend=0&content-in=text/calendar">
<ol>
<li>file to import:<input type="file" accept="text" name="Upload">
</li>
<li>Press Import Now:<input type="submit" value="Import Now"></li>
</ol>
</FORM>
パラメータ
表 7-32 に login パラメータの一覧を示します。
説明
このコマンドは、特定のユーザが Sun ONE Calendar Server にログインするときに、ユーザ名とパスワードの規則に基づいて、そのユーザを認証します。
ユーザ名は、サーバがユーザを一意に識別するためのプレーンテキスト文字列です。このユーザ名は、たとえばユーザの電子メールアドレスでもかまいません。パスワードもプレーンテキストです。
fmt-out=text/html
このデータタイプは、WCAP の login コマンドでのみ使用できます。これは、SHTML ユーザインタフェースへログインする目的を表すものです。 login 中に fmt-out=text/html が検出されると、コマンドは command.shtml にリダイレクトされ、ユーザは Sun ONE Calendar Server のユーザインタフェースに接続されます。このデータタイプはパラメータのデフォルトではないため、Sun ONE Calendar Server インタフェースへログインする場合には明示的に指定する必要があります。
認証
内部認証を行うには、デフォルトの LDAP 認証を使用するか、独自の CSAPI プラグイン経由で既存のユーザ認証方式に接続します (CSAPI 認証の詳細は、csIAuthentication を参照)。 プロキシ認証 SDK の詳細は第 3 章の「概要」、および第 4 章の「API リファレンス」を参照してください。
ユーザが認証に失敗した場合は、ログインに失敗したことを示すエラーメッセージがログインウィンドウに表示されます。
例
次の URL は、ユーザ jdoe としてログインします。
http://webcalendarserver/login.wcap?user=jdoe&password=mypword
戻り値
refresh パラメータを渡さないで、fmt-out に text/js を指定する場合、デフォルト値は0 です。 fmt-out に別の形式の text/calendar または text/xml を指定する場合、デフォルト値は 1 です。
refresh パラメータに 1 を指定した場合、返されるページには、次のようにセッション ID が 1 行で示されます。
これは、私的カレンダーにアクセスする場合に、さまざまな WCAP コマンドに渡す値です。 また、この値は logout などの特定のコマンドに必要なパラメータです。
refresh パラメータに 0 を指定すると、Sun ONE Calendar Server のユーザインタフェースへのエントリページの場所が記載された JavaScript 出力が返されます。
パラメータに 0 を設定すると、login コマンドはデフォルトの html ファイルを含むすべての値を返します。
HTTP/1.0 302 OK
Date: Tue, 11 May 2002 22:38:33 GMT
Pragma: no-cache
Expires: 0
Cache-Control: no-cache
Content-Length: 0
Last-modified: Tue, 11 May 2002 22:38:33 GMT
Location:
http://webcalendarserver/en/main.html?id=er6en05tv6n3bv9&lang=en
&host=http://webcalendarserver/
<html><head><script>
function color(s) { if (s) document.bgColor=s }
var id='er6en05tv6n3bv9'
var userid='jdoe'
var calid='jdoe'
var errno=new Array()
var errstr=''
</script></head>
<body bgcolor='9999CC' onLoad=parent.ceCB(window.name)>
パラメータ
表 7-33 に logout パラメータの一覧を示します。
表 7-33    logout パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
説明
このコマンドは、指定した現在のユーザのセッションを終了し、セッションテーブルにあるユーザのセッションインスタンスを削除します。ユーザはログイン画面に戻ります。
http://webcalendarserver/logout.wcap?id=bu9p3eb8x5p2nm0q3
目的
Calender Server がアクティブかどうかを確認します。
説明
このコマンドは、サーバの応答を示す最小の HTML ページを返します。
このコマンドを使用できるのは、管理権限を持つユーザだけです。
戻り値
次の例では、管理者の userid と calid は両方とも adminX です。
HTTP/1.0 200
Date: Thu, 03 Jun 2002 21:31:42 GMT
Content-type: text/html; charset=iso-8859-1
Content-length: 190
Last-modified: Thu, 03 Jun 2002 21:31:42 GMT
Pragma: no-cache
Expires: 0
Cache-Control: no-cache
<html><head><script>
function color(s) { if (s) document.bgColor=s }
var id='bb5rt6eb5pu9v9w9'
var userid='adminX'
var calid='adminX'
var errno=new Array()
parent.ceCB(window.name)
</script></head></html>
パラメータ
表 7-34 に search_calprops パラメータの一覧を示します。
表 7-34    search_calprops パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
説明
このコマンドは、searchOpts で指定したクエリタイプを使用して、カレンダーを検索します。 指定した seachOpts を使用して、指定したプロパティ (primaryOwner、calid、name) の文字列が search-string と一致する場合は、すべてのカレンダーのカレンダープロパティが返されます。 ただし、返されるプロパティ数は、maxResults に指定された最大の一致数までです。
検索するプロパティ
このコマンドは、次の 3 つのプロパティのいずれかと一致する文字列を検索します。
特定のプロパティの値を検索するには、そのパラメータを 1 に設定します。 primaryOwner および name を 0 に設定すると、calid はデフォルトで 1 になります。 また、calid パラメータの設定にかかわらず、search-string が calid と見なされます。
search-string を含むカレンダープロパティを返す (CONTAINS)
search-string で始まるカレンダープロパティを返す (BEGINS_WITH)
例
次の URL では、すべてのカレンダーから、文字列「jdoe」を含む (searchOpts=0)、一次所有者のプロパティ (primaryOwner=1) を検索します。
http://webcalendarserver/search_calprops.wcap?id=n3o3m05sx9v6t98t8u2p&
search-string=jdoe&primaryOwner=1&searchOpts=0&maxResults=50&
fmt-out=text/calendar
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011208T005613Z
X-NSCP-CALPROPS-CREATED:20010913T223336Z
X-NSCP-CALPROPS-READ:999
X-NSCP-CALPROPS-WRITE:999
X-NSCP-CALPROPS-RELATIVE-CALID:jdoe
X-NSCP-CALPROPS-NAME:John Doe
X-NSCP-CALPROPS-LANGUAGE:en
X-NSCP-CALPROPS-PRIMARY-OWNER:jdoe
X-NSCP-CALPROPS-TZID:America/Los_Angeles
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^c^WDEIC^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^a^RSF^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^a^frs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^c^^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^a^frs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^c^dw^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^a^rs^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^c^w^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:lucy^p^r^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:jjones^p^r^g
X-NSCP-CALPROPS-RESOURCE:0
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1.1
X-NSCP-CALPROPS-LAST-MODIFIED:20010917T213724Z
X-NSCP-CALPROPS-CREATED:20010917T213724Z
X-NSCP-CALPROPS-READ:999
X-NSCP-CALPROPS-WRITE:999
X-NSCP-CALPROPS-RELATIVE-CALID:jdoe:sports
X-NSCP-CALPROPS-NAME:Sports Calendar
X-NSCP-CALPROPS-LANGUAGE:en
X-NSCP-CALPROPS-PRIMARY-OWNER:jdoe
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^c^WDEIC^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@@o^a^RSF^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^a^^g
X-NSCP-CALPROPS-ACCESS-CONTROL-ENTRY:@^c^^g
X-NSCP-CALPROPS-RESOURCE:0
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR
パラメータ
表 7-35 に set_calprops パラメータの一覧を示します。
表 7-35    set_calprops パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
説明
このコマンドは、指定されたパラメータの値だけを変更します。すべてのパラメータをコマンドに指定する必要はありません。変更するパラメータだけを指定します。カレンダープロパティとは、カレンダーの名前、読み取りおよび書き込みアクセス権の値 (acl パラメータ)、所有者のリスト、およびカテゴリのリストを含む、カレンダー固有の状態のことです。
read および write パラメータは使用しないでください。 この機能は、acl パラメータに置き換えられていて、 下位互換性を保持するためだけに残されています。
カレンダーの名前を変更する
単一カレンダーの例
次の URL は、カレンダープロパティを設定します (calid パラメータが必要)。
http://webcalendarserver?set_calprops.wcap?id=dfasdfzd3ds&calid=jdo e&categories=business;meeting&name=John%39s%32Calendar
複数のカレンダーの例
複数のカレンダーのプロパティを一度に設定するには、multiple パラメータに設定するカレンダーの数を設定して、それぞれのカレンダーに cal パラメータを渡します。cal パラメータには、識別するカレンダーの完全なプロパティパラメータリストを符号化した文字列が入っています。この文字列内では、すべての特殊文字は、パーセント記号 (%) と特殊文字用の 16 進 ASCII コードの組み合わせに置き換えます。一般的な特殊文字のASCII 16進コードは、次のとおりです。
文字
コード
たとえば、次の URL では、ID が xxxx、yyyy、および zzzz である 3 つのカレンダーの説明が、それぞれ X-Calendar、Y-Calendar、および Z-Calendar に変更されます。
http://webcalendarserver?id=fasdfzd3ds
&multiple=3
&cal=calid%3Dxxxx%26description%3DX-Calendar
&cal=calid%3Dyyyy%26description%3DY-Calendar
&cal=calid%3Dzzzz%26description%3DZ-Calendar
http://webcalendarserver?id=fasdfzd3ds&calid=xxxx&desc=X-Calendar
http://webcalendarserver?id=fasdfzd3ds&calid=yyyy&desc=Y-Calendar
http://webcalendarserver?id=fasdfzd3ds&calid=zzzz&desc=Z-Calendar
この例では、multiple パラメータが 3 に設定されているため、cal パラメータのインスタンスが 3 個存在します。 各 cal パラメータの値は、符号化されたパラメータとその値のリストです。 サーバは各 cal パラメータを復号し、適切なプロパティを設定します。
アクセス制御エントリ
この章のはじめにある「アクセス制御エントリ」を参照してください。 ユーザインタフェースの制限のため、1 つのカレンダーあたりの推奨されるユーザ数は最大 75 名です。
空き時間の表示アクセス
この章のはじめにある「共通のトピック」の「空き時間の表示のアクセス」を参照してください。
他の言語または文字セットの選択
この章のはじめにある「共通のトピック」の「異なる言語または文字セットの選択」を参照してください。
パラメータ
表 7-36 に set_userprefs パラメータの一覧を示します。
表 7-36    set_userprefs パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
このパラメータを 1 に設定し、icsSet または icsSubscribed を設定する場合、calid を保存するときに、文字「^」が「:」に変換される
説明
このコマンドは、現在のユーザ設定を変更します。ユーザのパスワードは、LDAP を介して変更することもできます。
このパラメータは、カレンダーの予約購読リスト (icsSubscribed) またはグループの予約購読リスト (icsSet) を設定する場合にだけ使用します。 入力したコマンドの calid では、コロン「:」がキャレット「^」に置き換えられていなければなりません。 たとえば、calid が jdoe:personal の場合、コマンドが正しく機能するには、WCAP はこれを jdoe^personal として受信する必要があります。
convertCalid の値が 1 の場合、WCAP によって「^」が「:」に戻されます。 convertCalid の値が 0 の場合、変換は行われません。
管理者がログインしているときに、ics.conf ファイルの service.admin.calmaster.wcap.allowgetmodifyuserprefs が「yes」に設定されている場合、userid パラメータはどのユーザ設定を行うか指定します。
例
次の URL では、新しい設定 ceBgcolor がカレンダーに追加され、その値が black に設定されます。
http://webcalendarserver/set_userprefs.wcap?id=b5q2o8ve2rk02nv9t6
&add_attrs=ceBgcolor=black
次の URL では、カレンダー設定 ceBgcolor がユーザ設定から削除されます。
http://webcalendarserver/set_userprefs.wcap?id=b5q2o8ve2rk02nv9t6
&del_attrs=ceBgcolor
次の URL では、カレンダー設定 ceBgcolor の値が white に変更されます。
http://webcalendarserver/set_useprefs.wcap?id=b5q2o8ve2rk02nv9t6
&set_attrs=ceBgcolor=white
次の URL では、ログインした管理者が、ユーザ jdoe のカレンダー設定 ceBgcolor の値を black に変更できるようになります。
http://webcalendarserver/set_userprefs.wcap?id=b5q2o8ve2rk02nv9t6&u serid=jdoe&set_attrs=ceBgcolor=black
パラメータ
表 7-37 に storeevents パラメータの一覧を示します。
表 7-37    storeevents パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
どのアプリケーションが要求を発行しているかを指定する、データベースに格納されない実行時パラメータ。 ENS はこのパラメータを使用して、どの X-Token を返すかを指定する。 WCAP コマンドの出力には影響しない
ENS X-Token の詳細については、『Sun ONE Messaging and Collaboration イベント通知サービスマニュアル』を参照
JavaScript の簡略出力を出力するかどうかを示す論理値
compressed=0 の場合は、少ないデータが返される。 次のパラメータを返さない
rrules
rdate
exrule
exdate
イベントの目的の説明。任意の長さの文字列。 このパラメータを渡さない場合は、desc は summary の値に設定される
イベントの継続時間。 イベントに duration と dtend が指定されている場合、duration は無視される
除外するイベントの繰り返し規則。繰り返し規則の文字列をセミコロンで区切ったリスト
各規則の値は、二重引用符で囲む必要がある。 繰り返し処理を参照
1 = PUBLISH (開催者専用)
2 = REQUEST (開催者専用)
4 = REPLY (出席者専用)
8 = CANCEL (開催者専用)
16 = MOVE
32 = COUNTER (出席者専用)
1 = THISINSTANCE
2 = THISANDFUTURE
3 = THISANDPRIOR
4 = THISANDALL
このコマンドは使用しない。下位互換性を保持するために残されている。GSE (Group Scheduling Engine) モジュールで、すべてのメール通知は処理される
イベントの繰り返し規則。繰り返し規則の文字列をセミコロンで区切ったリスト
各規則の値は、二重引用符で囲む必要がある。 繰り返し処理を参照
0 CONFIRMED
1 CANCELLED
2 TENTATIVE
3 NEEDS_ACTION
4 COMPLETED
5 IN_PROCESS
6 DRAFT
7 FINAL
新しいイベントを作成するときは必須。イベントを変更するときは必須ではない。文字列にスペースを指定する場合は、コード %20 を使用する
説明
このコマンドを使用して、指定した属性を持つ予定を作成または変更し、データベース内の指定したカレンダーに格納します。
このコマンドは、rrules、exrules、rid、 mod、および rchange パラメータの指定に従って、繰り返しを作成して格納します。 繰り返し処理を参照してください。
notify 値が 1 の場合、IMIP PUBLISH メッセージがイベントのすべての出席者に送信されます。
イベントの言語を指定するには、language パラメータを使用します。 使用可能な言語コードのリストについては、異なる言語または文字セットの選択を参照してください。
サーバは、ファイルの添付をサポートしていません。 attachments パラメータは、iCalendar と相互運用するためのもので、ここでは機能しません。
戻り値
fmt-out パラメータを text/calendar または text/xml に設定すると、次のような HTML コメントのエラー値だけが返されます。
fmt-out パラメータを text/js に設定するか、あるいはデフォルトで text/js 設定されている場合、すべてのデータについて fetchcomponents_by_range.wcap コマンドから JavaScript が返されます。
fetch パラメータを設定すると格納された todo (仕事) のデータが返されます (fetch=1)。 また、tzidout パラメータを使用して、返されるデータが変換されるタイムゾーンを指定します。 tzidout パラメータがない場合、データはグリニッジ標準時で返されます。
エラーコード
このコマンドでは、リンクしたイベントを変更することはできません。 変更しようとすると、コマンドの実行が失敗し、errno 配列に CANNOT_MODIFY_LINKED_EVENTS(31) が返されます。
すでにスケジュールされている時間枠にイベントを保存しようとすると (二重予約)、コマンドの実行が失敗し、エラー STORE_FAILED_DOUBLE_BOOKED(40) が返されます。
必須パラメータ
このコマンドを使用して、新しいイベントを作成し、既存のイベントを変更します。必須パラメータは、実行する内容によって次のように異なります。
新しいイベントを作成する場合は、次の 2 つのパラメータだけが必要です。
その他のパラメータはすべてオプションです。 uid はサーバによって生成されます。
既存のイベントを変更する場合は、次の 3 つのパラメータが必要です。
その他のパラメータはすべてオプションです。パラメータを指定しない場合は、プロパティの以前の値が保持されます。
継続時間
duration は、ISO 8601 形式で指定します。次に例を示します。
文字列に含まれる T は、日付情報 (年、月、日) と時刻情報 (時、分、秒) の区切り文字です。
ヒント 終了日時 (dtend) は、duration よりも優先されます。 duration および dtend の両方を指定すると、duration は無視されます。
例
次の URL では、storeevents.wcap を呼び出して、イベントをカレンダー john に格納します。
http://webcalendarserver/storeevents.wcap?id=3423423asdfasf
&calid=john&dtstart=20020101T103000&dtend=20020101T113000&uid=001
&summary=new%20year%20event
この例を実行すると、iCalendar データベースに次のエントリが作成されます。
BEGIN:VEVENT
DTSTART:20020101T183000Z
DTEND:20020101T193000Z
UID:001
SUMMARY:new year event
END:VEVENT
グループスケジューリング - attendee パラメータ
attendee および method は、グループスケジュールイベントを作成するときに最も重要なパラメータです。 attendee パラメータは、出席者エントリをセミコロンで区切ったリストです。ここでは、出席者エントリについて説明します。
各出席者エントリには、イベントの参加状況や出席が必要かどうかなど、いくつかのパラメータが含まれます。 これらのパラメータは、すべて iCalendar の仕様 (RFC 2445) に定義されている ATTENDEE プロパティと似た構文でカプセル化されます。WCAP の attendee の構文を理解するには、このドキュメントにすべて目を通し、必要な基本情報を理解することをお勧めします。WCAP では、パラメータの区切り文字として「^」を使用するなど、いくつかの違いがあります。ただし、複数の出席者を区切るときは、iCalendar で標準に使用されるセミコロンを使用します。
たとえば、iCalendar では、次のような構文が使用されます。
PARSTAT=ACCEPTED;RSVP=TRUE:mailto:abc@xyz.com WCAP 出席者エントリの例
PARSTAT=ACCEPTED^RSVP^=TRUE^mailto:abc@xyz.com
出席者A (attA) が出席依頼を承諾する場合、WCAP コマンドは次のようになります。
PARTSTAT=ACCEPTED^RSVP=TRUE^attA
出席者B (attB) が出席依頼を辞退する場合、WCAP コマンドは次のようになります。
PARTSTAT=DECLINED^RSVP=TRUE^attB
メールによる出席者 jdoe@xyz.com は、出席するかどうかをまだ決めていないが、返答する必要がない場合、WCAP コマンドは次のようになります。
PARTSTAT=NEEDS-ACTION^RSVP=FALSE:mailto:jdoe@xyz.com
表 7-38 は、WCAP で認識される iCalendar ATTENDEE プロパティのパラメータの一覧です。ほとんどのパラメータはオプションです。情報は格納されますが、これらのパラメータすべてが Calendar Server で完全にサポートされているわけではありません。グループスケジューリングに関連するパラメータは、PARTSTAT と RSVP だけです。
表 7-38    WCAP で認識される iCalendar ATTENDEE パラメータ
パラメータ
目的
グループスケジューリング- method パラメータ
method パラメータを使用して、使用するメッセージのタイプとして、 出席依頼、返答、キャンセルを指定します。
開催者が出席を依頼する
開催者が会議を作成する場合、次の 2 つの方法で出席を依頼します。
PUBLISH メッセージの送信。 会議を作成または変更して、出席者に通知する。 method パラメータは「1」に設定される
REQUEST メッセージの送信。 会議を作成または変更して、出席者からの出席依頼への返答を要求する。 method パラメータは「2」に設定される
PUBLISH または REQUEST メッセージを送信できるのは、会議の開催者だけです。
出席者が出席依頼に対して返答する
出席者が REPLY メッセージを送信し、出席依頼を承諾するか辞退するかを通知します。 method パラメータは「4」に設定されます。
開催者が会議をキャンセルする
次の例は、開催者「org」が出席者「attA」および「attB」に会議への出席を依頼する場合の WCAP コマンドを示しています。 出席者「attA」は出席依頼を承諾し、出席者「attB」は辞退します。 会議の uid は、「event_u1」です。イベントは、両方の出席者のカレンダーに作成されます。各出席者は、各自のカレンダーでイベントに返答します。 この返答は、Sun ONE Calendar Server のグループスケジューリングエンジンから開催者のカレンダーに返信されます。
storeevents.wcap?id=${SESSIONID of org}&calid=org&dtstart=
20020201T200200Z&dtend=20020201T210000Z&summary=invite_attA_attB
&method=2&attendees=PARTSTAT=ACCEPTED^RSVP=TRUE^org;PARTSTAT=
NEEDS-ACTION^RSVP=TRUE^attA;PARTSTAT=NEEDS-ACTION^RSVP=
TRUE^attB&fmt-out=text/xml
storeevents.wcap?id=${SESSIONID ofattA}&calid=attA&uid=event_u1
&method=4&attendees=PARTSTAT=ACCEPTED^RSVP=TRUE^attA
&fmt-out=text/xml
storeevents.wcap?id=${SESSIONID ofattB}&calid=attB&uid=event_u1
&method=4&attendees=PARTSTAT=DECLINED^RSVP=TRUE^attA
&comments=I_cannot_make_it_Sorry&fmt-out=text/xml
目的
1 つまたは複数のtodo (仕事)をカレンダーに追加します。
パラメータ
表 7-39 は storetodos パラメータの一覧です。
表 7-39    storetodos パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
どのアプリケーションが要求を発行しているかを指定する、データベースに格納されない実行時パラメータ。 ENS はこのパラメータを使用して、どの X-Token を返すかを指定する。 WCAP コマンドの出力には影響しない
ENS X-Token の詳細については、『Sun ONE Messaging and Collaboration イベント通知サービスマニュアル』 を参照
JavaScript の簡略出力を出力するかどうかを示す論理値
compressed=0 の場合は、少ないデータが返される。 次のパラメータを返さない
rrules
rdate
exrule
exdate
除外するtodo (仕事) の繰り返し規則。繰り返し規則の文字列をセミコロンで区切ったリスト
各規則の値は、二重引用符で囲む必要がある。 繰り返し処理を参照
1 = PUBLISH
2 = REQUEST
4 = REPLY
8 = CANCEL
16 = MOVE
32 = COUNTER
1 = THISINSTANCE
2 = THISANDFUTURE
3 = THISANDPRIOR
4 = THISANDALL
このパラメータ使用しない。 下位互換性を保つために残されている。GSE (Group Scheduling Engine) では、電子メール通知の送信が処理される
todo (仕事)の繰り返し規則
繰り返し規則の文字列をセミコロンで区切ったリスト
各規則の値は、二重引用符で囲む必要がある。 繰り返し処理を参照
0 CONFIRMED
1 CANCELLED
2 TENTATIVE
3 NEEDS_ACTION
4 COMPLETED
5 IN_PROCESS
6 DRAFT
7 FINAL
タイムゾーンの返されたデータが変換された文字列。 これは、fetch パラメータが 1 (fetch=1) の場合のみ有効です
説明
このコマンドを使用して、指定した属性を持つtodo (仕事)を作成または変更し、データベース内の指定したカレンダーに格納します。
このコマンドは、rrules、exrules、rid、mod および rchange パラメータの指定に従って、繰り返しを作成して格納します。 繰り返し処理を参照してください。
notify 値が 1 の場合、IMIP PUBLISH メッセージがtodo (仕事)のメール出席者に送信されます。
サーバは、ファイルの添付をサポートしていません。 attachments パラメータは、iCalendar と相互運用をサポートするためだけのもので、機能はしません。
method パラメータ
グループスケジューリングには、次の ITIP メソッドのいずれかを指定します。
1
PUBLISH
開催者専用
2
REQUEST
開催者専用
4
REPLY
出席者専用
8
CANCEL
開催者専用
16
MOVE
該当なし
32
COUNTER
出席者専用
戻り値
fmt-out パラメータを text/calendar または text/xml に設定すると、次のような HTML コメントのエラー値だけが返されます。
コマンドで格納された todo(仕事) データを返すには fetch パラメータを指定します (fetch=1)。 また、tzidout パラメータを使用して、返されたデータを変換するタイムゾーンを指定します。 tzidout パラメータがない場合、データはグリニッジ標準時で返されます。
下位互換性を保つため、fmt-out パラメータが指定されている、またはデフォルトで text/js になっている場合、コマンドはすべてのデータに関して fetchcomponents_by_range.wcap コマンドから JavaScript を返します。
エラーコード
このコマンドでは、リンクしたtodo (仕事)を変更することはできません。 変更しようとすると、コマンドの実行が失敗し、errno に CANNOT_MODIFY_LINKED_TODOS(32) が返されます。
すでにtodo (仕事)が設定されている時間枠にtodo (仕事)を保存しようとすると (二重予約)、コマンドの実行が失敗し、エラー STORE_FAILED_DOUBLE_BOOKED(40) が返されます。
必須パラメータ
このコマンドを使用して、新しいtodo (仕事)を作成し、既存のtodo (仕事)を変更します。必須パラメータは、実行する内容によって次のように異なります。
新しいtodo (仕事)を作成する場合は、次の 2 つのパラメータだけが必要です。
その他のパラメータはすべてオプションです。 uid はサーバによって生成されます。
既存のtodo (仕事)を変更する場合は、次の 3 つのパラメータが必要です。
その他のパラメータはすべてオプションです。パラメータを指定しない場合は、プロパティの以前の値が保持されます。
継続時間
期限 (due) は、duration よりも優先されます。 duration および due の両方を指定すると、duration は無視されます。
継続時間は、次のように ISO8601 形式で指定します。以下に例を示します。
P1Y2M3DT1H30M10S は、1 年 2 か月 3 日 1 時間 30 分 10 秒の継続時間を表す 文字列に含まれる T は、日付情報 (年、月、日) と時刻情報 (時、分、秒) の区切り文字です。
目的
ファイルをサーバへアップロードします。 ファイルインポート用の write_file と組み合わせて使用します。
パラメータ
表 7-40 に upload_file パラメータの一覧を示します。
表 7-40    upload_file パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
説明
このコマンドは使用しないでください。import コマンドを使用します。 このコマンドは、write_file (使用しない) と組み合わせて使用し、ファイルのインポートを処理します。 ファイルが添付されるため、POST を使用する必要があります。
ファイルのインポートは、UI を使用して次のように処理されます。
upload_file コマンドを使用して、ユーザのコンピュータからファイルをサーバにアップロードします。 upload_file コマンドは、POST でなければなりません。
アップロードした 1 つまたは複数のファイルを取得し、write_file コマンドを使用してデータベースに書き込みます。 このように処理が分かれるのは、パラメータの値と添付ファイルを JavaScriptUI で連結できないためです。また、この分離によって、実際にファイルがデータベースに書き込まれる前に、複数のファイルをサーバにアップロードすることができます。
upload_file の例
upload_file で送信されるデータは、import.wcap データとまったく同じです。使用できるファイルは、iCalendar および XML ファイルだけです。任意のファイルをアップロードすることができますが、データベースに正常に追加できるのは、iCalendar およびXML ファイルだけです。
upload.wcap から返される JavaScript は、次のようになります。
Completed sending of import HTTP/1.1 200
Date: Tue, 05 Oct 2002 23:37:51 GMT
Content-type: text/html; charset=iso-8859-1
Content-length: 301
Last-modified: Tue, 05 Oct 2002 23:37:51 GMT
Pragma: no-cache
Expires: 0
Cache-Control: no-cache
Connection: Keep-Alive
<html><head><script>
function color(s) { if (s) document.bgColor=s
}
var filename='s://ns//server//msg//calendar//core//parser//test//ical1. ics'
var uniquefilename='cf8bfa37b347000001000000ef000000'
var size=640
var errno=0
var errstr=''
</script></head>
<body onLoad=parent.uploadCB()>
</body></html>
write_file の例
前述の例では、uniquefilename JavaScript 変数を含む行が太字になっています。 この変数は、write_file コマンドの uniquefilename パラメータへの入力として使用されます。
upload_file を使用して該当するファイルをアップロードすると、write_file が呼び出され、ファイルが実際にデータベースに書き込まれます。
次の URL を使用して、前述の例のアップロード呼び出しをカレンダー jdoe に書き込みます。 uniquefilename パラメータは、upload_file.wcap で返された uniquefilename JavaScript 変数と一致します。
http://webcalendarserver/write_file.wcap?id=abc&calid=jdoe&dtstart= 0&dtend=0&content-in=text/calendar&uniquefilename=cf8bfa37b34700000 1000000ef000000
2 つのファイルをサーバに書き込むには、一意のファイル名の間をセミコロンで区切ります。2 つのファイルのコンテンツタイプは同じでなければなりません。
http://webcalendarserver/write_file.wcap?id=abc&calid=jdoe&dtstart= 0&dtend=0&content-in=text/calendar&uniquefilename=cf8bfa37b34700000 1000000ef000000;dg9cgb48c458000001000000ab000000
目的
このコマンドを使用して、uid と rid のペアで指定したイベントがデータベースに存在するかどうかを確認します。
パラメータ
表 7-43 に verifyevents_by_ids パラメータの一覧を示します。
表 7-41    verifyevents_by_ids パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
説明
このコマンドは、uid と rid のペアで渡された内容と一致するイベントの取得を試みます。
戻り値
イベントが見つかると、fmt-out パラメータで指定された形式でデータが返されます。 形式が指定されていない場合は、デフォルトの text/calendar 形式で出力されます。
イベントが見つからず、rid がゼロ (0) ではない場合は、uid と rid が返されます。
イベントが見つからず、rid がゼロ (0) の場合は、uid が返されます。
例
例 1 では text/calendar 形式の出力を、例 2 では text/xml 形式の出力を示します。
verifyevents_by_ids.wcap?id=$n3o2m05sx9v6t98t8u2p&calid=jdoe&uid=3b d9e72f000027cf0000000600002113;3bd9e717000045030000000100002113;3bd 9e717000045030000000100002113;3bd9cd4700002206000000010000202d&rid= 0;20021027T230000Z;20021026T230000Z;0&fmt-out=text/calendar
BEGIN:VCALENDAR
PRODID:-//SunONE/Calendar Hosting Server//EN
VERSION:5.1.1
BEGIN:VEVENT
UID:3bd9e717000045030000000100002113
RECURRENCE-ID:20021027T230000Z
END:VEVENT
BEGIN:VEVENT
UID:3bd9cd4700002206000000010000202d
END:VEVENT
END:VCALENDAR
verifyevents_by_ids.wcap?id=$n3o2m05sx9v6t98t8u2p&calid=savri&uid=3 bd9e72f000027cf0000000600002113;3bd9e717000045030000000100002113;3b d9e717000045030000000100002113;3bd9cd4700002206000000010000202d&rid =0;20021027T230000Z;20021026T230000Z;0&fmt-out=text/xml
<?xml version="1.0" encoding="UTF-8"?>
<iCalendar>
<iCal version="5.1.1" prodid="-//SunONE/Calendar Hosting Server//EN">
<EVENT>
<UID>3bd9e717000045030000000100002113</UID>
<RECURID>20021027T230000Z</RECURID>
</EVENT>
<EVENT>
<UID>3bd9cd4700002206000000010000202d</UID>
</EVENT>
</iCal>
</iCalendar>
目的
このコマンドを使用して、uid と rid のペアで指定したtodo (仕事)がデータベースに存在するかどうかを確認します。
パラメータ
表 7-42 に verifytodos_by_ids パラメータの一覧を示します。
表 7-42    verifytodos_by_ids パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
説明
このコマンドは、uid と rid のペアで渡された内容と一致するtodo (仕事)の取得を試みます。
戻り値
todo (仕事)が見つかると、fmt-out パラメータで指定された形式でデータが返されます。 形式が指定されていない場合は、デフォルトの text/calendar 形式で出力されます。
todo (仕事)が見つからず、rid がゼロ (0) でない場合は、uid と rid が返されます。
todo (仕事)が見つからず、rid がゼロ (0) の場合は、uid が返されます。
例
verifytodos_by_ids.wcap?id=bo35r2pr3e5po35r&calid=jdoe&uid=3bde188f 0000472d0000000b00000399&rid=20021029T200200Z&fmt-out=text/xml
<?xml version="1.0" encoding="UTF-8"?>
<iCalendar>
<iCal version="5.1.1" prodid="-//SunONE/Calendar Hosting Server//EN">
<TODO>
<UID>3bde188f0000472d0000000b00000399</UID>
<RECURID>20021029T200200Z</RECURID>
</TODO>
</iCal>
</iCalendar>
パラメータ
表 7-43 に version パラメータの一覧を示します。
表 7-43    version パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
説明
このコマンドは、WCAP の現在のバージョンを取得します。 (注 : このバージョンは、サーバおよび HTTP のバージョンとは異なります。)
戻り値
このコマンドでは、iCalendar、XML、および JavaScript の出力形式がサポートされています。 iCal および XML では、変数 X-NSCP-WCAPVERSION が WCAP バージョン番号を返します。 JavaScript では、変数 wcapversion がバージョン番号を返します。
JavaScript: (URL : /version.wcap)
<html><head><script>
function color(s) { if (s) document.bgColor=s
}
var id='0'
var userid=''
var calid=''
var errno=new Array()
var wcapversion=1.0.0
parent.ceCB(window.name)
</script></head></html>
iCalendar: (URL: /version.wcap?fmt-out=text/calendar)
BEGIN:VCALENDAR
VERSION:5.1.1
PRODID:-//SunONE/Calendar Hosting Server//EN
X-NSCP-WCAPVERSION:WCAP
END:VCALENDAR
XML: (URL: /version.wcap?fmt-out=text/xml)
<?xml version="1.0" encoding="UTF-8">
<iCalendar>
<iCal>
<X-NSCP-WCAPVERSION>1.0.0</X-NSCP-WCAPVERSION>
</iCal>
</iCalendar>
パラメータ
表 7-44 に write_file パラメータの一覧を示します。
表 7-44    write_file パラメータ
パラメータ
タイプ
目的
必須/任意
デフォルト
説明
このコマンドは使用しないでください。export コマンドを使用します。
write_file コマンドは、upload_file (import コマンドを使用するため、使用しない) コマンドと組み合わせて、ファイルをインポートします。このコマンドのパラメータは、import コマンドと同じです。 ファイルのインポート処理の例、および詳細は、「upload_file」を参照してください。
前へ 目次 索引 次へ
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.
最終更新日 2002 年 8 月 29 日