Sun ONE logo     前へ     目次     索引     次へ     
Sun ONE Calendar Server プログラマーズガイド



第 7 章   WCAP コマンド


この章は、Sun™ ONE Calendar Server の各 WCAP コマンドに共通のトピックと、各 WCAP コマンドに関するトピックに分かれています。

共通のトピック

コマンド

WCAP コマンドでは、「コマンド 」の節で各コマンドに定義されているさまざまなパラメータを使用します。 特に指定がないかぎり、WCAP コマンドで使用するパラメータの最大長は 1024 文字です。 WCAP は入力長のチェックは行いませんが、パラメータの長さが 1024 文字を超えると、予想外の結果を招きます。


表 7-1    WCAP コマンド 

addlink  

あるカレンダーから別のカレンダーへのイベントリンクを追加する  

change_password  

ユーザのパスワードを変更する  

check_id  

セッションの有効性を確認する。 管理者専用  

createcalendar  

新しいカレンダーを作成する  

deletecalendar  

既存のカレンダーを削除する  

deletecomponents_by_range  

カレンダーに設定された特定の期間内のイベントとtodo (仕事) の両方を削除する  

deleteevents_by_id  

特定の CALID および UID と繰り返し ID のペアを指定してイベントを削除する  

deleteevents_by_range  

カレンダーに設定された特定の期間内のイベントを削除する  

deletetodos_by_id  

特定の CALID、および UID と繰り返し ID のペアを指定してtodo (仕事) を削除する  

deletetodos_by_range  

カレンダーに設定された特定の期間内のtodo (仕事) を削除する  

export  

カレンダーをファイルにエクスポートする  

fetchcomponents_by_alarmrange  

特定の期間内に警告が発行されるコンポーネントを照会する  

fetchcomponents_by_attendee_error  

グループのスケジューリングメッセージの送信中に、エラーが発生したコンポーネントを照会する  

fetchcomponents_by_lastmod  

特定の期間内に変更されたコンポーネントを照会する  

fetchcomponents_by_range  

特定の期間内のコンポーネントを、フィルタリング属性で照会する  

fetchevents_by_id  

一意の識別子 (UID、繰り返し ID、修飾子) を使用して、1 つまたは複数のイベントを照会する  

fetchtodos_by_id  

一意の識別子 (UID、繰り返し ID、修飾子) を使用して、1 つまたは複数のtodo (仕事) を照会する  

get_all_timezones  

サーバがサポートしているすべてのタイムゾーンを返す  

get_calprops  

カレンダーのプロパティを返す  

get_freebusy  

カレンダーの空き時間を返す  

get_guids  

ランダム UID のセットを返す  

get_userprefs  

ユーザ設定および一部のサーバ設定を返す  

import  

カレンダーをファイルからユーザのカレンダーへインポートする  

login  

ユーザを認証し、最初の HTML ビューへリダイレクトする  

logout  

現在のユーザのセッションを終了し、ログイン画面に戻る  

ping  

Calender Server に ping する (管理者専用)  

search_calprops  

指定されたパラメータの値でカレンダーを検索する  

set_calprops  

カレンダーのプロパティを設定する  

set_userprefs  

ユーザ設定を行う  

storeevents  

application/urlencoded 形式で指定されたイベントを格納する。イベントを格納する場合は、プロパティを URL で渡す  

storetodos  

application/urlencoded 形式で指定されたtodo (仕事) を格納する  

upload_file  

ファイルをサーバへアップロードする  

verifyevents_by_ids  

イベントをフェッチし、データベースに格納されていないイベントの uid/rid を返す  

verifytodos_by_ids  

todo (仕事) をフェッチし、データベースに格納されていないイベントの uid/rid を返す  

version  

サーバがサポートしている WCAP のバージョンを返す  

write_file  

ファイルをデータベースへ書き込む  

表 7-1 に、WCAP コマンドをアルファベット順に示します。


共通のトピック

この節では、1 つまたは複数のコマンドに適用される共通のトピックについて説明します。トピックは、アルファベット順に並んでいます。

アクセス制御エントリ

アクセス制御エントリ (ACE 文字列) を使用して、カレンダーのアクセス制御を指定します。1 つのカレンダーに、複数の ACE 文字列が適用される場合があります。カレンダーに適用されるすべての ACE 文字列は、まとめてアクセス制御リスト (ACL) と呼ばれます。ACL リストが検索されると、アクセスを許可するか拒否するかに関係なく、最初に検出された ACE が使用されます。このため、ACL の順序は重要な意味を持っています。ACE 文字列は、一般的なものより前に、限定的なものが表示されるように並べる必要があります。

いくつかのアクセスは、すでに組み込まれています。たとえば、1 次所有者は所有するカレンダーの項目すべてにアクセスできます。1 次所有者が自分の所有するカレンダーにアクセスする時、システムのアクセス制御チェックは実行されません。

set_calprops コマンドは、ACE 文字列をカレンダーに容易に保存するために、acl パラメータを使用します。 aclパラメータは、ACE 文字列をセミコロンで区切ったリストです。 デフォルトの aclics.conf ファイルに設定するには、
calstore.calendar.default.acl の設定を変更するか、cscal コマンドラインユーティリティを使用します。 構成の設定に関する詳細は、『Sun ONE Calendar Server 管理者ガイド』を参照してください。

ユーザインタフェースには制限があるため、ACE 文字列を追加できるのは 1 つのカレンダーにつき 75 ユーザまでです。

ACE 文字列の例を次に示します。

jdoe^c^wd^g

この文字列は、3 つの「^」文字で区切られた4 つの要素で構成されます。4 つの要素は、それぞれ次の内容を示します。

  1. ACE の最初の要素は、ACE が適用されるユーザを示す

    ユーザ ID で指定された個々のユーザ、ドメイン、またはユーザのクラスタイプを指定できます。ユーザのクラスには、次の4 つのタイプがあります。

    • すべてのユーザ。 文字列「@」で表される

    • カレンダーの一次所有者。文字列「@@p」で表される

    • カレンダーの所有者。 文字列「@@o」で表される

    • カレンダーの非所有者。 文字列「@@n」で表される

  2. ACE の2 番目の要素は、ACE が適用される対象を示す

    ACE はカレンダーの次の範囲に適用できます。

    • カレンダー全体

      コンポーネントとカレンダーの両方のプロパティ。 カレンダー全体を示すには、a の値を渡します。

    • カレンダーのコンポーネントのみ

      カレンダーコンポーネント (イベントまたは todo) に適用。 コンポーネントだけを示すには、c の値を渡します。

    • カレンダーのカレンダープロパティのみ

      カレンダープロパティ (表示名、所有者リスト) に適用。 カレンダーのプロパティだけを示すには、p の値を渡します。

  3. ACE の 3 番目の要素は、ACE が適用されるアクセス値を示す

    複数の値を同時に指定できます。複数の値を指定するには、チェックするビットを示す文字列を、呼び出し元から渡す必要があります。

    表 7-2 は ACE 文字列に使用される、アクセス制御文字列の一覧です。3 番目の要素は、1 つまたは複数のアクセス制御文字を含む文字列で構成されます。

    表 7-2    アクセス制御文字

    アクセス制御文字  

    説明  

    c  

    ユーザに代理キャンセルアクセスを許可する。キャンセルアクセスでは、出席依頼のあるコンポーネントを、カレンダーの 一 次所有者に代わってキャンセルする権限を付与する  

    d  

    ユーザに削除アクセスを許可する  

    e  

    ユーザに代理返信アクセスを許可する。 カレンダーの 一 次所有者に代わって、出席依頼を承諾または辞退する権限を付与する  

    f  

    ユーザに予定なし/予定ありの表示のアクセスを許可する  

    i  

    ユーザに代理出席依頼アクセスを許可する。他のユーザが出席依頼を受けているコンポーネントを、カレンダーの 一 次所有者に代わって作成および変更する権限を付与する  

    r  

    ユーザに読み取りアクセスを許可する  

    s  

    ユーザにスケジュールアクセスを許可する。要求の作成、返信の承諾、およびその他の ITIP スケジューリング対話が有効になる  

    w  

    ユーザに書き込みアクセスを許可する。新しいアイテムの追加、アイテムの削除、および既存のアイテムの変更が含まれる  

    たとえば、読み取りアクセスを許可するには、 r の値を渡します。 書き込みおよび削除アクセスを許可するには、 wd の値を渡します。

  4. ACE の4 番目の要素は、アクセスの許可または拒否を示す

    この ACE では、アクセスを許可または拒否できます。

    • アクセスを許可するには、値を g に設定する

    • アクセスを拒否するには、値を d に設定する

ACE の要約
ACE の順序をわかりやすく示すと、次のようになります。

who ^ flags ^ how ^ grant

解説

  • who = 文字列、タイプ (str)

  • flags = cp、または a のいずれかの文字

  • how = 表 7-2 で説明した 1 つまたは複数のアクセス制御文字で構成されるアクセス文字列

  • grant = g、またはd のいずれかの文字

応用例
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) 場合、コマンド全体は以下のようになります。

    set_calprops.wcap?id=${SESSIONID}&calid=jdoe&acl=@domainname^a^sfr^g;@@o^c^wd^g;@@o^a^zsfr^g;susan^a^zfsdwr^d;@^c^r^g



    管理者が管理者としてログインし、また ics.conf ファイルでサーバの構成設定 service.admin.calmaster.overrides.accesscontrol が「yes」に設定されている場合、管理者はすべての WCAP コマンドのアクセス制御をオーバーライドできます。



ユーザインタフェースの操作の ACL へのマッピング

表 7-3 に、目的のユーザインタフェースの操作に必要な、すべての ACL の一覧を示します。

表 7-3    ユーザインタフェースの操作の ACL へのマッピング 

ユーザインタフェースの操作

必要な ACL

説明

イベントおよび
todo (仕事) の削除
 

イベントおよび
todo (仕事) の変更 + コンポーネントまたはカレンダーの削除
 

c^d^g

または

a^d^g  

イベントまたは todo (仕事) を削除するには、権利を変更してからコンポーネントを削除、またはカレンダーのアクセス権を削除する  

空き時間の表示  

空き時間の表示のコンポーネント、または

空き時間の表示のカレンダー  

c^f^g

a^f^g  

カレンダーの空き時間の表示(イベントおよび todo) を見るには、空き時間の表示のコンポーネントまたはカレンダーのアクセス権が必要  

イベントおよび
todo (仕事) の変更
 

イベントおよび
todo (仕事) の読み取り + コンポーネントまたはカレンダーの書き込み
 

c^w^g

a^w^g  

カレンダーのコンポーネント (イベントおよび todo (仕事) を変更するには、読み取りのアクセス権、およびコンポーネントの書き込みまたはカレンダーの書き込みのいずれかのアクセス権が必要  

カレンダーのイベントを読み取る  

カレンダーの読み取り  

a^r^g  

コンポーネントを読み取るには、カレンダーの読み取りのアクセス権が必要

コンポーネントの読み取りアクセス権「c^r^g」は使用できないため注意が必要  

スケジュール
(出席依頼)
 

スケジュールカレンダー  

a^s^g  

出席を依頼するには、スケジュールカレンダーのアクセス権が必要  

購読  

プロパティの読み取り  

p^r^g  

カレンダーを購読するには、プロパティの読み取りアクセス権が必要  

アプリケーション ID (appid パラメータ)

以下の WCAP コマンドは appid パラメータを使用します。

  • deletecomponents_by_range - (ENS の通知はまだ実装されていない)

  • deleteevents_by_id

  • deleteevents_by_range - (ENS の通知はまだ実装されていない)

  • deletetodos_by_id

  • deletetodos_by_range - (ENS の通知はまだ実装されていない)

  • import - (ENS の通知はまだ実装されていない)

  • storeevents

  • storetodos

この 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 (WCAPCALENDAR EXPRESSADMIN) に割り当てます (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 (管理ツールから) - まだ実装されていない
 

存在する  

appid の値  



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 を設定しても変わりません。

以下に有効な lang の値を示します。

de

ドイツ語

en

英語 (デフォルト)

es

スペイン語

fr

フランス語

it

イタリア語

ja

日本語

ko

韓国語

ru

ロシア語

sv

スウェーデン語

zh_CN

中国語/簡体字中国語

zh_TW

中国語 (台湾)



これらの言語が現在すべてサーバでサポートされていることを意味するわけではありません。サーバが現在サポートしている言語については、Sun ONE の購入先に問い合わせてください。



繰り返しコンポーネントの削除または変更

コンポーネントを削除または変更する場合、繰り返しかどうかを指定することができます (必ず指定が必要な場合もあります)。また、繰り返しである場合、オリジナルのイベントまたは todo (仕事) だけではなく、繰り返しを削除するかどうかも指定できます。

mod パラメータを使用して、以下のオプションを選択します。

オプション

1

このインスタンスのみを削除または変更する

2

このインスタンスおよび以後の繰り返しをすべて削除または変更する

3

このインスタンスおよび以前の繰り返しをすべて削除または変更する

4

すべてのインスタンスを削除または変更する

いずれのオプションも、ユーザは 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 に関するパラメータの暗号化されたリストに、暗号化された文字がいくつか含まれています。暗号化された文字の例をいくつか挙げます。

%3D

=

'='

%26

=

'&'

%22

=

''''

%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 つのレイヤのエラーが、他のレイヤの処理に影響することはありません。

次の 3 つのレイヤエラー配列があります。

  • layer_errno。fetch コマンド用

  • delete_layer_errno。delete コマンド用

  • store_layer_errno。store コマンド用

レイヤカウント配列

また、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 は、エラー番号配列に返されるエラーコードの例です。

表 7-6    エラー名、値、および意味 

エラー名

意味

LOGOUT  

-1  

正常にログアウト  

OK  

0  

コマンドが正常に終了  

LOGIN_FAILED  

1  

ログインに失敗。 セッション ID がタイムアウト。無効なセッション ID  

LOGIN_OK_DEFAULT_CALENDAR_NOT_FOUND  

2  

login.wcap は正常に終了したが、このユーザのデフォルトのカレンダーが見つからない。ユーザ ID に設定する新しいデフォルトのカレンダーが作成された  

DELETE_EVENTS_BY_ID_FAILED  

6  

コマンドの実行に失敗  

SETCALPROPS_FAILED  

8  

コマンドの実行に失敗  

FETCH_EVENTS_BY_ID_FAILED  

9  

コマンドの実行に失敗  

CREATECALENDAR_FAILED  

10  

コマンドの実行に失敗  

DELETECALENDAR_FAILED  

11  

コマンドの実行に失敗  

ADDLINK_FAILED  

12  

コマンドの実行に失敗  

FETCHBYDATERANGE_FAILED  

13  

コマンドの実行に失敗  

STOREEVENTS_FAILED  

14  

コマンドの実行に失敗  

STORETODOS_FAILED  

15  

コマンドの実行に失敗  

DELETE_TODOS_BY_ID_FAILED  

16  

コマンドの実行に失敗  

FETCH_TODOS_BY_ID_FAILED  

17  

コマンドの実行に失敗  

FETCHCOMPONENTS_FAILED_BAD_TZID  

18  

正しい tzid が検出できない fetchcomponents_by_rangefetchevents_by_idfetchtodos_by_id に適用される  

SEARCH_CALPROPS_FAILED  

19  

コマンドの実行に失敗  

GET_CALPROPS_FAILED  

20  

コマンドの実行に失敗  

DELETECOMPONENTS_BY_RANGE_FAILED  

21  

コマンドの実行に失敗  

DELETEEVENTS_BY_RANGE_FAILED  

22  

コマンドの実行に失敗  

DELETETODOS_BY_RANGE_FAILED  

23  

コマンドの実行に失敗  

GET_ALL_TIMEZONES_FAILED  

24  

コマンドの実行に失敗  

CREATECALENDAR_ALREADY_EXISTS_FAILED  

25  

createcalendar.wcap の実行に失敗。 指定した名前のカレンダーがデータベースにすでに存在する  

SET_USERPREFS_FAILED  

26  

コマンドの実行に失敗  

CHANGE_PASSWORD_FAILED  

27  

コマンドの実行に失敗  

ACCESS_DENIED_TO_CALENDAR  

28  

コマンドの実行に失敗。 ユーザがカレンダーへのアクセスを拒否する  

CALENDAR_DOES_NOT_EXIST  

29  

コマンドの実行に失敗。 カレンダーがデータベースに存在しない  

ILLEGAL_CALID_NAME  

30  

createcalendar.wcap の実行に失敗。 渡された calid は無効  

CANNOT_MODIFY_LINKED_EVENTS  

31  

storeevents.wcap の実行に失敗。 変更するイベントはリンクされている  

CANNOT_MODIFY_LINKED_TODOS  

32  

storetodos.wcap の実行に失敗。 変更する todo (仕事)はリンクされている  

CANNOT_SENT_EMAIL  

33  

コマンドの実行に失敗。 電子メールの通知に失敗。通常、サーバが電子メールを送信するように正しく設定されていないことが原因。
このエラーは、storeeventsstoretodosdeleteevents_by_iddeletetodos_by_id で発生する可能性がある
 

CALENDAR_DISABLED  

34  

コマンドの実行に失敗。 カレンダーがデータベースで無効になっている  

WRITE_IMPORT_FAILED  

35  

ファイルをサーバに書き込むときに、インポートに失敗  

FETCH_BY_LAST_MODIFIED_FAILED  

36  

コマンドの実行に失敗  

CAPI_NOT_SUPPORTED  

37  

CS&T カレンダーデータからの読み取りに失敗  

CALID_NOT_SPECIFIED  

38  

カレンダーID が指定されていない  

GET_FREEBUSY_FAILED  

39  

コマンドの実行に失敗  

STORE_FAILED_DOUBLE_BOOKED  

40  

storeevents または storetodos の実行に失敗。 イベントまたはtodo (仕事) を保存しようとしましたが、時間枠に空きがない。二重予約は許可されていない  

FETCH_BY_ALARM_RANGE_FAILED  

41  

コマンドの実行に失敗  

FETCH_BY_ATTENDEE_ERROR_FAILED  

42  

コマンドの実行に失敗  

ATTENDEE_GROUP_EXPANSION_CLIPPED  

43  

拡張しようとしている LDAP グループが大きすぎる。 拡張可能な最大数を超えている。指定された最大数で拡張は停止される。 デフォルトの最大数は 200 。 最大数を変更するには、サーバの calstore.group.attendee.maxsize を設定する  

USERPREFS_ACCESS_DENIED  

44  

この管理者によるユーザ設定の取得または変更がサーバで許可されていないか、アクセスの要求元が管理者ではない  

NOT_ALLOWED_TO_REQUEST_PUBLISH  

45  

要求元がイベントの開催者でないため、PUBLISH または REQUEST メソッドを使用してコンポーネントを編集することはできない  

INSUFFICIENT_PARAMETERS  

46  

呼出者は verifyevents_by_ids または
verifytodos_by_ids を呼び出そうとしましたが、引数が不足している (uid と rid の数が一致しない)
 

MUSTBEOWNER_OPERATION  

47  

この操作を完了するには、ユーザは対象のカレンダーの所有者または共同所有者である必要がある
(ほとんどは、プライベートまたはコンフィデンシャルコンポーネントに関連する)
 

パラメータの値の「置き換え」と「追加」の違い

2 つのコマンド storeevents および storetodos でパラメータの値を変更することができます。 コンポーネントの現在の値を変更する場合、渡される新しい値と現在の値を置き換える、または新しい値を現在の値に追加します。 これは、複数の値を保持できるパラメータにのみ適用されます (つまり、attendees などの、セミコロンで区切った値を使用するパラメータ)。 デフォルトは、新しい値を現在の値に追加する replace=0 です。 現在の値を渡された新しい値に置き換えるには、replace パラメータの値を 1 に設定してコマンドに追加します (replace=1)。 コマンドに replace パラメータを追加しなかった場合、システムはデフォルトの設定 (replace=0) だとみなし、新しい値を既存の値に追加します。

例外として、 繰り返しパラメータ、rrulesrdatesexrules、および exdates は、replace パラメータの値に関係なく、常に置き換えモードになります。

コンポーネントデータのフェッチ

component_type パラメータは、イベントのみ、todo (仕事) のみ、またはイベントとtodo (仕事) の両方を返すよう WCAP に指示します。 キーワードの引数はそれぞれ、 eventtodo、または all です。パラメータは不要です。 デフォルトは allで、イベントとtodo (仕事) の両方を返します。認識されない値が渡された場合は、デフォルト値が使用されます。

このパラメータは、次の 4 つのコマンドで使用されます。

  • fetchcomponents_by_alarmrange

  • fetchcomponents_by_attendee_error

  • fetchcomponents_by_lastmod

  • fetchcomponents_by_range

  • 繰り返しデータのフェッチ

    compressed パラメータを使用すると、取得する繰り返しデータの容量を少なくすることができます。 このパラメータのデフォルト (compressed=0) は圧縮形式を無効にします、つまりデフォルトとして rrulerdateexrule、および exdate のプロパティを持たないデータを返します。次のコマンドで、すべての繰り返しデータを取得するには compressed=1 を使用します。

    これは新しいパラメータで、次のコマンドに追加されました。



    このパラメータは、fmt-outtext/calendar または text/xml の場合のみ有効です。



    特定のコンポーネント状態データのフェッチ

    fetchcomponents_by_attendee_error を除くすべての fetch コマンドは、compstate パラメータを使用して、コンポーネントの状態別にフェッチすることができます。 デフォルトは (compstate=ALL) で、すべてのコンポーネントの状態をフェッチします。 このパラメータを使用して、フェッチするコンポーネントを制限します。

    パラメータを指定しなかった場合のデフォルト値は ALL です。

    表 7-7 にコンポーネントの状態の値を示します。コンポーネントの状態は、「出席者」または「開催者」のいずれかになります。

    表 7-7    compstate パラメータ のコンポーネントの状態値 

    開催者/

    出席者

    コメント

    REPLY-DECLINED  

    Attendee  

    出席者が会議を辞退した  

    REPLY-ACCEPTED  

    Attendee  

    出席者が会議を承諾した  

    REQUEST-COMPLETED  

    Organizer  

    開催者から会議要求が送信された。 すべての出席者からの返信を受信した  

    REQUEST_NEEDS-ACTION  

    Attendee  

    出席者は会議に関してまだ返信していない  

    REQUEST-NEEDSNOACTION  

    Attendee  

    開催者は出席者からの返信を必要としていない  

    REQUEST-PENDING  

    Organizer  

    開催者の会議要求が送信された。グループスケジューリングエンジンは、すべての出席者の処理をまだ終了していない  

    REQUEST-WAITFORREPLY  

    Organizer  

    開催者から会議要求が送信された。出席者からの返信を待っている  

    ALL  

    N/A  

    (デフォルト) すべてのイベントと todo(仕事) コンポーネントの状態  

    時刻、文字列、パラメータなどの形式

    すべての時刻、文字列、パラメータなどの正確な形式および定義については、RFC2445、RFC2446、およびRFC2447 を参照してください。 特に指定のないかぎり、WCAP の全コマンドはこれらの仕様に従います。

    RFC は次の IETF Web サイトで参照できます。

    タイムゾーンの詳細は、この節の「タイムゾーン」を参照してください。

    空き時間の表示のアクセス

    「空き時間の表示」アクセス権では、ユーザはカレンダーのスケジュール時刻を確認することはできますが、イベントの詳細を確認することはできません。代わりに、時間ブロックごとに「予定あり」という文字が表示されます。予定されたイベントのない時間ブロックも、横に「空き時間」という文字が付いて一覧表示されます。

    たとえば、 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 つのコンテンツタイプの出力形式を要求できます。

    1. text/calendar - iCalendar

    2. text/xml - iCalendar XML

    3. text/js - JavaScript の出力

    出力形式を変更するには、fmt-out を所定の値に設定します。 fmt-out を指定しない場合、デフォルトの形式 text/js が返されます。



    Sun ONE Calendar Server のユーザインタフェース (Calendar Express) を起動するには、login コマンドで fmt-out=text/html を指定します。 この形式のインスタンスはこれだけです。



    圧縮出力

    brief パラメータを使用すると、圧縮されたイベントおよびtodo (仕事) のデータが JavaScript で印刷されます。返される出力は、通常の出力の約半分になり、次のパラメータで構成されます。

    表 7-8    brief の出力に関する出力パラメータ

    イベントに関するパラメータ

    todo (仕事) に関するパラメータ

    calid  

     

    calid  

    created  

     

    completed  

    desc  

     

    created  

    dtstart  

     

    desc  

    dtend  

     

    dtstart  

    isAllDay  

     

    due  

    lastMod  

     

    isAllDay  

    linkCalid  

     

    lastMod  

    location  

     

    linkCalid  

    rid  

     

    location  

    summary  

     

    percent  

    tzid  

     

    rid  

    tzidout  

     

    summary  

    uid  

     

    tzid  

     

     

    tzidout  

     

     

    uid  

    繰り返し処理

    繰り返しの指定には、次の7 つのパラメータを使用できます。

    1. rrules - イベントの繰り返しに関する、繰り返し規則文字列を二重引用符で囲み、各文字列をセミコロンで区切ったリスト

    2. rdates - 繰り返しの日付を記載した ISO8601 日付文字列を、をセミコロンで区切ったリスト

    3. exrules - 除外する日付に関する、繰り返し規則文字列を二重引用符で囲み、各文字列をセミコロンで区切ったリスト

    4. exdates - 除外する日付を記載した ISO8601 日付文字列を、セミコロンで区切ったリスト

    5. rid - イベントの繰り返し ID を指定するISO8601 日付文字列

    6. mod - 1 〜 4 の数値。 格納するイベントのインスタンスを指定する修飾子

    7. rchange - storeevents、および storetodos の繰り返しを拡張するかどうかを指定する論理値

    storeevents および storetodos では、パラメータ rrulesrdatesexrules、および 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=uuuu

    rdates

    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

    特定の日付の後に、繰り返し規則を変更する場合は、 rchange1 に設定する必要があります。

    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= uuuu

    exdates

    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 uu

    rid

    このパラメータは、イベントまたは todo (仕事) の一意の繰り返し日付を指定します。 変更するイベントとtodo (仕事) の範囲を指定するには、ridmod パラメータを組み合わせて使用します。

    例 :

    http://webcalendarserver/storecomponents.wcap?id=b5q2o8ve2rk02nv9t6
    &calid=jdoe&uid=333&dtstart=20020301T112233Z
    &rid=20020331T112233;dtend=20020301T112233&summary=uuuu&mod=1

    mod

    このパラメータでは、1 つまたは複数のイベントまたは todo (仕事) のインスタンスに、変更を適用するかどうか指定します。 mod 値の指定は、次の結果になります。

    オプション

    1

    このインスタンスのみ

    2

    このインスタンスおよびそれ以降のすべてのインスタンス

    3

    このインスタンスおよびそれ以前のすべてのインスタンス

    4

    このインスタンスを含むすべてのインスタンス

    繰り返しのないイベントまたは todo (仕事) の場合、rid0 です。

    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 パラメータの値に基づいて、適切なタイムゾーンの設定に変換します。

    まだグリニッジ標準時になっていない dtstartdtend、および 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 は長さのチェックは行いませんが、この長さを超えると予想外の結果を招く恐れがあります。



    addlink


    目的
    あるカレンダーのイベントまたはtodo (仕事) から別のカレンダーへのリンクを追加します。


    パラメータ
    表 7-9addlink パラメータの一覧です。

    表 7-9    addlink パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    destCal  

    文字列  

    イベントまたはtodo (仕事) を含むカレンダー。このカレンダーの「読み取り」アクセス権が必要  

    必須  

    なし  

    rid  

    文字列をセミコロンで区切ったリスト  

    リンク先のイベントまたはtodo (仕事) の繰り返し識別子のリスト  

    必須  

    なし  

    srcCal  

    文字列  

    リンクを受けとるカレンダー。このカレンダーへの「書き取り」アクセス権が必要  

    必須  

    なし  

    uid  

    文字列をセミコロンで区切ったリスト  

    リンク先のイベントまたはtodo (仕事) の識別子のリスト  

    必須  

    なし  


    説明
    このコマンドを使用して、リンク元のカレンダーで指定したイベントまたは todo (仕事) 、あるいはその両方へのリンクを目的のカレンダーに追加します。

    指定するカレンダーが公開カレンダーでない場合、コマンドに id パラメータを指定する必要があります。

    uid および rid のリストに含まれる項目数は、正確に一致させる必要があります。 また、それぞれの riduid リストの同じ位置に対応している必要があります。 イベントまたはtodo (仕事) に繰り返し ID が無い場合、0rid リストに使用します。

    次の 3 つの要件を満たしていない場合は、トランザクションが失敗します。

    • リンク元カレンダーとリンク先カレンダーのパラメータは、有効なカレンダー ID であること

    • リンク先カレンダーへの書き込みアクセス権とリンク元カレンダーの読み取りアクセス権を持っていること

    • uid および rid リストの要素数は同じにする必要があります


    戻り値
    トランザクションが失敗した場合、エラー ADDLINK_FAILED(12) を返します。 成功した場合、 0 を返します。



    この例では、2 つのイベントのリンクをカレンダー jdoe に追加する方法を示します。 これらのリンクが pub カレンダー内のイベントを指すようにします。 イベントは、 1111 および 2222 です (イベントの UID)。 どちらのイベントも繰り返さないため、繰り返し ID は 0 です。

    次の URL でこのトランザクションが実行されます。

    http://webcalendarserver/addlink.wcap?id=b5q2o8ve2rk02nv9t6&destCal =jdoe&srcCal=pub&uid=1111;2222&rid=0;0



    change_password


    目的
    現在のユーザのパスワードを変更します。 このコマンドは使用しないでください。 下位互換性を保持するために残されています。 パスワード変更の詳細については『管理者ガイド』を参照してください。


    パラメータ
    表 7-10change_password パラメータの一覧を示します。

    表 7-10    change_password パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    id  

    文字列  

    セッション ID  

    必須  

    なし  

    newPassword  

    文字列  

    新しいユーザパスワード  

    必須  

    なし  

    oldPassword  

    文字列  

    以前のユーザパスワード  

    必須  

    なし  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  


    目的
    このコマンドは、ユーザのパスワードを変更します。パスワードはプレーンテキストで渡されます。 service.wcap.allowchangepassword の設定が変更されないかぎり、管理者の権限を持つユーザだけが、このコマンドを使用することができます。

    指定するカレンダーが公開カレンダーでない場合、コマンドに id パラメータを指定する必要があります。


    戻り値
    コマンドの実行に失敗すると、エラー CHANGE_PASSWORD_FAILED(27) を返します。



    次のURL は、パスワードの変更を要求する例です。

    http://webcalendarserver/change_password.wcap?id=b5q2o8ve2rk02nv9t6 &oldPassword=abc&newPassword=def



    check_id


    目的
    セッションの有効性を確認するための、管理者専用コマンドです。


    パラメータ
    表 7-10check_id パラメータの一覧を示します。

    表 7-11    check_id パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    id  

    文字列  

    セッション ID  

    必須  

    なし  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  


    目的
    管理者はこのコマンドを使用して、セッションの有効性を確認できます。


    戻り値
    サーバはプロパティ 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



    createcalendar


    目的
    新しいカレンダーを作成します。


    パラメータ
    表 7-12createcalendar パラメータの一覧を示します。

    表 7-12    createcalendar パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    calid  

    文字列  

    新しいカレンダーの calid を生成するためのユーザ calid  

    必須  

    なし  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    必須  

    text/js  

    set_calprops  

    整数 (01)  

    新しいカレンダーのプロパティを設定するかどうかを示す論理値

    1 = プロパティを設定する
    0 = プロパティを設定しない
     

    任意  

    0  


    説明
    このコマンドを使用して、現在のユーザの新しいカレンダーを作成します。 管理者の権限を持たないユーザがこのコマンドを使用できるようにするには、ics.conf ファイルの service.wcap.allowcreatecalendars の設定を変更します。


    有効な Calid の作成
    作成されたカレンダーの新しい calid は、そのユーザの useridcalid パラメータの組み合わせです。 システムは、id パラメータで指定されたセッションを検索して userid を取得します。 新しいカレンダーの calid の形式は userid:calid です。 たとえば、ユーザが jdoe、そして calid パラメータが tv の場合、新しいカレンダーの calid は jdoe:tv になります。

    パラメータが長すぎる場合や、不正な文字を含んでいる場合は、calid がサーバによって切り捨てられます。 サーバが calid の切り捨てに失敗すると、エラー ILLEGAL_CALID_NAME(30) が返されます。

    calid に使用できる有効な文字は次のとおりです。

    • アルファベット文字 (A 〜 Z、a 〜 z)

    • 数字 (0 〜 9)

    • 特殊文字

      • ダッシュ (-)

      • アンダースコア (_)

      • ピリオド (.)

    たとえば、calid パラメータに有効な値は、 calendar1calendar-1calendar_1calendar.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



    deletecalendar


    目的
    このコマンドは、ユーザのカレンダーを削除します。


    パラメータ
    表 7-13deletecalendar パラメータの一覧を示します。

    表 7-13    deletecalendars パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    calid  

    文字列  

    削除するカレンダーの名前  

    必須  

    なし  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    必須  

    text/js  


    説明
    このコマンドを使用して、ユーザのカレンダーを削除します。 削除するカレンダーの名前である 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



    deletecomponents_by_range


    目的
    指定された範囲のイベントと todo (仕事) をカレンダーから削除します。


    appid の ENS 通知はまだ実装されていません。




    パラメータ
    表 7-14deletecomponents_by_range パラメータの一覧を示します。

    表 7-14    deletecomponents_by_range パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    appid  

    文字列  

    どのアプリケーションが要求を発行しているかを指定する、データベースに格納されない実行時パラメータ。 ENS はこのパラメータを使用して、どの X-Token を返すかを指定する。 WCAP コマンドの出力には影響しない

    ENS X-Tokens の詳細については、『Sun ONE Messaging and Collaboration イベント通知サービスマニュアル』 を参照  

    任意  

    なし  

    brief  

    整数 (0、1)  

    JavaScript の簡略出力を出力するかどうかを示す論理値

    出力形式 (fmt-out) が JavaScript (text/js) の場合にだけ適用される

    1 = 簡易出力
    0 = 完全出力
     

    任意  

    0  

    calid  

    文字列  

    削除するイベントとtodo (仕事) が含まれるカレンダーID を、セミコロンで区切ったリスト  

    任意  

    現在のユーザの calid  

    dtend  

    ISO 8601 DateTime Z
    文字列 (UTC)
     

    削除するイベントまたはtodo (仕事) の終了日時

    値が 0 の場合、終了日時までのイベントおよびtodo (仕事) をすべて削除する。この値は、世界協定時刻でなければならない  

    任意  

    0  

    dtstart  

    ISO 8601 DateTime Z
    文字列 (UTC)
     

    削除するイベントまたはtodo (仕事) の開始日時

    値が 0 の場合、開始時間からのイベントおよび todo (仕事) がすべて削除される。この値は、世界協定時刻でなければならない  

    任意  

    0  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  


    説明
    このコマンドを使用すると、指定した範囲に完全に当てはまるイベントと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



    deleteevents_by_id


    目的
    イベント識別子を使用して、1 つまたは複数のイベントをカレンダーから削除します。


    パラメータ
    表 7-15deleteevents_by_id パラメータの一覧を示します。

    表 7-15    deleteevents_by_id パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    appid  

    文字列  

    どのアプリケーションが要求を発行しているかを指定する、データベースに格納されない実行時パラメータ。 ENS はこのパラメータを使用して、どの X-Token を返すかを指定する。 WCAP コマンドの出力には影響しない

    ENS X-Tokens の詳細については、『Sun ONE Messaging and Collaboration イベント通知サービスマニュアル』 を参照  

    任意  

    なし  

    brief  

    整数 (0、1)  

    JavaScript の簡略出力を出力するかどうかを示す論理値

    出力形式 (fmt-out) が JavaScript (text/js) の場合にだけ適用される

    1 = 簡易出力
    0 = 完全出力
     

    任意  

    0  

    calid  

    文字列  

    削除するイベントのカレンダー ID  

    必須  

    なし  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    id  

    一意の識別文字列  

    セッション IDカレンダーが公開されている場合を除き、このパラメータは必須  

    必須  

    NULL  

    mod  

    整数

    1234  

    どの繰り返しで削除するかを指示する修飾子。 または、セミコロンで区切った複数の修飾子のリスト。 リストの場合は、uid リストと要素の数が同じでなければならない。

    次の値を指定できる

    1 = THISINSTANCE
    2
    = THISANDFUTURE
    3
    = THISANDPRIOR
    4 = THISANDALL
     

    必須  

    なし  

    notify  

    整数

    01  

    出席者にこの変更を通知するかどうかを示す論理値

    1 = 出席者に通知する
    0 = 出席者に通知しない
     

    任意  

    0  

    rid  

    文字列  

    イベントの繰り返し識別子、または複数の繰り返し識別子をセミコロンで区切ったリスト

    リストの場合は、uid リストと要素の数が同じでなければならない

    繰り返しがない場合の値は 0  

    必須  

    なし  

    tzid  

    タイムゾーン ID 文字列  

    rid パラメータにタイムゾーンが指定されていない場合に使用されるデフォルトのタイムゾーン

    例: America/Los_Angeles  

    任意  

    サーバのデフォルトタイムゾーン  

    uid  

    文字列  

    削除するイベントの一意識別子、または複数の一意識別子をセミコロンで区切ったリスト  

    必須  

    なし  


    説明
    このコマンドを使用して、指定した 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&notify=1


    繰り返し
    rid パラメータを渡した場合は、mod パラメータの指定に従って、繰り返しも削除されます。 (繰り返しコンポーネントの削除または変更参照。) 複数のイベントを削除するには、uid, rid、および mod パラメータにセミコロンで区切ったリストを指定します。この 3 つのリストの要素は同じ数でなければなりません。各リストの要素は、他の 2 つのリストにある同じ要素と対応していなければなりません。



    たとえば、繰り返しのないイベントが、データベースに 2 つあり、各イベントの UID がuid-EVENT1 および uid-EVENT2 であるとします。 これらのイベントは繰り返さないため、各イベントの rid の値は 0 および mod の値は 1 に設定されます。

    次の URL では 2 つのイベントが削除されます。

    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



    deleteevents_by_range


    目的
    指定した範囲のイベントをカレンダーから削除します。


    appid の ENS 通知はまだ実装されていません。




    パラメータ
    表 7-16deleteevents_by_range パラメータの一覧を示します。

    表 7-16    deleteevents_by_range パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    appid  

    文字列  

    どのアプリケーションが要求を発行しているかを指定する、データベースに格納されない実行時パラメータ。 ENS はこのパラメータを使用して、どの X-Token を返すかを指定する。 WCAP コマンドの出力には影響しない

    ENS X-Token の詳細については、 『Sun ONE Messaging and Collaboration イベント通知サービスマニュアル』を参照  

    任意  

    なし  

    brief  

    整数 (0、1)  

    JavaScript の簡略出力を出力するかどうかを示す論理値

    出力形式 (fmt-out) が JavaScript (text/js) の場合にのみ適用される

    1 = 簡易出力
    0 = 完全出力
     

    任意  

    0  

    calid  

    文字列  

    削除するイベントが含まれるカレンダー ID を、セミコロンで区切ったリスト  

    任意  

    現在のユーザの calid  

    dtend  

    ISO 8601 DateTime 文字列  

    削除するイベントの終了日時

    値が 0 の場合は、時間の最後までのイベントがすべて削除される  

    任意  

    0  

    dtstart  

    ISO 8601 DateTime 文字列  

    削除するイベントの開始日時

    値が 0 の場合は、時間の最初からのイベントがすべて削除される  

    任意  

    0  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  


    説明
    このコマンドを使用して、指定した範囲に完全に当てはまるイベントを、指定したカレンダーから削除します。 範囲 (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



    deletetodos_by_id


    目的
    1 つまたは複数のtodo (仕事) をカレンダーから削除します。


    パラメータ
    表 7-17deletetodos_by_id パラメータの一覧を示します。

    表 7-17    deletetodos_by_id パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    appid  

    文字列  

    どのアプリケーションが要求を発行しているかを指定する、データベースに格納されない実行時パラメータ。 ENS はこのパラメータを使用して、どの X-Token を返すかを指定する。 WCAP コマンドの出力には影響しない

    ENS X-Token の詳細については、『Sun ONE Messaging and Collaboration イベント通知サービスマニュアル』を参照  

    任意  

    なし  

    brief  

    整数 (0、1)  

    JavaScript の簡略出力を出力するかどうかを示す論理値

    出力形式 (fmt-out) が JavaScript (text/js) の場合にだけ適用される

    1 = 簡易出力
    0 = 完全出力
     

    任意  

    0  

    calid  

    文字列  

    削除する 1 つまたは複数のtodo (仕事) のカレンダー ID  

    必須  

    なし  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    mod  

    整数  

    どの繰り返しで削除するかを指示する修飾子。 または、セミコロンで区切った複数の修飾子のリスト。 リストの場合、uid リストと要素の数が同じでなければならない

    次の値を指定できる

    1 = THISINSTANCE
    2 = THISANDFUTURE
    3 = THISANDPRIOR
    4 = THISANDALL
     

    必須  

    なし  

    notify  

    整数 (0、1)  

    この変更を出席者に通知するかどうかを示す論理値

    1 = 出席者に通知する
    0 = 出席者に通知しない
     

    任意  

    0  

    rid  

    文字列  

    todo (仕事) の繰り返し識別子、または複数の繰り返し識別子をセミコロンで区切ったリスト

    リストの場合、uid リストと要素の数が同じでなければならない

    繰り返しがない場合、値は 0  

    必須  

    なし  

    tzid  

    タイムゾーン ID 文字列  

    dtstart または dtend パラメータに、タイムゾーンが指定されていない場合に使用されるデフォルトのタイムゾーン

    例: America/Los_Angeles  

    任意  

    サーバのデフォルトタイムゾーン  

    uid  

    文字列  

    削除する todo(仕事)の一意識別子、または複数の一意識別子をセミコロンで区切ったリスト  

    必須  

    なし  


    説明
    このコマンドを使用して、指定した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 (仕事) のメール出席者に送信するかどうかを指定します。 notify1 の場合、キャンセルメッセージが電子メールで送信されます。

    たとえば、次の URL は、IMIP CANCEL メッセージを uid=001 の todo (仕事) の出席者すべてに送信します。

    http://webcalendarserver/deletetodos_by_id.wcap?id=3423423asdfasf&c alid=jdoe&uid=001&notify=1


    繰り返し
    rid パラメータが渡された場合、 mod パラメータの指定に従って、繰り返しも削除されます。 繰り返しコンポーネントの削除または変更も参照してください。

    複数の todo (仕事) を削除するには、uidrid、および 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



    deletetodos_by_range


    目的
    指定した範囲のtodo (仕事) をカレンダーから削除します。


    appid の ENS 通知はまだ実装されていません。




    パラメータ
    表 7-18deletetodos_by_range パラメータの一覧を示します。

    表 7-18    deletetodos_by_range パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    appid  

    文字列  

    どのアプリケーションが要求を発行しているかを指定する、データベースに格納されない実行時パラメータ。 ENS はこのパラメータを使用して、どの X-Token を返すかを指定する。 WCAP コマンドの出力には影響しない

    ENS X-Token の詳細については、『Sun ONE Messaging and Collaboration イベント通知サービスマニュアル』を参照  

    任意  

    なし  

    brief  

    整数 (0、1)  

    JavaScript の簡略出力を出力するかどうかを示す論理値

    出力形式 (fmt-out) が JavaScript (text/js) の場合にだけ適用される

    1 = 簡易出力
    0 = 完全出力
     

    任意  

    0  

    calid  

    文字列  

    削除するtodo (仕事) が含まれるカレンダー ID を、セミコロンで区切ったリスト  

    任意  

    現在のユーザの calid  

    dtstart  

    ISO 8601 DateTime 文字列  

    削除するtodo (仕事) の開始日時。 値が 0 の場合は、時間の最初からのtodo (仕事) がすべて削除される  

    任意  

    0  

    dtend  

    ISO 8601 DateTime 文字列  

    削除するtodo (仕事) の終了日時。 値が 0 の場合、最近までのtodo (仕事) がすべて削除される  

    任意  

    0  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  


    説明
    このコマンドを使用して、指定した範囲に完全に当てはまる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)

    エラーの処理も参照してください。



    export


    目的
    カレンダーから、イベントとtodo (仕事) をファイルにエクスポートします。


    パラメータ
    表 7-19export パラメータの一覧を示します。

    表 7-19    export パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    calid  

    文字列  

    エクスポートするイベントとtodo (仕事) が含まれるカレンダーID を、セミコロンで区切ったリスト。リストにあるすべてのカレンダーの「読み取り」アクセス権が必要  

    任意  

    現在のユーザの calid  

    content-
    out
     

    文字列  

    出力ファイルのコンテンツタイプ。次の値を指定できる

    text/calendar
    text/xml
     

    必須  

    なし  

    dtend  

    ISO 8601 DateTime Z 文字列 (UTC)  

    エクスポートするイベントとtodo (仕事) の終了日時。 値が 0 の場合、開始日から終了日までのすべてのコンポーネントがエクスポートされる  

    任意  

    0  

    dtstart  

    ISO 8601 DateTime Z 文字列 (UTC)  

    エクスポートするイベントとtodo (仕事) の開始日時。 値が 0 の場合、最も古い日付から終了日までのコンポーネントがすべてインポートされる  

    任意  

    0  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  


    説明
    このコマンドを使用して、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 ファイルにエクスポートします。

    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

    例 2
    次の 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



    fetchcomponents_by_alarmrange


    目的
    カレンダーからアラームトリガを持つイベントと todo (仕事) を取得します。


    パラメータ
    表 7-20fetchcomponents_by_alarmrange パラメータの一覧を示します。

    表 7-20    fetchcomponents_by_alarmrange パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    brief  

    整数 (01)  

    JavaScript の簡略出力を出力するかどうかを示す論理値

    出力形式 (fmt-out) が JavaScript (text/js) の場合にだけ適用される

    1 = 簡易出力
    0 = 完全出力
     

    任意  

    0  

    calid  

    文字列  

    取得するコンポーネントが含まれるカレンダー ID を、セミコロンで区切ったリスト  

    任意  

    現在のユーザの calid  

    component-type  

    キーワード (eventtodoall)  

    どのコンポーネントを返すかを指定するevent はイベントだけを返す
    todo は todo (仕事)だけを返す
    all はイベントと todo (仕事) の両方を返す

    無効な値が渡された場合は、all と見なされる  

    任意  

    all  

    compressed  

    整数 (01)  

    compressed=0 の場合は、少ないデータが返される。 次のパラメータを返さない
    rrules
    rdate
    exrule
    exdate

    compressed=1 の場合は、すべての繰り返しデータが返される

    このパラメータは、fmt-outtext/xml または text/calendar の場合のみ有効  

    任意  

    0  

    compstate  

    コンポーネントの状態のキーワードを、セミコロンで区切ったリスト  

    取り込むコンポーネントの状態のリスト

    compstate の値については、表 7-7を参照  

    任意  

    ALL  

    dtend  

    ISO 8601 DateTime Z 文字列  

    返されるイベントと todo (仕事) の終了日時

    値が 0 の場合は、すべてのイベントが取り込まれる  

    任意  

    0  

    dtstart  

    ISO 8601 DateTime Z 文字列  

    指定した期間に配信されるアラームを持つイベントまたは todo (仕事) の開始日時

    値が 0 の場合は、時間の最初からのイベントがすべて取り込まれる  

    任意  

    0  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    maxResults  

    整数  

    返されるイベントと todo (仕事) の最大数。 0 の場合、最大数は適用されず、検出されたすべてのイベントと todo (仕事) が返される  

    任意  

    0  

    tzid  

    タイムゾーン ID 文字列  

    dtstart および dtend パラメータがまだグリニッジ標準時になっていない場合に、これらをグリニッジ標準時に変換するために使用するタイムゾーン

    例: America/Los_Angeles  

    任意  

    サーバのデフォルトタイムゾーン  

    tzidout  

    タイムゾーン ID 文字列  

    返されたデータをレポートするタイムゾーン  

    任意  

    グリニッジ標準時  


    説明
    このコマンドは、指定した期間にアラームを配信するイベントと 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) になります。



    たとえば、次の 3 つのイベントがあるとします。

    • eventA: 2001 年 12 月 25 日の午後 12 時 30 分 (GMT) にアラーム

    • eventB: 2002 年 2 月 10 日の午前 10 時 00 分 (GMT) にアラーム

    • todoA: 2002 年 6 月 20 日の午後 1 時 15 分 (GMT) にアラーム

    このカレンダーに対する 2 つのクエリとその戻り値について説明します。

    例 1

    次のクエリは、2001 年 12 月 1 日 〜 2001 年 1 月 31 日にアラームを配信するイベントとtodo (仕事) を、すべて取り込みます。

    http://webcalendarserver/fetchcomponents_by_alarmrange.wcap?id=abcdefg&dtstart=20011201T112233Z&dtend=20020131T112233Z&fmt-out=text/calendar

    eventA および todoA が返されます。

    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

    例 2

    次のクエリは、2002 年 1 月 1 日 〜 2002 年 6 月 1 日にアラームを配信するイベントと todo (仕事) を、すべて取り込みます。

    http://webcalendarserver/fetchcomponents_by_alarmrange.wcap?id=abcdefg&dtstart=20020101T000000Z&dtend=20020601T000000Z&fmt-out=
    text/calendar

    event B および todoA が返されます。

    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-21fetchcomponents_by_attendee_error パラメータの一覧を示します。

    表 7-21    fetchcomponents_by_attendee_error パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    attendee  

    文字列  

    検索する出席者の calidcalid パラメータに指定されているカレンダーから、この出席者のイベントで発生したすべてのエラーを検索する

    このパラメータが指定されない場合、一次所有者のカレンダーから、出席者全員のすべてのイベントエラーを検索する  

    任意  

    なし  

    brief  

    整数 (0、1)  

    JavaScript の簡略出力を出力するかどうかを示す論理値

    出力形式 (fmt-out) が JavaScript (text/js) の場合にだけ適用される

    1 = 簡略出力
    0 = 完全出力
     

    任意  

    0  

    calid  

    文字列  

    取得するコンポーネントが含まれるカレンダー ID を、セミコロンで区切ったリスト  

    任意  

    現在のユーザのcalid  

    component-
    type
     

    キーワード (eventtodoall)  

    どのコンポーネントを返すかを指定する
    event はイベントだけを返す
    todo は todo (仕事) だけを返す
    all はイベントとtodo (仕事) の両方を返す

    無効な値が渡された場合は all と見なされる  

    任意  

    all  

    compressed  

    整数 (01)  

    compressed=0 の場合少ないデータが返される。 次のパラメータを返さない
    rrules
    rdate
    exrule
    exdate

    compressed=1 の場合は、すべての繰り返しデータが返される

    このパラメータは、fmt-outtext/xml または text/calendar の場合のみ有効  

    任意  

    0  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    maxResults  

    整数  

    返されるイベントと todo (仕事) の最大数。 0 の場合は最大数は適用されず、検出されたすべてのイベントと todo (仕事) が返される  

    任意  

    0  

    tzidout  

    標準タイムゾーンの文字列  

    返されたデータを変換するタイムゾーン  

    任意  

    グリニッジ標準時でデータを返す  


    説明
    このコマンドを使用して、グループスケジューリングメッセージの送信中にエラーが発生したイベントと 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 つのイベントをそれぞれ持っています。

    cal1 のイベント

    cal2 のイベント

    イベント - 1c1

    出席者: jdoe

    状態:エラー

    イベント - 1c2

    出席者: john

    状態:OK

    イベント - 2c1

    出席者: susan

    状態:エラー

    イベント - 2c2

    出席者: jdoe

    状態:エラー

    イベント - 3c1

    出席者: jdoe

    状態: OK

    イベント - 3c2

    出席者: susan

    状態: OK

    イベント - 4c1

    出席者: john

    状態: OK

    イベント - 4c2

    出席者: susan

    状態:エラー

    出席者 jdoe に対してこのコマンドは、 イベント 1c1 および 2c2 を返します。

    システムはデータを返す前に、 tzidout パラメータを使用して、どのタイムゾーンにデータを変換するか決定します。 tzidout パラメータがない場合、グリニッジ標準時でデータが返されます。


    エラーコード
    処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。 何らかの理由でコマンドの実行に失敗した場合、errnoFETCH_BY_ATTENDEE_ERROR_FAILED(42) です。



    fetchcomponents_by_lastmod


    目的
    指定した期間中に変更されたコンポーネントのリストを取り込みます。


    パラメータ

    表 7-22fetchcomponents_by_lastmod パラメータの一覧を示します。

    表 7-22    fetchcomponents_by_lastmod パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    brief  

    整数 (0、1)  

    JavaScript の簡略出力を出力するかどうかを示す論理値

    出力形式 (fmt-out) が JavaScript (text/js) の場合にだけ適用される

    1 = 簡略出力
    0 = 完全出力
     

    任意  

    0  

    calid  

    文字列  

    取得するコンポーネントが含まれるカレンダー ID を、セミコロンで区切ったリスト  

    任意  

    現在のユーザの calid  

    component-
    type
     

    キーワード (eventtodoall)  

    どのコンポーネントを返すかを指定する event はイベントだけを返す
    todo は todo (仕事) だけを返す
    all はイベントと todo (仕事) の両方を返す

    無効な値が渡された場合は all と見なされる  

    任意  

    all  

    compressed  

    整数 (01)  

    compressed=0 の場合は、少ないデータが返される。 次のパラメータを返さない
    rrules
    rdate
    exrule
    exdate

    compressed=1 の場合は、 すべての繰り返しデータが返される

    このパラメータは、 fmt-outtext/xml または text/calendar の場合のみ有効  

    任意  

    0  

    compstate  

    コンポーネントの状態のキーワードを、セミコロンで区切ったリスト  

    取り込むコンポーネントの状態のリスト

    compstate の値については、表 7-7を参照  

    任意  

    ALL  

    dtend  

    ISO 8601 DateTime Z 文字列  

    返されるイベントの終了日時

    値が 0 の場合は、すべてのイベントが取り込まれる  

    任意  

    0  

    dtstart  

    ISO 8601 DateTime Z 文字列  

    返されるイベントの開始日時

    値が 0 の場合は、時間の最初からのイベントがすべて取り込まれる  

    任意  

    0  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    maxResults  

    整数  

    返されるイベントと todo (仕事) の最大数。 0 の場合は最大数は適用されず、検出されたすべてのイベントと todo (仕事) が返される  

    任意  

    0  

    tzid  

    タイムゾーン ID 文字列  

    dtstart または dtend パラメータが、グリニッジ標準時でない場合に使用されるタイムゾーン

    例: America/Los_Angeles  

    任意  

    サーバのデフォルトタイムゾーン  

    tzidout  

    タイムゾーン ID 文字列  

    返されたデータをレポートするタイムゾーン  

    任意  

    グリニッジ標準時  


    説明
    このコマンドを使用して、指定した期間中に変更されたイベントと 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)

    • eventB:最終更新日時は 2001 年 12 月 25 日の午後 12 時 30 分 (GMT)

    • todoA:最終更新日時は 2002 年 1 月 20 日の午後 1 時 15 分 (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 が返されます。



    fetchcomponents_by_range


    目的
    カレンダーのイベントと todo (仕事) を取得します。


    パラメータ
    表 7-23fetchcomponents_by_range パラメータの一覧を示します。

    表 7-23    fetchcomponents_by_range パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    brief  

    整数 (0、1)  

    JavaScript の簡略出力を出力するかどうかを示す論理値

    出力形式 (fmt-out) が JavaScript (text/js) の場合にだけ適用される

    1 = 簡易出力
    0 = 完全出力
     

    任意  

    0  

    calid  

    文字列  

    取得するコンポーネントが含まれるカレンダー ID を、セミコロンで区切ったリスト  

    任意  

    現在のユーザの calid  

    component-
    type
     

    キーワード (eventtodoall)  

    どのコンポーネントを返すかを指定する event はイベントだけを返す
    todo は todo (仕事) だけを返す
    all イベントと todo (仕事) の両方を返す

    無効な値が渡された場合は all と見なされる  

    任意  

    all  

    compressed  

    整数 (01)  

    compressed=0 の場合は少ないデータが返される。 次のパラメータを返さない
    rrules
    rdate
    exrule
    exdate

    compressed=1 の場合は、すべての繰り返しデータが返される

    このパラメータは、fmt-outtext/xml または text/calendar の場合のみ有効  

    任意  

    0  

    compstate  

    コンポーネントの状態のキーワードを、セミコロンで区切ったリスト  

    取り込むコンポーネントの状態のリスト

    compstate の値については、表 7-7を参照  

    任意  

    ALL  

    dtend  

    ISO 8601 DateTime Z 文字列  

    返されるイベントの終了日時

    値が 0 の場合は、すべてのイベントが取り込まれる  

    任意  

    0  

    dtstart  

    ISO 8601 DateTime Z 文字列  

    返されるイベントの開始日時

    値が 0 の場合は、時間の最初からのイベントがすべて取り込まれる  

    任意  

    0  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    maxResults  

    整数 (0、1)  

    返されるイベントと todo (仕事) の最大数。 0 の場合は最大数は適用されず、検出されたすべてのイベントと todo (仕事) が返される  

    任意  

    0  

    tzid  

    タイムゾーン ID 文字列  

    dtstart または dtend パラメータがグリニッジ標準時でない場合に使用される、デフォルトのタイムゾーン

    例: America/Los_Angeles  

    任意  

    サーバのデフォルトタイムゾーン  

    tzidout  

    タイムゾーン ID 文字列  

    返されたデータをレポートするタイムゾーン  

    任意  

    グリニッジ標準時  


    説明
    このコマンドを使用して、指定した 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 がエラー文字列に追加されます。カレンダーにアクセスできない場合、またはカレンダーが見つからない場合は、エラー番号がエラー文字列に追加されます。



    例 1

    この例では、次の 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

    例 2

    次の例では、カレンダー 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

    次のイベントと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^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



    fetchevents_by_id


    目的
    特定のカレンダーのイベントを取得します。


    パラメータ
    表 7-24fetchevents_by_id パラメータの一覧を示します。

    表 7-24    fetchevents_by_id パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    brief  

    整数 (0、1)  

    JavaScript の簡略出力を出力するかどうかを示す論理値

    出力形式 (fmt-out) が JavaScript (text/js) の場合にだけ適用される

    1 = 簡易出力
    0 = 完全出力
     

    任意  

    0  

    calid  

    文字列  

    取得するイベントが含まれるカレンダーの一意識別子  

    任意  

    現在のユーザの calid  

    compressed  

    整数 (01)  

    compressed=0 の場合は、少ないデータが返される。 次のパラメータを返さない
    rrules
    rdate
    exrule
    exdate

    compressed=1 の場合は、すべての繰り返しデータが返される

    このパラメータは、 fmt-outtext/xml または text/calendar の場合のみ有効  

    任意  

    0  

    compstate  

    コンポーネントの状態のキーワードを、セミコロンで区切ったリスト  

    取り込むコンポーネントの状態のリスト

    compstateの値については、表 7-7を参照  

    任意  

    ALL  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    mod  

    整数  

    どの繰り返しを取得するかを指示する修飾子。次の値を指定できる

    1 = THISINSTANCE
    2 = THISANDFUTURE
    3 = THISANDPRIOR
    4 = THISANDALL
     

    任意  

    1

    (THISINSTANCE)  

    rid  

    ISO 8601 DateTime 文字列  

    イベントの繰り返し識別子。 繰り返しのないイベントの場合、0 に設定。  

    任意  

    0  

    tzid  

    タイムゾーン ID 文字列  

    rid パラメータがグリニッジ標準時でない場合に使用するタイムゾーン。

    例: America/Los_Angeles  

    任意  

    サーバのデフォルトタイムゾーン  

    tzidout  

    タイムゾーン ID 文字列  

    返されたデータを変換するタイムゾーン  

    任意  

    グリニッジ標準時でデータを返す  

    uid  

    文字列  

    イベントの一意の識別子  

    必須  

    なし  


    説明
    このコマンドを使用して、指定したカレンダーから、指定したイベントおよび繰り返しを取得します。 指定したカレンダーが公開カレンダーでない場合、コマンドに 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



    fetchtodos_by_id


    目的
    特定のカレンダーのtodo (仕事)を取得します。


    パラメータ
    表 7-25fetchtodos_by_id パラメータの一覧を示します。

    表 7-25    fetchtodos_by_id パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    brief  

    整数 (0、1)  

    JavaScript の簡略出力を出力するかどうかを示す論理値

    出力形式 (fmt-out) が JavaScript (text/js) の場合にだけ適用される

    1 = 簡易出力
    0 = 完全出力
     

    任意  

    0  

    calid  

    文字列  

    取得するtodo (仕事)が含まれるカレンダーの一意の識別子  

    任意  

    現在のユーザの calid  

    compressed  

    整数 (01)  

    compressed=0 の場合は、少ないデータが返される。 次のパラメータは返されない
    rrules
    rdate
    exrule
    exdate

    compressed=1 の場合は、 すべての繰り返しデータが返される

    このパラメータは、fmt-outtext/xml または text/calendar の場合のみ有効  

    任意  

    0  

    compstate  

    コンポーネントの状態のキーワードを、セミコロンで区切ったリスト  

    取り込むコンポーネントの状態のリスト

    compstate の値については、表 7-7を参照  

    任意  

    ALL  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    mod  

    整数  

    どの繰り返しを取得するかを指示する修飾子。次の値を指定できる

    1 = THISINSTANCE
    2 = THISANDFUTURE
    3 = THISANDPRIOR
    4 = THISANDALL
     

    任意  

    1

    (THISINSTANCE)  

    rid  

    ISO 8601 DateTime 文字列  

    todo (仕事)の繰り返し識別子。 繰り返しのない todo (仕事) の場合、 0 を設定  

    任意  

    0  

    tzid  

    タイムゾーン ID 文字列  

    rid パラメータがグリニッジ標準時でない場合に使用するタイムゾーン

    例: America/Los_Angeles  

    任意  

    サーバのデフォルトタイムゾーン  

    tzidout  

    タイムゾーン ID 文字列  

    返されたデータを変換するタイムゾーン  

    任意  

    データをグリニッジ標準時で返す  

    uid  

    文字列  

    todo (仕事)の一意の識別子  

    必須  

    なし  


    説明
    このコマンドを使用して、指定したカレンダーから、指定した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」があります。

    例 1

    次のクエリは 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

    次のクエリは、最後から 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



    get_all_timezones


    目的
    サーバでサポートされている、すべてのタイムゾーンに関するデータを取得します。


    パラメータ
    表 7-26get_all_timezones パラメータの一覧を示します。

    表 7-26    get_all_timezones パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    dtend  

    ISO 8601 DateTime Z 文字列  

    取得するクロスオーバー値の終了日

    値が 0 の場合は、認識されている最後の年 (2087) 以前のクロスオーバー日付がすべて取得される  

    任意  

    0  

    dtstart  

    ISO 8601 DateTime Z 文字列  

    取得するクロスオーバー値の開始日

    値が 0 の場合は、認識されている最初の年 (1987) 以降のクロスオーバー日付がすべて取得される  

    任意  

    0  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  


    説明
    このコマンドを使用して、サーバでサポートされているすべてのタイムゾーンに関するデータを取得します。クロスオーバー値には、そのタイムゾーンで夏時間が開始および終了する日付が定義されます。 奇数のインデックス日付に、夏時間が始まります 偶数のインデックス日付に、夏時間が終わりますタイムゾーンに夏時間がない場合、この値には空の文字列が設定されます。


    戻り値
    dtstart および dtend パラメータで年の範囲を指定すると、範囲内の年のクロスオーバー日付だけが返されます。年の範囲を指定しない場合は、認識されている最初の年から最後の年 (1987〜2087) までのクロスオーバー日付がすべて返されます。

    データは fmt-out パラメータに指定した形式で返されます。 fmt-out パラメータを渡さない場合は、デフォルトのJavaScript 形式が使用されます。


    エラーコード
    タイムゾーンの取得中にエラーが発生した場合は、サーバはエラーコード GET_ALL_TIMEZONES_FAILED(24) を返します。



    例 1 では、コマンド出力を示します。例 2 では、クロスオーバー配列を示します。

    例 1

    このクエリはすべてのタイムゾーンを取得します。

    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

    例 2

    次に、クロスオーバー日付が 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())



    get_calprops


    目的
    カレンダープロパティを取得します。


    パラメータ
    表 7-27get_calprops パラメータの一覧を示します。

    表 7-27    get_calprops パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    calid  

    文字列をセミコロンで区切ったリスト  

    プロパティを取得するカレンダーのカレンダー ID のリスト  

    任意  

    現在のユーザの calid  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  


    説明
    このコマンドを使用して、指定したカレンダーのプロパティを取得します。


    戻り値
    指定したカレンダーのプロパティを示すページが返されます。ページには次の情報が含まれます。

    • 相対 ID

    • 表示名

    • 親カレンダー ID

    • タイムゾーン ID

    • 読み取りアクセス値 (0 = 読み取り不可、1 = 読み取り可)

    • 書き込みアクセス値 (0 = 書き込み不可、1 = 書き込み可)

    • 文字セット (空の場合、デフォルトは us-ascii)

    • 言語 (空の場合、デフォルトは en = 英語)

    • カレンダーマスタ (連絡先情報。通常は、1 次所有者の電子メールアドレス)

    • 説明

    • 最終更新日時

    • 作成日時

    • 一次所有者

    • ほかの所有者リスト (セミコロンで区切られたリスト)

    • カテゴリのリスト (セミコロンで区切られたリスト)


    エラーコード
    カレンダーは存在しているが、ユーザにそのカレンダーの読み取りアクセス権がない場合、そのカレンダーのインデックスの layer_errno[x] に、値 1 が設定されます。

    カレンダーが見つからない場合、そのカレンダーのインデックスの layer_errno[x] に、値 2 が設定されます。

    カレンダーの取り込みに失敗した場合、そのエラー番号 errnoGET_CALPROPS_FAILED(20) に設定されます。



    次の例では、カレンダー jdoejsmith、susan の順で、カレンダープロパティを取得します。

    URL は、次のようになります。

    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



    get_freebusy


    目的
    ユーザの空き時間情報を取得します。


    パラメータ
    表 7-28get_freebusy パラメータの一覧を示します。

    表 7-28    get_freebusy パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    busyonly  

    整数 (01)  

    0 = 空き時間と予定なしの期間の両方を返す
    1 = 予定ありの期間だけを返す
     

    任意  

    0  

    calid  

    文字列をセミコロンで区切ったリスト  

    プロパティを取得するカレンダーのカレンダー ID のリスト  

    任意  

    現在のユーザのデフォルトカレンダー  

    dtstart  

    ISO 8601 DateTime Z 文字列  

    空き時間検索の開始時刻  

    必須  

    なし  

    dtend  

    ISO 8601 DateTime Z 文字列  

    空き時間検索の終了時刻  

    必須  

    なし  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    tzid  

    タイムゾーン ID 文字列  

    dtstart または dtend パラメータにタイムゾーンが指定されていない場合に使用されるデフォルトのタイムゾーン

    例 : America/Los_Angeles  

    任意  

    サーバのデフォルトのタイムゾーン  

    tzidout  

    タイムゾーン ID 文字列  

    返されたデータをレポートするタイムゾーン  

    任意  

    グリニッジ標準時  


    説明
    このコマンドは、指定したユーザの空き時間の情報を取得します。空き時間の情報は、特定の時間帯にユーザの予定があるかどうかを示します。ただし、予定の内容は示しません。


    エラーコード
    何らかの理由でコマンドの実行に失敗すると、errnoGET_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 日に検出された空き時間情報が生成されます。

    出力は text/calendar 形式で返されます。

    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



    get_guids


    目的
    大域的に一意の識別子 (GUID) のセットを生成します。


    パラメータ
    表 7-29get_guids パラメータの一覧を示します。

    表 7-29    get_guids パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    guidCount  

    整数  

    返す GUID の数  

    任意  

    1  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  


    説明
    このコマンドは指定された数のグローバルな一意識別子 (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



    get_userprefs


    目的
    現在のユーザのカレンダー設定を取得します。


    パラメータ
    表 7-30get_userprefs パラメータの一覧を示します。

    表 7-30    get_userprefs パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    userid  

    文字列  

    管理者専用。取得するユーザの設定を指定する  

    任意  

    なし  


    説明
    このコマンドは、現在のユーザのカレンダー設定とこのユーザに関連するサーバ設定を取得します。 取得するサーバ設定には次の事項が含まれます。

    • 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 コマンドを使用して管理者の権限でログインする必要があります。

    サーバの設定の詳細については 『管理者ガイド』を参照してください。



    次の URL では、現在のユーザの設定を取得します。

    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



    import


    目的
    ファイルのイベントと todo (仕事) をカレンダーにインポートします。


    appid の ENS 通知はまだ実装されていません。




    パラメータ
    表 7-31import パラメータの一覧を示します。

    表 7-31    import パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    appid  

    文字列  

    どのアプリケーションが要求を発行しているかを指定する、データベースに格納されない実行時パラメータ。 ENS はこのパラメータを使用して、どの X-Token を返すかを指定する。 WCAP コマンドの出力には影響しない

    ENS X-Token の詳細については、『Sun ONE Messaging and Collaboration イベント通知サービスマニュアル』 を参照  

    任意  

    なし  

    calid  

    文字列  

    イベントのインポート先のカレンダー ID  

    必須  

    なし  

    content-in  

    文字列  

    入力データのコンテンツタイプ。次の値を指定できる
    text/calendar
    text/xml
     

    必須  

    なし  

    dtend  

    ISO 8601 DateTime Z 文字列  

    インポートするイベントと todo (仕事) の終了日時

    値が 0 の場合は、ファイル内の最初の日付から最後の日付までのコンポーネントがすべてインポートされる  

    任意  

    0  

    dtstart  

    ISO 8601 DateTime Z 文字列  

    インポートするイベントと todo (仕事) の開始日時

    値が 0 の場合は、ファイル内の最も古い日付から終了日までのコンポーネントがすべてインポートされる  

    任意  

    0  

    id  

    一意の識別文字列  

    セッション IDカレンダーが公開されている場合を除き、このパラメータは必須  

    必須  

    なし  


    説明
    このコマンドを使用して、以前に 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>



    login


    目的
    特定のユーザを認証します。


    パラメータ
    表 7-32login パラメータの一覧を示します。

    表 7-32    login パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    fmt-out  

    文字列  

    出力形式を指定する

    Calendar Express ユーザインタフェースにログインするには、text/html を指定する。この形式は、他のコマンドでは無効

    Calendar Express ユーザインタフェースにログインしない場合は、次の出力形式を選択する

    text/calendar
    text/xml
    text/js

    text/calendar または text/xml が指定されている場合、refresh パラメータは自動的に 1 に設定される  

    任意  

    text/js  

    lang  

    列挙型  

    ユーザ設定の言語  

    任意  

    NULL  

    password  

    文字列  

    ユーザパスワード  

    任意  

    なし  

    refresh  

    整数 (0、1)  

    新しいセッション ID だけを取得するか、またはすべてのセッション ID を取得するかを示す論理値

    1 = セッション ID だけを返す
    0 = すべてを返す
     

    任意  

    0  

    user  

    文字列  

    ユーザ名  

    任意  

    NULL  


    説明
    このコマンドは、特定のユーザが 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-outtext/js を指定する場合、デフォルト値は0 です。 fmt-out に別の形式の text/calendar または text/xml を指定する場合、デフォルト値は 1 です。

    refresh パラメータに 1 を指定した場合、返されるページには、次のようにセッション ID が 1 行で示されます。

    var id='bu9p3eb8x5p2nm0q3'

    これは、私的カレンダーにアクセスする場合に、さまざまな 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)>



    logout


    目的
    現在のユーザのセッションを終了します。


    パラメータ
    表 7-33logout パラメータの一覧を示します。

    表 7-33    logout パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  


    説明
    このコマンドは、指定した現在のユーザのセッションを終了し、セッションテーブルにあるユーザのセッションインスタンスを削除します。ユーザはログイン画面に戻ります。

    このコマンドを使用した URL の例を次に示します。

    http://webcalendarserver/logout.wcap?id=bu9p3eb8x5p2nm0q3



    ping


    目的
    Calender Server がアクティブかどうかを確認します。


    パラメータ
    このコマンドにパラメータは必要ありません。


    説明
    このコマンドは、サーバの応答を示す最小の HTML ページを返します。

    このコマンドを使用できるのは、管理権限を持つユーザだけです。


    戻り値
    次の例では、管理者の useridcalid は両方とも 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>



    search_calprops


    目的
    カレンダーのプロパティを検索します。


    パラメータ
    表 7-34search_calprops パラメータの一覧を示します。

    表 7-34    search_calprops パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    calid  

    整数 (0、1)  

    calid プロパティを検索するかどうかを示す論理値

    1 = calid プロパティを検索する
    0 = 検索しない
     

    任意  

    0、ただし primaryOwnername が両方とも 0 の場合を除く  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    maxResults  

    整数  

    返される結果の最大数  

    任意  

    200  

    name  

    整数 (0、1)  

    name プロパティを検索するかどうかを示す論理値

    1 = calid プロパティを検索する
    0 = 検索しない
     

    任意  

    0  

    primaryOwner  

    整数 (0、1)  

    primaryOwner プロパティを検索するかどうかを示す論理値

    1 = primaryOwner プロパティを検索する
    0 = 検索しない
     

    任意  

    0  

    searchOpts  

    整数

    0、1、2、3  

    検索の実行方法。次の値を指定できる

    0 = CONTAINS
    1 = BEGINS_WITH
    2 = ENDS_WITH
    3 = EXACT
     

    任意  

    0  

    search-string  

    文字列  

    カレンダー内で検索する文字列  

    必須  

    なし  


    説明
    このコマンドは、searchOpts で指定したクエリタイプを使用して、カレンダーを検索します。 指定した seachOpts を使用して、指定したプロパティ (primaryOwnercalidname) の文字列が search-string と一致する場合は、すべてのカレンダーのカレンダープロパティが返されます。 ただし、返されるプロパティ数は、maxResults に指定された最大の一致数までです。


    検索するプロパティ
    このコマンドは、次の 3 つのプロパティのいずれかと一致する文字列を検索します。

    • calid。 カレンダーの一意の識別子

    • name。 カレンダーの共通名 (テキスト)

    • primaryOwner。 カレンダーの 一次所有者

    特定のプロパティの値を検索するには、そのパラメータを 1 に設定します。 primaryOwner および name0 に設定すると、calid はデフォルトで 1 になります。 また、calid パラメータの設定にかかわらず、search-stringcalid と見なされます。


    検索オプション
    次の 4 つの検索オプションがあります。

    • search-string を含むカレンダープロパティを返す (CONTAINS)

    • search-string で始まるカレンダープロパティを返す (BEGINS_WITH)

    • search-string で終わるカレンダープロパティを返す (ENDS_WITH)

    • search-string と完全に一致するカレンダープロパティを返す (EXACT)



    次の 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

    次のデータはこの URL の結果です。

    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



    set_calprops


    目的
    カレンダープロパティを設定します。


    パラメータ
    表 7-35set_calprops パラメータの一覧を示します。

    表 7-35    set_calprops パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    acl  

    文字列  

    アクセス制御エントリの新しい値を指定した文字列を、セミコロンで区切ったリスト  

    任意  

    ,,,,  

    cal  

    符号化文字列  

    復号化するパラメータのリスト

    このパラメータの複数のインスタンスを指定できる  

    任意  

    なし  

    calid  

    文字列  

    変更するカレンダーの識別子  

    必須  

    なし  

    categories  

    文字列  

    カレンダーを配置する新しいカテゴリを指定した文字列を、セミコロンで区切ったリスト  

    任意  

    なし  

    charset  

    文字列  

    カレンダーの文字セット  

    任意  

    なし  

    description  

    文字列  

    カレンダーの説明  

    任意  

    なし  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    lang  

    文字列  

    カレンダーの言語  

    任意  

    なし  

    master  

    文字列  

    カレンダーの連絡先メールアドレス  

    任意  

    なし  

    multiple  

    整数  

    これらの設定を行うカレンダーの数  

    任意  

    0  

    name  

    文字列  

    カレンダーの新しいテキスト名  

    任意  

    なし  

    owners  

    文字列  

    一次所有者以外の新しい所有者を指定した文字列を、セミコロンで区切ったリスト  

    任意  

    なし  

    read  

    整数  

    このパラメータは使用しない。acl パラメータを使用する。 このパラメータは下位互換性を保持するために残されている

    カレンダーの新しい読み取りアクセス値。次の値を指定できる

    0 PRIVATE
    1 PUBLIC
    4
    PRIMARY_OWNER_ONLY
     

    任意  

    なし  

    tzid  

    文字列  

    このカレンダーの新しいタイムゾーン識別子  

    任意  

    ,,,,  

    write  

    整数  

    このパラメータは使用しない。acl パラメータを使用する。このパラメータは下位互換性を保持するために残されている

    カレンダーの新しい書き込みアクセス値。次の値を指定できる

    0 PRIVATE
    1 PUBLIC
    4
    PRIMARY_OWNER_ONLY
     

    任意  

    なし  


    説明
    このコマンドは、指定されたパラメータの値だけを変更します。すべてのパラメータをコマンドに指定する必要はありません。変更するパラメータだけを指定します。カレンダープロパティとは、カレンダーの名前、読み取りおよび書き込みアクセス権の値 (acl パラメータ)、所有者のリスト、およびカテゴリのリストを含む、カレンダー固有の状態のことです。

    read および write パラメータは使用しないでください。 この機能は、acl パラメータに置き換えられていて、 下位互換性を保持するためだけに残されています。

    set_calprops を使用して次の操作を行います。

    • カレンダーの名前を変更する

    • カレンダーの所有者を変更する

    • カレンダーのカテゴリを変更する

    • カレンダーのイベントの読み取りアクセス権を変更する

    • カレンダーのイベントの書き込みアクセス権を変更する

    • カレンダーの説明を変更する

    • カレンダーの文字セットを変更する

    • カレンダーの言語を変更する

    • カレンダーの連絡先メールアドレスを変更する

    • カレンダーのタイムゾーン識別子を変更する


    単一カレンダーの例
    次の 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進コードは、次のとおりです。

    文字

    コード

    =

    %3D

    &

    %26

    "

    %22

    たとえば、次の URL では、ID が xxxxyyyy、および zzzz である 3 つのカレンダーの説明が、それぞれ X-CalendarY-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

    このURL は、次の 3 つのURL と等価です。

    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 名です。


    空き時間の表示アクセス
    この章のはじめにある「共通のトピック」の「空き時間の表示のアクセス」を参照してください。


    他の言語または文字セットの選択
    この章のはじめにある「共通のトピック」の「異なる言語または文字セットの選択」を参照してください。



    set_userprefs


    目的
    セッションの設定またはパスワードを変更する。


    パラメータ
    表 7-36set_userprefs パラメータの一覧を示します。

    表 7-36    set_userprefs パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    add_attrs  

    文字列  

    新しい設定を追加する  

    任意  

    なし  

    convertCalid  

    整数 (01)  

    このパラメータを 1 に設定し、icsSet または icsSubscribed を設定する場合、calid を保存するときに、文字「^」が「:」に変換される

    0 に設定されている場合、このパラメータは無視される  

    任意  

    0  

    del_attrs  

    文字列  

    既存の設定を削除する  

    任意  

    なし  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    必須  

    text/js  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    set_attrs  

    文字列  

    設定値を変更する  

    任意  

    なし  

    userid  

    文字列  

    管理者専用。どのユーザの設定を行うか指定する  

    任意  

    なし  


    説明
    このコマンドは、現在のユーザ設定を変更します。ユーザのパスワードは、LDAP を介して変更することもできます。

    このパラメータは、カレンダーの予約購読リスト (icsSubscribed) またはグループの予約購読リスト (icsSet) を設定する場合にだけ使用します。 入力したコマンドの calid では、コロン「:」がキャレット「^」に置き換えられていなければなりません。 たとえば、calidjdoe:personal の場合、コマンドが正しく機能するには、WCAP はこれを jdoe^personal として受信する必要があります。

    convertCalid の値が 1 の場合、WCAP によって「^」が「:」に戻されます。 convertCalid の値が 0 の場合、変換は行われません。

    管理者がログインしているときに、ics.conf ファイルの service.admin.calmaster.wcap.allowgetmodifyuserprefs が「yes」に設定されている場合、userid パラメータはどのユーザ設定を行うか指定します。


    戻り値
    get_userprefs のテキストを返します。



    次の 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



    storeevents


    目的
    イベントをカレンダーに追加します。


    パラメータ
    表 7-37storeevents パラメータの一覧を示します。

    表 7-37    storeevents パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    alarmAudio  

    ISO 8601 Date Time Z 文字列  

    音声アラームを再生する時刻  

    任意  

    なし  

    alarmDescription  

    文字列  

    アラームで送信するメッセージ  

    任意  

    "This is the alarm description"  

    alarmEmails  

    セミコロンで電子メールアドレスを区切ったリスト  

    イベントのアラーム通知の受信者  

    任意  

    なし  

    alarmFlashing  

    ISO 8601 Date Time Z 文字列  

    フラッシュアラームを実行する時刻  

    任意  

    なし  

    alarmPopup  

    ISO 8601 Date Time Z 文字列  

    ダイアログアラームを表示する時刻  

    任意  

    なし  

    alarmStart  

    ISO 8601 Date Time Z 文字列  

    イベントのアラーム通知を送信する時刻  

    任意  

    なし  

    appid  

    文字列  

    どのアプリケーションが要求を発行しているかを指定する、データベースに格納されない実行時パラメータ。 ENS はこのパラメータを使用して、どの X-Token を返すかを指定する。 WCAP コマンドの出力には影響しない

    ENS X-Token の詳細については、『Sun ONE Messaging and Collaboration イベント通知サービスマニュアル』を参照  

    任意  

    なし  

    attachments  

    セミコロンで文字列を区切ったリスト  

    iCalendar と相互運用するためのパラメータ
    文字列は URL
     

    任意  

    なし  

    attendees  

    セミコロンで文字列を区切ったリスト  

    イベントの出席者  

    任意  

    なし  

    brief  

    整数 (01)  

    JavaScript の簡略出力を出力するかどうかを示す論理値

    出力形式 (fmt-out) が JavaScript (text/js) の場合にだけ適用される

    1 = 簡易出力
    0 = 完全出力
     

    任意  

    0  

    calid  

    文字列  

    イベントの保存先のカレンダー ID  

    必須  

    なし  

    categories  

    セミコロンで文字列を区切ったリスト  

    イベントのカテゴリ  

    任意  

    なし  

    compressed  

    整数 (01)  

    compressed=0 の場合は、少ないデータが返される。 次のパラメータを返さない
    rrules
    rdate
    exrule
    exdate

    compressed=1 の場合は、すべての繰り返しデータが返される

    このパラメータは、fmt-outtext/xml または text/calendar の場合のみ有効  

    任意  

    0  

    contacts  

    セミコロンで文字列を区切ったリスト  

    イベントの連絡先  

    任意  

    なし  

    desc  

    文字列  

    イベントの目的の説明。任意の長さの文字列。 このパラメータを渡さない場合は、descsummary の値に設定される

    文字列にスペースを指定する場合は、コード %20 を使用する  

    任意  

    summary パラメータの値  

    dtend  

    ISO 8601 DateTime Z 文字列  

    イベントの終了日時  

    任意  

    なし  

    dtstart  

    ISO 8601 DateTime Z 文字列  

    イベントの開始日時

    イベントを作成あるいは変更するときは必須  

    必須  

    なし  

    duration  

    ISO 8601
    継続時間文字列
     

    イベントの継続時間。 イベントに durationdtend が指定されている場合、duration は無視される  

    任意  

    なし  

    exdates  

    ISO 8601 DateTime Z 文字列をセミコロンで区切ったリスト  

    除外するイベントの繰り返し日付  

    任意  

    なし  

    exrules  

    文字列をセミコロンで区切ったリスト  

    除外するイベントの繰り返し規則。繰り返し規則の文字列をセミコロンで区切ったリスト

    各規則の値は、二重引用符で囲む必要がある。 繰り返し処理を参照  

    任意  

    なし  

    fetch  

    整数 (01)  

    新しく保存されたtodo (仕事)を取り込んで返すかどうかを示す論理値

    1 = 新しく保存されたtodo (仕事)を取り込んで返す
    0 = todo (仕事)を取り込まない
     

    任意  

    0  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    geo  

    セミコロンで区切られた2 つの実数  

    イベントの地理的位置を表す 2 つの実数
    (緯度と経度) を、セミコロンで区切った文字列

    たとえば、37.31;-123.2 のように指定する  

    任意  

    0;0  

    icsClass  

    文字列  

    イベントのクラス

    次の値を指定できる

    PUBLIC
    PRIVATE
    CONFIDENTIAL
     

    任意  

    PUBLIC  

    icsUrl  

    文字列  

    イベントの URL  

    任意  

    ""  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    isAllDay  

    整数 (0、1)  

    イベントが終日イベントかどうかを示す論理値

    1 = 終日イベント
    0 = 終日イベントではない
     

    任意  

    0  

    language  

    文字列  

    イベントの言語(例: 「en」、「fr」、「de」)  

    任意  

    なし  

    location  

    文字列  

    イベントの場所  

    任意  

    ""  

    method  

    整数 (12481632)  

    グループスケジューリングの ITIP メソッド

    1 = PUBLISH (開催者専用)
    2 = REQUEST (開催者専用)
    4 = REPLY (出席者専用)
    8 = CANCEL (開催者専用)
    16 = MOVE
    32
    = COUNTER (出席者専用)
     

    任意  

    1(PUBLISH)  

    mod  

    整数  

    保存または変更する繰り返しを指定する

    イベントを作成するときは必須ではない

    イベントを変更するときは必須

    次の値を指定できる

    1 = THISINSTANCE
    2 = THISANDFUTURE
    3 = THISANDPRIOR
    4 = THISANDALL
     

    任意

    必須  

    なし  

    notify  

    整数 (01)  

    このコマンドは使用しない。下位互換性を保持するために残されている。GSE (Group Scheduling Engine) モジュールで、すべてのメール通知は処理される

    出席者にイベントの変更を通知するかどうかを示す論理値

    1 = 出席者に通知する
    0 = 出席者に通知しない
     

    任意  

    0  

    orgEmail  

    電子メールアドレス  

    イベントの連絡先 (通常、開催者の) メールアドレス  

    任意  

    なし  

    orgUID  

    userid  

    開催者の userid  

    任意  

    なし  

    priority  

    整数(0 〜 9)  

    イベントの優先順位

    0 = 最低
    9= 最高
     

    任意  

    0  

    rchange  

    整数 (01)  

    繰り返しイベントを拡張するかどうかを示す論理値

    1 = 拡張する
    0 = 拡張しない
     

    任意  

    0  

    rdates  

    ISO 8601 DateTime Z 文字列をセミコロンで区切ったリスト  

    イベントの繰り返し日付  

    任意  

    なし  

    relatedTos  

    二重引用符で囲んだ文字列をセミコロンで区切ったリスト  

    このイベントに関連する他のイベント  

    任意  

    なし  

    replace  

    整数 (0、1)  

    論理値。 セミコロンで区切った値を持つパラメータ

    1 = 変更 (渡される新しい値と現在の値を置き換える)

    0 = 追加 (渡される新しい値を既存の値に追加)  

    任意  

    0  

    resources  

    文字列をセミコロンで区切ったリスト  

    イベントに関連付けられたリソース  

    任意  

    なし  

    rid  

    ISO 8601 DateTime 文字列  

    イベントの繰り返し ID

    イベントを作成するときは必須ではない

    イベントを変更するときは必須  

    任意

    必須  

    なし  

    rrules  

    文字列をセミコロンで区切ったリスト  

    イベントの繰り返し規則。繰り返し規則の文字列をセミコロンで区切ったリスト

    各規則の値は、二重引用符で囲む必要がある。 繰り返し処理を参照  

    任意  

    なし  

    seq  

    整数  

    イベントのシーケンス番号  

    任意  

    0  

    status  

    整数  

    イベントの状態コード。次の値を指定できる

    0 CONFIRMED
    1 CANCELLED
    2 TENTATIVE
    3 NEEDS_ACTION
    4 COMPLETED
    5 IN_PROCESS
    6 DRAFT
    7 FINAL
     

    任意  

    なし  

    summary  

    文字列  

    イベントの要約。任意の長さの文字列

    新しいイベントを作成するときは必須。イベントを変更するときは必須ではない。文字列にスペースを指定する場合は、コード %20 を使用する  

    必須

    任意  

    なし

    default summary  

    tzid  

    タイムゾーン ID 文字列  

    データをグリニッジ標準時に変換して保存するために使用するタイムゾーン

    パラメータがない場合、日付がすでにグリニッジ標準時であると見なされる  

    任意  

    "GMT"  

    tzidout  

    タイムゾーン ID 文字列  

    返されたデータを変換するタイムゾーン  

    任意  

    データをグリニッジ標準時で返す  

    uid  

    文字列  

    イベントが保存される一意の識別子

    新しいイベントの場合は、システムによって生成される

    イベントを変更するときは必要  

    任意

    必須  

    なし

    default uid  


    説明
    このコマンドを使用して、指定した属性を持つ予定を作成または変更し、データベース内の指定したカレンダーに格納します。

    このコマンドは、rrules、exrulesrid mod、および rchange パラメータの指定に従って、繰り返しを作成して格納します。 繰り返し処理を参照してください。

    notify 値が 1 の場合、IMIP PUBLISH メッセージがイベントのすべての出席者に送信されます。

    イベントの言語を指定するには、language パラメータを使用します。 使用可能な言語コードのリストについては、異なる言語または文字セットの選択を参照してください。

    サーバは、ファイルの添付をサポートしていません。 attachments パラメータは、iCalendar と相互運用するためのもので、ここでは機能しません。


    戻り値
    fmt-out パラメータを text/calendar または text/xml に設定すると、次のような HTML コメントのエラー値だけが返されます。

    <!-- store_errno="0" -->

    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 つのパラメータだけが必要です。

      • dtstart

      • summary

      その他のパラメータはすべてオプションです。 uid はサーバによって生成されます。

    • 既存のイベントを変更する場合は、次の 3 つのパラメータが必要です。

      その他のパラメータはすべてオプションです。パラメータを指定しない場合は、プロパティの以前の値が保持されます。


    継続時間
    duration は、ISO 8601 形式で指定します。次に例を示します。

    • P1Y2M3DT1H30M10S は、 1 時間 30 分の継続時間を表します。

    • PT1H30M は、1 時間 30 分の継続時間を表します。

    • P1D は、1 日の継続時間を表します。

    • PT15M は、15 分の継続時間を表します。

    文字列に含まれる 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

    WCAP 出席者エントリの例
    出席者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 パラメータ

    パラメータ

    目的

    PARTSTAT  

    唯一の必須のパラメータ。出席者の参加状態を示す  

    CUTYPE  

    カレンダーユーザのタイプ  

    MEMBER  

    出席者が所属するグループのリスト。WCAP ではこれらのグループは認識されない  

    ROLE  

    会議での出席者の役割  

    RSVP  

    出席者の返答が必要かどうか  

    DELEGATED-TO  

    出席を委任されるユーザ  

    DELEGATED-FROM  

    出席を委任するユーザ  

    SENT-BY  

    指定したユーザの代理を務めるカレンダーユーザ  

    CN  

    出席者の表示名  

    DIR  

    ディレクトリエントリへの参照  

    LANG  

    エントリの言語  


    グループスケジューリング- method パラメータ
    method パラメータを使用して、使用するメッセージのタイプとして、 出席依頼、返答、キャンセルを指定します。

    出席依頼には、次の 3 種類のメッセージがあります。

    • 開催者が出席を依頼する

      開催者が会議を作成する場合、次の 2 つの方法で出席を依頼します。

      • PUBLISH メッセージの送信。 会議を作成または変更して、出席者に通知する。 method パラメータは「1」に設定される

      • REQUEST メッセージの送信。 会議を作成または変更して、出席者からの出席依頼への返答を要求する。 method パラメータは「2」に設定される

      PUBLISH または REQUEST メッセージを送信できるのは、会議の開催者だけです。

    • 出席者が出席依頼に対して返答する

      出席者が REPLY メッセージを送信し、出席依頼を承諾するか辞退するかを通知します。 method パラメータは「4」に設定されます。

    • 開催者が会議をキャンセルする

      開催者が会議をキャンセルする場合は、deleteevents コマンドの 1 つを使用して CANCEL を送信することにより、出席者に通知されます。 method パラメータは「8」に設定されます。

      キャンセルするときは、storeevents ではなく、deleteevents コマンドを使用することをお勧めします。



    次の例は、開催者「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



    storetodos


    目的
    1 つまたは複数のtodo (仕事)をカレンダーに追加します。


    パラメータ
    表 7-39storetodos パラメータの一覧です。

    表 7-39    storetodos パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    alarmAudio  

    ISO 8601Date Time Z 文字列  

    音声アラームを再生する時刻  

    任意  

    なし  

    alarmDescription  

    文字列  

    アラームで送信するメッセージ  

    任意  

    "This is the alarm description"  

    alarmEmails  

    電子メールアドレスをセミコロンで区切ったリスト  

    todo (仕事)のアラーム通知の受信者  

    任意  

    なし  

    alarmFlashing  

    ISO 8601 Date Time Z 文字列  

    フラッシュアラームを実行する時刻  

    任意  

    なし  

    alarmPopup  

    ISO 8601 Date Time Z 文字列  

    ダイアログアラームを表示する時刻  

    任意  

    なし  

    alarmStart  

    ISO 8601 DateTime Z 文字列  

    todo (仕事)のアラーム通知を送信する時刻  

    任意  

    なし  

    appid  

    文字列  

    どのアプリケーションが要求を発行しているかを指定する、データベースに格納されない実行時パラメータ。 ENS はこのパラメータを使用して、どの X-Token を返すかを指定する。 WCAP コマンドの出力には影響しない

    ENS X-Token の詳細については、『Sun ONE Messaging and Collaboration イベント通知サービスマニュアル』 を参照  

    任意  

    なし  

    attachments  

    文字列をセミコロンで区切ったリスト  

    iCalendar と相互運用するためのパラメータ。文字列は URL  

    任意  

    なし  

    attendees  

    文字列をセミコロンで区切ったリスト  

    todo (仕事)の出席者  

    任意  

    なし  

    brief  

    整数 (0、1)  

    JavaScript の簡略出力を出力するかどうかを示す論理値

    出力形式 (fmt-out) が JavaScript (text/js) の場合にだけ適用される

    1 = 簡易出力
    0 = 完全出力
     

    任意  

    0  

    calid  

    文字列  

    todo (仕事)の格納先のカレンダー ID  

    必須  

    なし  

    categories  

    文字列をセミコロンで区切ったリスト  

    todo (仕事)のカテゴリ  

    任意  

    なし  

    completed  

    ISO 8601 DateTimeZ 文字列  

    todo (仕事) の完了日。 値が 0 の場合は、todo (仕事)が完了していないことを意味する  

    任意  

    0  

    compressed  

    整数 (01)  

    compressed=0 の場合は、少ないデータが返される。 次のパラメータを返さない
    rrules
    rdate
    exrule
    exdate

    compressed=1 の場合は、すべての繰り返しデータが返される

    このパラメータは、fmt-outtext/xml または text/calendar の場合のみ有効  

    任意  

    0  

    contacts  

    文字列をセミコロンで区切ったリスト  

    todo (仕事) の連絡先  

    任意  

    なし  

    desc  

    文字列  

    todo (仕事) の目的。任意の長さの文字列

    このパラメータを渡さない場合は、descsummary の値に設定される

    文字列にスペースを指定する場合は、コード %20 を使用する  

    任意  

    summary パラメータの値  

    dtstart  

    ISO 8601 DateTime 文字列  

    todo (仕事) の開始日時

    todo (仕事) を変更するときは必須ではない

    todo (仕事) を作成するときは必須  

    任意

    必須  

    なし  

    due  

    ISO 8601 DateTime Z 文字列  

    todo (仕事) の終了日時  

    任意  

    なし  

    duration  

    ISO 8601 継続時間文字列  

    todo (仕事)の継続時間  

    任意  

    なし  

    exdates  

    ISO 8601 TimeDate Z 文字列をセミコロンで区切ったリスト  

    除外するtodo (仕事)の繰り返し日付  

    任意  

    なし  

    exrules  

    文字列をセミコロンで区切ったリスト  

    除外するtodo (仕事) の繰り返し規則。繰り返し規則の文字列をセミコロンで区切ったリスト

    各規則の値は、二重引用符で囲む必要がある。 繰り返し処理を参照  

    任意  

    なし  

    fetch  

    整数 (01)  

    新しく保存された todo(仕事)を取り込んで返すかどうかを示す論理値

    1 = 新しく格納された todo (仕事) を取り込んで返す
    0 = todo (仕事) を取り込まない
     

    任意  

    0  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  

    geo  

    セミコロンで区切られた 2 つの実数  

    todo (仕事)の地理的位置を表す 2 つの実数 (緯度と経度) を、セミコロンで区切った文字列

    たとえば、37.31;-123.2 のように指定  

    任意  

    0;0  

    icsClass  

    文字列  

    todo (仕事)のクラス。次の値を指定できる

    PUBLIC
    PRIVATE
    CONFIDENTIAL
     

    任意  

    PUBLIC  

    icsUrl  

    文字列  

    todo (仕事)の URL  

    任意  

    ""  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    isAllDay  

    整数 (01)  

    終日のtodo (仕事)かどうかを示す論理値

    1 = 終日のtodo (仕事)
    0 = 終日のtodo (仕事)ではない
     

    任意  

    0  

    language  

    文字列  

    カレンダーの言語 (例 : 「en」、「fr」、「de」)  

    任意  

    なし  

    location  

    文字列  

    todo (仕事)の場所  

    任意  

    ""  

    method  

    整数 (1、2、4、8、16、32)  

    グループスケジューリングの ITIP メソッド

    次の値を指定できる

    1 = PUBLISH
    2
    = REQUEST
    4
    = REPLY
    8
    = CANCEL
    16
    = MOVE
    32
    = COUNTER
     

    任意  

    1 (PUBLISH)  

    mod  

    整数  

    保存または変更する繰り返しを指定する

    新しいtodo (仕事)を作成するときは必須ではない

    todo (仕事)を変更するときは必須

    次の値を指定できる

    1 = THISINSTANCE
    2 = THISANDFUTURE
    3 = THISANDPRIOR
    4 = THISANDALL
     

    任意

    必須  

    なし  

    notify  

    整数

    0、1  

    このパラメータ使用しない。 下位互換性を保つために残されている。GSE (Group Scheduling Engine) では、電子メール通知の送信が処理される

    出席者に変更されたtodo (仕事)を通知するかどうかを示す論理値

    1 = 出席者に変更を通知する
    0 = 出席者に変更を通知しない
     

    任意  

    0  

    orgEmail  

    電子メールアドレス  

    todo (仕事)の連絡先メールアドレス (通常は、開催者の電子メールアドレス)  

    任意  

    なし  

    orgUID  

    userid  

    開催者の userid  

    任意  

    なし  

    percent  

    整数 (0100)  

    todo (仕事)の完了率  

    任意  

    0  

    priority  

    整数 (09)  

    todo (仕事)の優先順位

    0 = 最低
    9= 最高
     

    任意  

    0  

    rchange  

    整数 (0、1)  

    繰り返しtodo (仕事)を拡張するかどうかを示す論理値

    1 = 繰り返しtodo (仕事)を拡張する
    0 = 拡張しない
     

    任意  

    0  

    rdates  

    ISO 8601 TimeDate Z 文字列をセミコロンで区切ったリスト  

    todo (仕事)の繰り返し日付  

    任意  

    なし  

    relatedTos  

    二重引用符で囲んだ文字列をセミコロンで区切ったリスト  

    このtodo (仕事)に関連する他のtodo
    (仕事)
     

    任意  

    なし  

    replace  

    整数 (0、1)  

    論理値。セミコロンで区切った値を使用するパラメータ

    1 = 変更 (現在の値を、渡された新しい値に置き換える)

    0 = 追加 (渡された新しい値を、既存の値に追加)  

    任意  

    0  

    resources  

    文字列をセミコロンで区切ったリスト  

    todo (仕事)に関連付けられたリソース  

    任意  

    なし  

    rid  

    ISO 8601 継続時間文字列  

    todo (仕事)の繰り返し識別子

    新しいtodo (仕事)を作成するときは必須ではない

    todo (仕事)を変更するときは必須  

    任意

    必須  

    なし  

    rrules  

    文字列をセミコロンで区切ったリスト  

    todo (仕事)の繰り返し規則
    繰り返し規則の文字列をセミコロンで区切ったリスト

    各規則の値は、二重引用符で囲む必要がある。 繰り返し処理を参照  

    任意  

    なし  

    seq  

    整数  

    todo (仕事)のシーケンス番号  

    任意  

    0  

    status  

    整数  

    todo (仕事)の状態コード。次の値を指定できる

    0 CONFIRMED
    1 CANCELLED
    2 TENTATIVE
    3 NEEDS_ACTION
    4 COMPLETED
    5 IN_PROCESS
    6 DRAFT
    7 FINAL
     

    任意  

    なし  

    summary  

    文字列  

    todo (仕事)の要約。任意の長さの文字列

    新しいtodo (仕事)を作成するときは必須

    todo (仕事)を変更するときは必須ではない

    文字列にスペースを指定する場合は、コード %20 を使用する  

    必須


    任意
     

    default summary

    なし  

    tzid  

    タイムゾーン ID 文字列  

    time パラメータの値をグリニッジ標準時に変換して格納するために使用するタイムゾーン

    このパラメータがない場合、すべての時間文字列がすでにグリニッジ標準時になっていると見なされる  

    任意  

    "GMT"  

    tzidout  

    タイムゾーン ID 文字列  

    タイムゾーンの返されたデータが変換された文字列。 これは、fetch パラメータが 1 (fetch=1) の場合のみ有効です  

    任意  

    データをグリニッジ標準時で返す  

    uid  

    文字列  

    保存するtodo (仕事)の一意の識別子

    新しいtodo (仕事)の場合は、システムによって生成される

    todo (仕事)を変更するときは必須  

    任意

    必須  

    なし

    default uid  


    説明
    このコマンドを使用して、指定した属性を持つtodo (仕事)を作成または変更し、データベース内の指定したカレンダーに格納します。

    このコマンドは、rrulesexrulesridmod および 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 コメントのエラー値だけが返されます。

    <!-- store_errno="0" -->

    コマンドで格納された todo(仕事) データを返すには fetch パラメータを指定します (fetch=1)。 また、tzidout パラメータを使用して、返されたデータを変換するタイムゾーンを指定します。 tzidout パラメータがない場合、データはグリニッジ標準時で返されます。

    下位互換性を保つため、fmt-out パラメータが指定されている、またはデフォルトで text/js になっている場合、コマンドはすべてのデータに関して fetchcomponents_by_range.wcap コマンドから JavaScript を返します。


    エラーコード
    このコマンドでは、リンクしたtodo (仕事)を変更することはできません。 変更しようとすると、コマンドの実行が失敗し、errnoCANNOT_MODIFY_LINKED_TODOS(32) が返されます。

    すでにtodo (仕事)が設定されている時間枠にtodo (仕事)を保存しようとすると (二重予約)、コマンドの実行が失敗し、エラー STORE_FAILED_DOUBLE_BOOKED(40) が返されます。


    必須パラメータ
    このコマンドを使用して、新しいtodo (仕事)を作成し、既存のtodo (仕事)を変更します。必須パラメータは、実行する内容によって次のように異なります。

    • 新しいtodo (仕事)を作成する場合は、次の 2 つのパラメータだけが必要です。

      • dtstart

      • summary

      その他のパラメータはすべてオプションです。 uid はサーバによって生成されます。

    • 既存のtodo (仕事)を変更する場合は、次の 3 つのパラメータが必要です。

      その他のパラメータはすべてオプションです。パラメータを指定しない場合は、プロパティの以前の値が保持されます。


    継続時間
    期限 (due) は、duration よりも優先されます。 duration および due の両方を指定すると、duration は無視されます。

    継続時間は、次のように ISO8601 形式で指定します。以下に例を示します。

    • P1Y2M3DT1H30M10S は、1 年 2 か月 3 日 1 時間 30 分 10 秒の継続時間を表す

    • PT1H30M は、1 時間 30 分の継続時間を表す

    • P1D は、1 日の継続時間を表す

    • PT15M は、15 分の継続時間を表す

    文字列に含まれる T は、日付情報 (年、月、日) と時刻情報 (時、分、秒) の区切り文字です。



    upload_file


    目的
    ファイルをサーバへアップロードします。 ファイルインポート用の write_file と組み合わせて使用します。


    パラメータ
    表 7-40upload_file パラメータの一覧を示します。

    表 7-40    upload_file パラメータ

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  


    説明
    このコマンドは使用しないでください。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



    verifyevents_by_ids


    目的
    このコマンドを使用して、uid と rid のペアで指定したイベントがデータベースに存在するかどうかを確認します。


    パラメータ
    表 7-43verifyevents_by_ids パラメータの一覧を示します。

    表 7-41    verifyevents_by_ids パラメータ

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    calid  

    文字列  

    取り込むイベントのカレンダー  

    任意  

    ユーザのデフォルトカレンダー  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/
    calendar
     

    id  

    文字列  

    セッションを一意に識別する (セッション ID)  

    任意*  

    null  

    rid  

    ISO 8601 DateTime 文字列  

    カンマで区切られたイベント rid のセットに対応する

    繰り返しのないイベントの場合、rid=0  

    必須  

    なし  

    tzid  

    タイムゾーン ID 文字列  

    タイムゾーン (「America/Los_Angeles」など)  

    任意  

    サーバのデフォルトタイムゾーン  

    uid  

    文字列  

    カンマで区切られたイベント uid のセット  

    必須  

    なし  

    * 取り込むカレンダーが公開カレンダーである場合を除き、コマンドで id を指定する必要があります。


    説明
    このコマンドは、uidrid のペアで渡された内容と一致するイベントの取得を試みます。


    戻り値
    イベントが見つかると、fmt-out パラメータで指定された形式でデータが返されます。 形式が指定されていない場合は、デフォルトの text/calendar 形式で出力されます。

    イベントが見つからず、rid がゼロ (0) ではない場合は、uidrid が返されます。

    イベントが見つからず、rid がゼロ (0) の場合は、uid が返されます。



    例 1 では text/calendar 形式の出力を、例 2 では text/xml 形式の出力を示します。

    例 1

    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

    例 2

    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>



    verifytodos_by_ids


    目的
    このコマンドを使用して、uid と rid のペアで指定したtodo (仕事)がデータベースに存在するかどうかを確認します。


    パラメータ
    表 7-42verifytodos_by_ids パラメータの一覧を示します。

    表 7-42    verifytodos_by_ids パラメータ

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    calid  

    文字列  

    取り込むtodo (仕事)のカレンダー  

    任意  

    ユーザのデフォルトカレンダー  

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/
    calendar
     

    id  

    文字列  

    セッションを一意に識別する (セッション ID)  

    任意*  

    null  

    rid  

    ISO 8601 DateTime 文字列  

    カンマで区切られたtodo (仕事) rid のセットと対応する

    繰り返しのないtodo (仕事)の場合、rid=0  

    必須  

    なし  

    tzid  

    タイムゾーン ID 文字列  

    タイムゾーン (「America/Los_Angeles」など)  

    任意  

    サーバのデフォルトタイムゾーン  

    uid  

    文字列  

    カンマで区切られたtodo (仕事) uid のセット  

    必須  

    なし  

    * 取り込むカレンダーが公開カレンダーである場合を除き、コマンドで id を指定する必要があります。


    説明
    このコマンドは、uidrid のペアで渡された内容と一致するtodo (仕事)の取得を試みます。


    戻り値
    todo (仕事)が見つかると、fmt-out パラメータで指定された形式でデータが返されます。 形式が指定されていない場合は、デフォルトの text/calendar 形式で出力されます。

    todo (仕事)が見つからず、rid がゼロ (0) でない場合は、uidrid が返されます。

    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>



    version


    目的
    現在の WCAP バージョンを取得します。


    パラメータ
    表 7-43version パラメータの一覧を示します。

    表 7-43    version パラメータ

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    fmt-out  

    文字列  

    返されるデータの形式

    次の 3 つの形式を指定できる

    text/calendar
    text/xml
    text/js
     

    任意  

    text/js  


    説明
    このコマンドは、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>



    write_file


    目的
    ファイルをデータベースに書き込みます。


    パラメータ
    表 7-44write_file パラメータの一覧を示します。

    表 7-44    write_file パラメータ 

    パラメータ

    タイプ

    目的

    必須/任意

    デフォルト

    calid  

    文字列  

    ファイルのインポート先のカレンダー  

    必須  

    なし  

    content-in  

    文字列  

    入力データのコンテンツタイプ  

    必須  

    なし  

    dtend  

    ISO 8601 DateTime Z 文字列  

    インポートするイベントの終了範囲

    値が 0 の場合は、時間の最後までのイベントがすべてインポートされる  

    任意  

    0  

    dtstart  

    ISO 8601 DateTime 文字列  

    インポートするイベントの開始範囲

    値が 0 の場合は、時間の最初からのイベントがすべてインポートされる  

    任意  

    0  

    id  

    一意の識別文字列  

    セッション ID  

    必須  

    なし  

    uniquefilename  

    文字列をセミコロンで区切ったリスト  

    サーバからインポートするファイルの名前  

    必須  

    なし  


    説明
    このコマンドは使用しないでください。export コマンドを使用します。

    write_file コマンドは、upload_file (import コマンドを使用するため、使用しない) コマンドと組み合わせて、ファイルをインポートします。このコマンドのパラメータは、import コマンドと同じです。 ファイルのインポート処理の例、および詳細は、「upload_file」を参照してください。


    前へ     目次     索引     次へ     
    Copyright © 2002 Sun Microsystems, Inc. All rights reserved.

    最終更新日 2002 年 8 月 29 日