前へ     目次     索引     DocHome     次へ     
iPlanet Calendar Server 5.1 プログラマーズマニュアル



第 7 章   WCAP コマンド


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


共通のトピック


コマンド


表 7-1 WCAP コマンド 

addlink  

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

change_password  

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

check_id  

セッションが有効かどうかを確認する。管理者専用  

createcalendar  

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

deletecalendar  

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

deletecomponents_by_range  

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

deleteevents_by_id  

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

deleteevents_by_range  

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

deletetodos_by_id  

特定の CALID、および UID または繰り返し ID のペアを指定して予定を削除する  

deletetodos_by_range  

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

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 つまたは複数の予定を照会する  

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 形式で指定された予定を格納する  

upload_file  

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

verifyevents_by_ids  

イベントをフェッチし、データベース以外のイベントの uid/rid を返す  

verifytodos_by_ids  

予定をフェッチし、データベース以外のイベントの uid/rid を返す  

version  

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

write_file  

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

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



共通のトピック



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


アクセス制御エントリ

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

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

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

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

jdoe^c^wd^g

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

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

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

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

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

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

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

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

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

    • カレンダー全体

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

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

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

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

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

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

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

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

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

    アクセス制御文字  

    説明  

    c  

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

    d  

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

    e  

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

    f  

    ユーザに空き時間の表示アクセスを許可する  

    i  

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

    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 c sfr g)、所有者にコンポーネントのみの「書き込み」と「削除」アクセスを許可し (@@o c wd g)、また、所有者に対してコンポーネントおよびカレンダープロパティの両方に「self-admin」、「スケジュール」、「空き時間の表示」、および「読み込み」アクセスを許可し (@@o a zsfr g)、susan に対してコンポーネントとカレンダープロパティの両方ですべてのアクセスを拒否し (susan a zsfdwr d)、すべてのユーザに対してコンポーネントのみの「読み込み」アクセスを許可 (@ c r g) する場合、コマンド全体は次のようになります。

    set_calprops.wcap?id=${SESSIONID}&calid=jdoe&acl=@domainname^c^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 コマンドのアクセス制御をオーバーライドすることができます。




他の言語または文字セットの選択

システムのデフォルト以外の言語でデータを取得するリクエストを挿入するには、lang または charset パラメータを設定します。システムデフォルトの言語は、ics.conf ファイルで設定したサーバ設定です。詳細は、『iPlanaet Calendar Server 管理者ガイド』を参照してください。login コマンドでは、lang パラメータのみを使用します。

set_calprops コマンドでは、ほとんどの場合はlang パラメータを指定するだけで十分です。ただし、場合によっては、lang パラメータのかわりに charset パラメータを使用する必要があります。たとえば、要求したデータを特定の文字セットで取得するには、charset を使用してその文字セットを指定する必要があります。charset の値には、iso-8859-1 などを指定できます。形式の仕様に関する詳細は、この章の時刻、文字列、パラメータなどの形式に記載されている RFC を参照してください。

iCalendar またはXML 形式のデータを要求した場合は、RFC 仕様に従って常にUTF-8形式でデータが返されます。charset を設定してもUTF-8 形式で返されます。

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

de

ドイツ語

en

英語 (デフォルト)

es

スペイン語

fr

フランス語

it

イタリア語

ja

日本語

ko

韓国語

ru

ロシア語

sv

スウェーデン語

zh_CN

中国語/簡体字中国語

zh_TW

中国語 (台湾)



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




繰り返しコンポーネントの削除

コンポーネントを削除するときに、コンポーネントが繰り返しているかどうかを指定できます。場合によっては、必ず指定しなければならないこともあります。また、繰り返している場合は、その繰り返しだけでなく元のイベントや todo も削除するかどうかを指定できます。

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

オプション

1

このインスタンスのみを削除する

2

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

3

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

4

すべてのインスタンスを削除する

各オプションについて、rid パラメータを渡してイベントの繰り返し ID を指定し、さらに削除のタイプを渡す必要があります。

イベントの単一インスタンスのみを削除するには、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。retch コマンド用

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

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

エラー名

意味

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 の実行に失敗しました。変更する予定はリンクされています  

CANNOT_SENT_EMAIL  

33  

コマンドの実行に失敗しました。電子メールの通知に失敗しました。通常、サーバが電子メールを送信するように正しく設定されていないことが原因です。このエラーは、storeeventsstoretodosdeleteevents_by_id、および deletetodos_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  

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


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

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

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


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

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

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



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




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

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

パラメータを指定しない場合は、デフォルト値の ALL が使用されます。

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

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

開催者/

出席者

コメント

REPLY-DECLINED  

出席者  

出席者が会議を辞退しました  

REPLY-ACCEPTED  

出席者  

出席者が会議を承諾しました  

REQUEST-COMPLETED  

開催者  

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

REQUEST_NEEDS-ACTION  

出席者  

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

REQUEST-NEEDSNOACTION  

出席者  

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

REQUEST-PENDING  

開催者  

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

REQUEST-WAITFORREPLY  

開催者  

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

ALL  

該当なし  

(デフォルト) すべてのイベントと 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 で返されます。



login コマンドは唯一の例外です。iPlanet Calendar Server 5.x ユーザインタフェースを開始するには、login コマンドで fmt-out=text/html と指定する必要があります。




圧縮出力

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

表 7-6 brief 出力に含まれる出力パラメータ

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

予定に関するパラメータ

calid  

 

calid  

created  

 

completed  

desc  

 

created  

dtstart  

 

desc  

dtend  

 

dtstart  

isAllDay  

 

due  

lastMod  

 

isAllDay  

linkCalid  

 

lastMod  

location  

 

linkCalid  

rid  

 

location  

summary  

 

percent  

tzid  

 

rid  

uid  

 

summary  

 

 

tzid  

 

 

uid  


繰り返し処理

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

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

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

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

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

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

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

  7. rchangestorecomponents の繰り返しを拡張するかどうかを指定する論理値


rrules

rrules パラメータは、繰り返し規則文字列を二重引用符で囲み、各文字列をセミコロンで区切ったリストの値をとります。各文字列は、イベントの繰り返し規則を表します。各文字列は二重引用符で囲む必要があります。繰り返し規則には、さまざまなパラメータを使用できます。構文の詳細は、RFC2445 を参照してください。

繰り返しを指定する場合は、freqcount を使用すると便利です。

  • 規則内の 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 回繰り返されることを指定します。

次の URL は、rrules パラメータを渡す例です。

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

次の URL は rdates パラメータを渡す例です。

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

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


exrules

exrulesパラメータは、繰り返し規則文字列を二重引用符で囲み、各文字列をセミコロンで区切った値のリストをとります。各規則は除外するイベントの繰り返しです。

たとえば、次の exrules パラメータでは、2 つの規則で指定した時期に、繰り返しイベントを繰り返さないことを指定します。

exrules="count%3D10%3Bfreq%3Ddaily";"freq%3Dweekly%3Bcount%3D4"

(COUNT=10;FREQ=DAILY and FREQ=WEEEKLY;COUNT=4 encoded)

最初の規則では、イベントを毎日、10 回発生しないことを指定します。2 番目の規則では、イベントを毎週、4 回発生しないことを指定します。

次の URL は exrules パラメータを渡す例です。

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

次の URL は exdates パラメータを渡す例です。

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 パラメータには、storecomponents で繰り返しを拡張するかどうかを指定します。通常、イベントと todo のカレンダーコンポーネントは拡張されるため、デフォルトは 1 になっています。

ただし、繰り返しを拡張せずに、複数のイベントを修正したい場合があります。たとえば、会議が 2002 年 1 月 1 日から毎週金曜日に繰り返されるとします。2002 年 2 月 1 日以後の各イベントの summarychanged-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


タイムゾーン

世界標準をサポートするために、iPlanet Calendar Server は、グリニッジ標準時 (GMT) または世界協定時 (UTC) の日付と時刻の文字列を使用します。これは、グリニッジ平均時と呼ばれます。サーバは、データベースのすべての日付と時刻の文字列をグリニッジ平均時で格納し、返します。WCAP はグリニッジ平均時を、tzid パラメータの設定に基づいて、適切なタイムゾーンの設定に変換します。

tzid パラメータは、dtstart、dtend、および ridパラメータで渡される日付と時刻の文字列がグリニッジ平均時ではない場合のみ、使用します。日付と時刻の文字列がグリニッジ平均時で指定されていない場合は、WCAP はtzid パラメータの値を使用してグリニッジ平均時を算出します。tzid パラメータが渡されない場合は、サーバのデフォルトのタイムゾーンを使用してグリニッジ平均時が算出されます。

イベントと todo を返すコマンドでは、tzid パラメータが渡されていなければ、データはグリニッジ平均時で返されます。グリニッジ平均時は、tzid パラメータで指定されているタイムゾーンに換算されます。

タイムゾーンの情報は、VTIMEZONE 形式のプレーンテキストファイル (timezones.ics) に保持されています。

サーバは、現在の日付と時刻を算出するのに、システムのタイムゾーン情報を使用しません。サーバは、Epoch (UTC では 1970 年 1 月 1 日 00:00:00) からの経過時間を使用して、現在の日付と時刻を算出します。

次のコマンドは、tzid パラメータを使用してデータを格納または取得します。



コマンド

id パラメータ (セッション ID) を持つすべてのコマンドでは、id パラメータを必ず指定する必要があります。ただし、この規則には 2 つの例外があります。カレンダーへの「匿名」アクセスを許可する場合、または公開カレンダーへの「読み込み」アクセスを許可する場合、id パラメータを指定する必要がありません。その他の場合は、セッション ID を id パラメータに指定する必要があります。


サーバでは、「匿名」が特別なプリンシパル名としてサポートされます。匿名ユーザは、任意のパスワードでログインでき、特定のドメインに関連付けられません。




addlink


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


パラメータ
表 7-7 は、このコマンドの 5 個のパラメータの一覧です。

表 7-7 addlink のパラメータ 

パラメータ

タイプ

目的

必須/任意

デフォルト

id  

一意の識別文字列  

セッション ID  

必須  

該当なし  

destCal  

文字列  

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

必須  

該当なし  

rid  

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

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

必須  

該当なし  

srcCal  

文字列  

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

必須  

該当なし  

uid  

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

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

必須  

該当なし  


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

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

uid リストと rid リストのアイテム数は、正確に一致していなければなりません。また、各 rid とそれに対応する uid は、リスト内で同じ位置になければなりません。イベントまたは todo に繰り返し ID がない場合は、rid リストで 0 を使用します。

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

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

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

  • uid リストと rid リストの要素数が同じであること


戻り値
トランザクションが失敗した場合は、エラーコード ADDLINK_FAILED(12) のエラーが返されます。成功した場合のリターンコードは 0 です。



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

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

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


change_password


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


パラメータ
表 7-8 は、このコマンドの 4 個のパラメータの一覧です。

表 7-8 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-9 は、このコマンドの 2 個のパラメータの一覧です。

表 7-9 change_password のパラメータ 

パラメータ

タイプ

目的

必須/任意

デフォルト

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:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1
X-NSCP-WCAP-CHECK-ID:1
END:VCALENDAR lendar


createcalendar


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


パラメータ
表 7-10 は、このコマンドの 4 個のパラメータの一覧です。

表 7-10 createcalendars のパラメータ 

パラメータ

タイプ

目的

必須/任意

デフォルト

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 は、ユーザの userid と渡された calid パラメータの組み合わせです。userid を取得するために、id パラメータに指定されたセッションが検索されます。新しいカレンダーの calid の形式は、userid:calid です。たとえば、ユーザが jdoecalid パラメータが tv の場合、新しいカレンダーの calidjdoe:tv です。

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

calid パラメータに有効な文字は、次のとおりです。

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

  • 数字(0 〜 9)

  • 特殊文字

    • ダッシュ (-)

    • アンダースコア (_)

    • ピリオド (.)

たとえば、calendar1calendar-1calendar_1calendar.1 は、calid のパラメータとして有効です。


カレンダープロパティの設定
カレンダーの作成中にカレンダープロパティを設定できます。設定するには、値が 1set_calprops パラメータを渡します。また、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-11 は、このコマンドの 3 個のパラメータの一覧です。

表 7-11 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 をカレンダーから削除します。


パラメータ
表 7-12 は、このコマンドの 6 個のパラメータの一覧です。

表 7-12 deletecomponents_by_range のパラメータ 

パラメータ

タイプ

目的

必須/任意

デフォルト

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 は、最後に「Z」を付けた UTC 時間で指定する必要があります。UTC 時間を使用しない場合は、予測できない結果が発生します。


エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。カレンダーからイベントまたは todo を削除するときにエラーが発生した場合、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-13 は、このコマンドの 9 個のパラメータの一覧です。

表 7-13 deleteevents_by_id のパラメータ 

パラメータ

タイプ

目的

必須/任意

デフォルト

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  

整数

1,2,3,4  

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

次の値を指定できる

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

必須  

該当なし  

notify  

整数 (0、1)  

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

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

任意  

0  

rid  

文字列  

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

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

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

必須  

該当なし  

tzid  

タイムゾーン ID 文字列  

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

例: America/Los_Angeles  

任意  

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

uid  

文字列  

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

必須  

該当なし  


説明
このコマンドを使用して、指定した 1 つまたは複数のイベントを指定したカレンダーから削除します。


エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。エラーが発生した場合は、delete_layer_errnodelete_event_count の 2 つのエラー配列が返されます。配列の各要素は、uid リスト内で対応するイベントを表します。delete_layer_errno の各要素は、対応するイベントのエラー番号を示します。delete_event_count の各要素は、対応するイベントのうち削除が完了したイベント数を示します。

92ページの「エラー処理」も参照してください。


通知
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 パラメータの指定に従って、繰り返しも削除されます (90ページの「繰り返しコンポーネントの削除」 を参照してください)。複数のイベントを削除するには、uidrid、および mod パラメータにセミコロンで区切ったリストを指定します。この 3 つのリストの要素数は同じでなければなりません。各リストの要素は、ほかの 2 つのリストの同じ要素と対応していなければなりません。



たとえば、繰り返しのないイベントが、データベースに 2 つあり、各イベントの UID が uid-EVENT1uid-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:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.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


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


パラメータ
表 7-14 は、このコマンドの 6 つのパラメータの一覧です。

表 7-14 deleteevents_by_range のパラメータ 

パラメータ

タイプ

目的

必須/任意

デフォルト

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) が格納されます。

92ページの「エラー処理」も参照してください。



たとえば、ユーザがカレンダー 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 つまたは複数の予定をカレンダーから削除します。


パラメータ
表 7-15 は、このコマンドの 9 個のパラメータの一覧です。

表 7-15 deletetodos_by_id のパラメータ 

パラメータ

タイプ

目的

必須/任意

デフォルト

brief  

整数 (0、1)  

JavaScript の簡略出力を出力するかどうかを示すブール値

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

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

任意  

0  

calid  

文字列  

削除する 1 つまたは複数の予定のカレンダー  

必須  

該当なし  

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  

文字列  

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

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

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

必須  

該当なし  

tzid  

タイムゾーン ID 文字列  

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

例: America/Los_Angeles  

任意  

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

uid  

文字列  

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

必須  

該当なし  


説明
このコマンドを使用して、指定した予定を、指定したカレンダーから削除します。

指定するカレンダーが公的カレンダーである場合を除き、コマンドと一緒に id パラメータを指定する必要があります。データは、fmt-out パラメータに指定した形式で返されます。このパラメータを渡さない場合、データはデフォルトの JavaScript 形式で返されます。


エラーコード
エラーが発生した場合は、delete_layer_errnodelete_todo_count の 2 つのエラー配列が返されます。配列の各要素は、uid リスト内で対応する予定を表します。delete_layer_errno の各要素は、対応する予定のエラー番号を示します。delete_todo_count の各要素は、対応する予定のうち削除が完了した発現の数を示します。

92ページの「エラー処理」も参照してください。


通知
notify パラメータには、IMIP CANCEL メッセージを todo の出席者に送信するかどうかを指定します。notify1 の場合、キャンセルメッセージが電子メールで送信されます。

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

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


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

複数の予定を削除するには、uidrid、および mod パラメータにセミコロンで区切ったリストを指定します。この 3 つのリストの要素数は同じでなければなりません。各リストの要素は、ほかの 2 つのリストの同じ要素と対応していなければなりません。rid パラメータを渡した場合は、mod パラメータの指定に従って、繰り返しも削除されます。



たとえば、繰り返しのない予定が、データベースに 2 つあり、各 todo のUID が uid-TODO1uid-TODO2 であるとします。これらの予定は繰り返さないため、各予定の rid 値は 0、各予定の mod 値は 1 に設定されます。

次の URL では 2 つの予定が削除されます。

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:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.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


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


パラメータ
表 7-16 は、このコマンドの 6 個のパラメータの一覧です。

表 7-16 deletetodos_by_range のパラメータ 

パラメータ

タイプ

目的

必須/任意

デフォルト

brief  

整数 (0、1)  

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

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

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

任意  

0  

calid  

文字列  

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

任意  

現在のユーザの calid.  

dtstart  

ISO 8601 DateTime 文字列  

削除する予定の開始日時。値が 0 の場合は、開始時刻までの予定がすべて削除される  

任意  

0  

dtend  

ISO 8601 DateTime 文字列  

削除する予定の終了日時。値が 0 の場合は、最終時刻までの予定がすべて削除される  

任意  

0  

id  

一意の識別文字列  

セッション ID  

必須  

該当なし  

fmt-out  

文字列  

返されるデータの形式

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

text/calendar
text/xml
text/js
 

任意  

text/js  


説明
このコマンドを使用して、指定した範囲に完全に当てはまる予定を、指定したカレンダーから削除します。範囲を指定しない場合は、すべての予定が削除されます。たとえば、次の URL は、2002 年 3 月 1 日の午前 11 時 22 分 33 秒 (世界標準時) に発生する予定のみを削除します。

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) が格納されます。

92ページの「エラー処理」も参照してください。


export


目的
カレンダーのイベントと todo をファイルにエクスポートします。


パラメータ
表 7-17 は、このコマンドの 5 個のパラメータの一覧です。

表 7-17 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 GET で使用できるほかのコマンドと異なり、HTTP POST で使用する必要があります。


例1
次の HTTP POST メッセージでは、カレンダー jdoejohn のすべてのコンポーネントを 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 コマンドを使用して、iCalendar および XML の形式でファイルを作成する POST メッセージを生成します。

<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
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-18 は、このコマンドの 10 個のパラメータの一覧です

表 7-18 fetchcomponents_by_alarmrange のパラメータ 

パラメータ

タイプ

目的

必須/
任意

デフォルト

brief  

整数 (0、1)  

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

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

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

任意  

0  

calid  

文字列  

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

任意  

現在のユーザの calid.  

compressed  

整数 (0、1)  

compressed=0 の場合は、少ないデータが返される。具体的には、次のパラメータを返さない
rrules
rdateexrule
exdate

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

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

任意  

0  

compstate  

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

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

compstate の値は、表 7-5を参照してください  

任意  

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 文字列  

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

例: America/Los_Angeles  

任意  

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


説明
このコマンドは、指定した期間にアラームを配信するイベントと 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 が返されます。範囲は、ISO8601DateTime Z 文字列形式で指定します。

開始日時も終了日時も指定しない場合は、アラームを持つイベントと todo が、指定した最大数まで返されます。


エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。カレンダーにアクセスできない場合、またはカレンダーが見つからない場合、errnoFETCH_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 日〜 2002 年 1 月 31 日にアラームを配信するイベントと todo を、すべて取り込みます。

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

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

BEGIN:VCALENDAR
PRODID:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.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:20030210T190000Z
X-NSCP-LANGUAGE:en
BEGIN:VALARM
ACTION:EMAIL
TRIGGER;VALUE=DATE-TIME:20031225T123000Z
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:20030120T141500Z
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 月 6 日にアラームを配信するイベントと todo を、すべて取り込みます。

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

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

BEGIN:VCALENDAR
PRODID:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.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:20011225T213000Z
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-19 は、このコマンドの 7 個のパラメータの一覧です。

表 7-19 fetchcomponents_by_attendee_error のパラメータ 

パラメータ

タイプ

目的

必須/
任意

デフォルト

attendee  

文字列  

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

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

任意  

該当なし  

brief  

整数 (0、1)  

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

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

1 = 簡略
0 = 完全
 

任意  

0  

calid  

文字列  

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

任意  

現在のユーザの calid.  

compressed  

整数 (0、1)  

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  


説明
このコマンドを使用して、グループスケジューリングメッセージの送信中にエラーが発生したイベントと 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 /* 予定のサイズが 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 が返されます。


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


fetchcomponents_by_lastmod


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


パラメータ

表 7-20 は、このコマンドの 10 個のパラメータの一覧です。

表 7-20 fetchcomponents_by_lastmod のパラメータ 

パラメータ

タイプ

目的

必須/
任意

デフォルト

brief  

整数 (0、1)  

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

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

1 = 簡略
0 = 完全
 

任意  

0  

calid  

文字列  

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

任意  

現在のユーザの calid.  

compressed  

整数 (0、1)  

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

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

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

任意  

0  

compstate  

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

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

compstate の値は、表 7-5を参照  

任意  

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  

任意  

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


説明
このコマンドを使用して、指定した期間中に変更されたイベントと todo のリストを取得します。このコマンドの機能は、fetchcomponents_by_range と似ています。


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

JavaScript 出力の場合、イベントは 2 つの配列に分けられます。時間範囲の短いイベント (ほとんどの通常のイベント) は、event 配列に出力されます。24 時間以上継続するイベント、または終日イベント は、eventD 配列に出力されます。終日イベントは、isAllDay フラグがオンになっています。


maxResults 値
最大数 n を指定すると、指定した範囲から最初の n 個のイベントと最初の n 個の予定が返されます。たとえば、maxResults 値に 75 を指定すると、次の変数を含む JavaScript が返されます。

var maxResults=75 /* 渡された最大数 */
var size=75 /* イベントサイズが最大 75 に制限されます*/
var todosize=28 /* 予定のサイズが 75 に満たないため、影響を受けません*/

maxResults パラメータを 0 に設定するか、渡さない場合は、var maxResults ステートメントを含まない JavaScript が返されます。


戻り値
calid で指定した各カレンダーに関して、dtstart および dtend で指定した範囲内に変更されたカレンダーのイベントと todo をサーバが返します。範囲は、ISO8601DateTime Z 文字列形式で指定します。

開始日時も終了日時も指定しない場合は、変更されたすべてのイベントと 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-21 は、このコマンドの 10 個のパラメータの一覧です

表 7-21 fetchcomponents_by_range のパラメータ 

パラメータ

タイプ

目的

必須/
任意

デフォルト

brief  

整数 (0、1)  

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

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

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

任意  

0  

calid  

文字列  

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

任意  

現在のユーザの calid.  

compressed  

整数 (0、1)  

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

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

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

任意  

0  

compstate  

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

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

compstate の値は、表 7-5を参照してください  

任意  

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  

任意  

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


説明
このコマンドを使用して、指定した 1 つまたは複数のカレンダーのプロパティ、イベント、および予定を取得します。


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

JavaScript 出力の場合、イベントは 2 つの配列に分けられます。時間範囲の短いイベント (ほとんどの通常のイベント) は、event 配列に出力されます。24 時間以上継続するイベント、または終日イベント は、eventD 配列に出力されます。終日イベントは、isAllDay フラグがオンになっています。


戻り値
calid で指定した各カレンダーに関して、dtstart および dtend に指定した範囲にあるカレンダープロパティ、イベント、および予定をサーバが返します。範囲は、ISO8601DateTime Z 文字列形式で指定します。

開始日時も終了日時も指定しない場合は、すべてのイベントと todo が、指定した最大数までをサーバが返します。



ヒント カレンダーに有効なタイムゾーン (tzid) が関連付けられていない場合は、GMT タイムゾーンが使用されます。

次のテキストが返されます。

timezoneList[0]=new TZ('GMT',
'GMT',
'GMT',
'+0000'
,'+0000',
new Array())




エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。カレンダーにアクセスできない場合、またはカレンダーが見つからない場合は、エラー番号がエラー文字列に追加されます。


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

JavaScript 出力の場合、イベントは 2 つの配列に分けられます。時間範囲の短いイベント (ほとんどの通常のイベント) は、event 配列に出力されます。24 時間以上継続するイベント、または終日イベント は、eventD 配列に出力されます。終日イベントは、isAllDay フラグがオンになっています。


maxResults 値
最大数 n を指定すると、指定した範囲から最初の n 個のイベントと最初の n 個の予定が返されます。たとえば、maxResults 値に 75 を指定すると、次の変数を含む JavaScript が返されます。

var maxResults=75 /* 渡された最大数 */
var size=75 /* イベントサイズが最大 75 に制限されます*/
var todosize=28 /* 予定のサイズが 75 に満たないため、影響を受けません*/

maxResults パラメータを 0 に設定するか、渡さない場合は、返されるコンポーネントの数は制限されず、var maxResults ステートメントを含まない JavaScript が返されます。


エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。カレンダーにアクセスできない場合、またはカレンダーが見つからない場合は、エラー番号がエラー文字列に追加されます。



2 つの例を挙げて説明します。最初の例では、次の URL を使用して、現在のユーザの 2002 年 12 月 1 日〜 2003 年 1 月31日のイベントをフェッチします。2 番目の例では、カレンダー jdoe および susan の 2002 年 12 月 1 日〜 2003 年 1 月31日のイベントをすべてフェッチします。


例1
http://webcalendarserver/fetchcomponents_by_range.wcap?id=bes6bbe2m u98uw9&dtstart=20021201T000000Z&dtend=20030131T000000Z&fmt-out=text /calendar

この期間中、1 つのイベントと 1 つの予定が返されます。

BEGIN:VCALENDAR
PRODID:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.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:20021225T133000Z
DTEND:20021225T143000Z
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:jsmit@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:20021208T015014Z
SUMMARY:todoA
DTSTART:20021208T004626Z
DUE:20030120T141500Z
CREATED:20021208T004626Z
LAST-MODIFIED:20021208T011000Z
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:20030120T131500Z
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
http://webcalendarserver/fetchcomponents_by_range.wcap?id=bes6bbe2m u98uw9&calid=jdoe;jsmith&dtstart=20020101T000000Z&dtend=20020202T00 0000Z&fmt-out=text/calendar

次のイベントと予定が返されます。

BEGIN:VCALENDAR
PRODID:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011208T005613Z
X-NSCP-CALPROPS-CREATED:20020913T223336Z
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: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:20011225T213000Z
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:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.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:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1
X-NSCP-CALPROPS-LAST-MODIFIED:20021010T001050Z
X-NSCP-CALPROPS-CREATED:20020929T180436Z
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:20020210T110000Z
DTEND:20020210T120020Z
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:20011225T213000Z
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-22 は、このコマンドの 10 個のパラメータの一覧です

表 7-22 fetchevents_by_id のパラメータ 

パラメータ

タイプ

目的

必須/
任意

デフォルト

brief  

整数 (0、1)  

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

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

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

任意  

0  

calid  

文字列  

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

任意  

現在のユーザの calid.  

compressed  

整数 (0、1))  

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

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

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

任意  

0  

compstate  

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

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

compstate の値は、表 7-5を参照してください  

任意  

ALL  

fmt-out  

文字列  

返されるデータの形式

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

text/calendar
text/xml
text/js
 

任意  

text/js  

id  

一意の識別文字列  

セッション ID  

必須  

該当なし  

mod  

整数

1,2,3,4  

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

次の値を指定できる

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

任意  

1

(THISINSTANCE)  

rid  

ISO 8601 DateTime Z 文字列  

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

任意  

0  

tzid  

タイムゾーン ID 文字列  

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

例: America/Los_Angeles  

任意  

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

uid  

文字列  

イベントの一意の識別子  

必須  

該当なし  


説明
このコマンドを使用して、指定したカレンダーから、指定したイベントおよび繰り返しを取得します。指定するカレンダーが公的カレンダーである場合を除き、コマンドと一緒に id パラメータを指定する必要があります。このコマンドは、mod パラメータで指定した繰り返しを返します。100ページの「繰り返し処理」を参照してください。


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

JavaScript 出力の場合、イベントは 2 つの配列に分けられます。時間範囲の短いイベント (ほとんどの通常のイベント) は、event 配列に出力されます。24 時間以上継続するイベント、または終日イベント は、eventD 配列に出力されます。終日イベントは、isAllDay フラグがオンになっています。


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


エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。カレンダーにアクセスできない場合、またはカレンダーが見つからない場合は、エラー番号がエラー文字列に追加されます。



この問い合わせは特定の ID が指定されているイベントを取得します。

http://webcalendarserver/fetchevents_by_id.wcap?id=bes6bbe2mu98uw9&calid=jdoe&uid=3c11625900005ffe00000011000010b7
&fmt-out=text/calendar

イベントをひとつ返します。

BEGIN:VCALENDAR
PRODID:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011208T005613Z
X-NSCP-CALPROPS-CREATED:20020913T223336Z
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@iplanet.com
END:VALARM
X-NSCP-DTSTART-TZID:America/Los_Angeles
X-NSCP-TOMBSTONE:0
X-NSCP-ONGOING:0
X-NSCP-ORGANIZER-EMAIL:jdoe@iplanet.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


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


パラメータ
表 7-23 は、このコマンドの 10 個のパラメータの一覧です

表 7-23 fetchtodos_by_id のパラメータ 

パラメータ

タイプ

目的

必須/任意

デフォルト

brief  

整数 (0、1)  

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

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

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

任意  

0  

calid  

文字列  

取得する予定が含まれるカレンダーの一意の識別子  

任意  

現在のユーザの calid.  

compressed  

整数 (0、1)  

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

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

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

任意  

0  

compstate  

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

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

compstate の値は、表 7-5を参照  

任意  

ALL  

fmt-out  

文字列  

返されるデータの形式

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

text/calendar
text/xml
text/js
 

任意  

text/js  

id  

一意の識別文字列  

セッション ID  

必須  

該当なし  

mod  

整数

1,2,3,4  

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

次の値を指定できる

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

任意  

1

(THISINSTANCE)  

rid  

ISO 8601 DateTime Z 文字列  

予定の繰り返し識別子。繰り返しのない予定の場合、0 に設定  

任意  

0  

tzid  

タイムゾーン ID 文字列  

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

例: America/Los_Angeles  

任意  

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

uid  

文字列  

予定の一意の識別子  

必須  

該当なし  


説明
このコマンドを使用して、指定したカレンダーから、指定した予定およびその繰り返しを取得します。指定するカレンダーが公的カレンダーである場合を除き、コマンドと一緒に id パラメータを指定する必要があります。


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

JavaScript 出力の場合、予定は 2 つの配列に分けられます。時間範囲の短い予定 (ほとんどの通常の予定) は、todo 配列に出力されます。24 時間以上継続する予定、または終日予定は、todoD 配列に出力されます。終日予定は、isAllDay フラグがオンになっています。


戻り値
calid で指定した各カレンダーに関して、そのカレンダーの予定をサーバーが返します。予定に繰り返しがある場合は、rid および mod パラメータの指定に従って、繰り返しをサーバが返します。100ページの「繰り返し処理」を参照してください。


エラーコード
処理に成功した場合は、エラー番号 0 がエラー文字列に追加されます。カレンダーにアクセスできない場合、またはカレンダーが見つからない場合は、エラー番号がエラー文字列に追加されます。



たとえば、開始日 2002 年 2 月 1 日から終了日 2002 年 3 月 1 日まで毎週午後 5 時に繰り返される予定「weekly todo B」があります。


例1
次の問い合わせは 2002 年 2 月 1 日の最初の予定だけをフェッチします。これは、最初のアイテムの繰り返し ID は指定されている (rid=20020201T170000Z) が、修飾子は指定されていないので、デフォルトで 1 と設定されるためです。(THISINSTANCE):

http://webcalendarserver/fetchtodos_by_id.wcap?
id=n3o3m05sx9v6t98t8u2p&uid=3c15309d000037020020021400003189&
rid=20020201T170000Z&fmt-out=text/calendar

出力は次のようになります。

BEGIN:VCALENDARPRODID:-//iPlanet/Calendar Hosting Server//EN

METHOD:PUBLIS
VERSION:5.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011208T005613Z
X-NSCP-CALPROPS-CREATED:20020913T223336Z
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 番目の繰り返し ID (rid=20020222T170000Z) と、繰り返し THISANDFUTURE を意味する修飾子 2 (mod=2) を指定することで、2002 年 2 月22日の最後の 2 つの繰り返しをフェッチします。

http://webcalendarserver/fetchtodos_by_id.wcap?
id=n3o3m05sx9v6t98tu2p&uid=3c15309d000037020020021400003189&
rid=20020222T170000Z&mod=2&fmt-out=text/calendar

クエリの結果は次のようになります。

BEGIN:VCALENDAR
PRODID:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011208T005613Z
X-NSCP-CALPROPS-CREATED:20020913T223336Z
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-24 は、このコマンドの 4 個のパラメータの一覧です

表 7-24 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://birdie.red.iplanet.com/get_all_timezones.wcap?
id=2m2ns6w9x9h2mr6p3b&fmt-out=text/calendar

問い合わせの結果は次のようになります。

BEGIN:VCALENDAR
PRODID:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.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:probably messed up also
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-25 は、このコマンドの 3 個のパラメータの一覧です。

表 7-25 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 = 英語)

  • cal-master (連絡先情報。通常は、1 次所有者の電子メールアドレス)

  • 説明

  • 最終更新日時

  • 作成日時

  • 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:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011208T005613Z
X-NSCP-CALPROPS-CREATED:20020913T223336Z
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:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1
X-NSCP-CALPROPS-LAST-MODIFIED:20021115T234638Z
X-NSCP-CALPROPS-CREATED:20021115T234638Z
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:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1
X-NSCP-CALPROPS-LAST-MODIFIED:20021130T002458Z
X-NSCP-CALPROPS-CREATED:20020914T015956Z
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-26 は、このコマンドの 7 個のパラメータの一覧です。

表 7-26 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  

任意  

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


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


エラーコード
何らかの理由でコマンドの実行に失敗した場合、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:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1
X-NSCP-CALPROPS-LAST-MODIFIED:20020517T012259Z
X-NSCP-CALPROPS-CREATED:20020517T012259Z
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-27 は、このコマンドの 2 個のパラメータの一覧です。

表 7-27 get_guids のパラメータ 

パラメータ

タイプ

目的

必須/
任意

デフォルト

guidCount  

整数  

取得するGUID の数  

任意  

1  

fmt-out  

文字列  

返されるデータの形式

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

text/calendar
text/xml
text/js
 

任意  

text/js  


説明
このコマンドは、指定された数の大域的に一意の識別子 (GUIDS) を返します。このコマンドの呼び出しに、クライアントの認証は必要ありません。



http://webcalendarserver/get_guids.wcap?guidCount=10
&fmt-out=text/calendar

BEGIN:VCALENDAR
VERSION:5.1
PRODID:iPlanet Calendar Server 5.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-28 は、このコマンドの 3 個のパラメータの一覧です。

表 7-28 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 つの条件が満たされている必要があります。まず、ics.conf ファイルで、サーバの service.admin.calmaster.wcap.allowgetmodifyuserprefs が「yes」に設定されている必要があります。また、リクエストをユーザは、login.wcap コマンドを使用して管理者としてログインする必要があります。

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



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

http://webcalendarserver/get_userprefs.wcap?id=b5q2o8ve2rk02nv9t6&
fmt-out=text/calendar

次のデータが返されます。

BEGIN:VCALENDAR
PRODID:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.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-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:
X-NSCP-WCAP-PREF-ceDefaultAlarmEmail:jdoe@sesta.com
X-NSCP-WCAP-SERVER-PREF-allowchangepassword:no
X-NSCP-WCAP-SERVER-PREF-allowcreatecalendars:yes
X-NSCP-WCAP-SERVER-PREF-allowdeletecalendars:yes
X-NSCP-WCAP-SERVER-PREF-allowpublicwritablecalendars:yes
X-NSCP-WCAP-SERVER-PREF-validateowners:no
X-NSCP-WCAP-ERRNO:0
END:VCALENDAR


import


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


パラメータ
表 7-29 は、このコマンドの 5 つのパラメータの一覧です。

表 7-29 import のパラメータ 

パラメータ

タイプ

目的

必須/
任意

デフォルト

calid  

文字列  

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

必須  

該当なし  

content-in  

文字列  

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

必須  

該当なし  

dtend  

ISO 8601 DateTimeZ 文字列  

インポートするイベントと todo の終了日時

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

任意  

0  

dtstart  

ISO 8601 DateTimeZ 文字列  

インポートするイベントと 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:20020105T100000
DTEND:20020105T110000
DTSTAMP:20020104T120020
CREATED:20020105T110000Z
LAST-MODIFIED:20020104T120020Z
SUMMARY:Weekly QA Meeting
UID:random-uid001
END:VEVENT
BEGIN:VEVENT
DTSTART:20020106T100000
DTEND:20020106T110000
DTSTAMP:20020104T120020
CREATED:20020105T110000Z
LAST-MODIFIED:20020104T120020Z
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-30 は、このコマンドの 5 個のパラメータの一覧です

表 7-30 login のパラメータ 

パラメータ

タイプ

目的

必須/任意

デフォルト

fmt-out  

文字列  

返されるデータの形式

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

text/calendar
text/xml
text/js
text/html (下記の「注意」を参照)

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

注意: iPlanet Calendar Server 5.x のユーザインタフェースへログインするには、text/html を指定する必要があります。これは、このタイプの形式でのみ使用します。この形式は、他のコマンドでは無効です。  

任意  

text/js  

lang  

列挙型  

ユーザ設定の言語  

任意  

NULL  

password  

文字列  

ユーザのパスワード  

任意  

該当なし  

refresh  

整数 (0、1)  

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

1 = 新しいセッション ID のみを返す
0 = すべてのセッション ID を返す
 

任意  

0  

user  

文字列  

ユーザの名前  

任意  

NULL  


説明
このコマンドは、特定のユーザが iPlanet Calendar Server にログインするときに、ユーザ名とパスワードの規則に基づいて、そのユーザを認証します。

ユーザ名は、サーバがユーザを一意に識別するためのプレーンテキスト文字列です。このユーザ名は、例えばユーザの電子メールアドレスでもかまいません。パスワードもプレーンテキストです。


fmt-out=text/html
このデータタイプは、WCAP の login コマンドでのみ使用できます。これは、SHTML ユーザインタフェースへログインする目的を表すものです。login の中で fmt-out=text/html が検出されると、コマンドは command.shtml へリダイレクトされ、ユーザは iPlanet Calendar Server のユーザインタフェースへ接続されます。このデータタイプはパラメータのデフォルトではないため、iPlanet 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 を指定すると、iPlanet 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-31 は、このコマンドの 2 個のパラメータの一覧です。

表 7-31 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-32 は、このコマンドの 7 個のパラメータの一覧です。

表 7-32 search_calprops のパラメータ 

パラメータ

タイプ

目的

必須/
任意

デフォルト

calid  

整数 (0、1)  

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

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

任意  

0 (primaryOwnername が両方とも 0 の場合を除く)  

id  

一意の識別文字列  

セッション ID  

必須  

該当なし  

maxResults  

整数  

返される結果の最大数  

任意  

200  

name  

整数 (0、1)  

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

1 = name プロパティを検索する
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 次所有者。

特定のプロパティの値を検索するには、そのパラメータを 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)、 1 次所有者のプロパティ (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:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1
X-NSCP-CALPROPS-LAST-MODIFIED:20011208T005613Z
X-NSCP-CALPROPS-CREATED:20020913T223336Z
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:-//iPlanet/Calendar Hosting Server//EN
METHOD:PUBLISH
VERSION:5.1
X-NSCP-CALPROPS-LAST-MODIFIED:20020917T213724Z
X-NSCP-CALPROPS-CREATED:20020917T213724Z
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-33 は、このコマンドの 16 個のパラメータの一覧です。

表 7-33 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  

文字列  

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

任意  

該当なし  

read  

整数  

iPlanet Calendar Server 2.x との下位互換性を保持するために残されているので、このパラメータは、iPlanet Calendar Server 5.x では機能しない。このパラメータの代わりに、acl パラメータを使用する

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

0 PRIVATE
1 PUBLIC
4
PRIMARY_OWNER_ONLY
 

任意  

該当なし  

tzid  

文字列  

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

任意  

,,,,  

write  

整数  

iPlanet Calendar Server 2.x との下位互換性を保持するために残されているので、このパラメータは、iPlanet Calendar Server 5.x では機能しない。このパラメータの代わりに、acl パラメータを使用する

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

0 PRIVATE
1 PUBLIC
4
PRIMARY_OWNER_ONLY
 

任意  

該当なし  


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

iPlanet Calendar Server 5.x では、read および write パラメータは使用できません。この機能は、acl パラメータに置き換えられています。read および write パラメータはiPlanet Calendar Server 2.x との下位互換性を保持するために残されています。

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 パラメータを復号し、適切なプロパティを設定します。


アクセス制御エントリ
この章の始めにあるアクセス制御エントリを参照してください。


「空き時間の表示」アクセス権
この章の始めにある「空き時間の表示」アクセス権を参照してください。


他の言語または文字セットの選択
この章の始めにある他の言語または文字セットの選択を参照してください。


set_userprefs


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


パラメータ
表 7-34 は、このコマンドの 7 個のパラメータの一覧です。

表 7-34 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-35 は、このコマンドの 45 個のパラメータの一覧です。

表 7-35 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 DateTime Z 文字列  

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

任意  

該当なし  

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  

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

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

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

任意  

該当なし  

fetch  

整数 (01)  

新しく保存された予定を取り込んで返すかどうかを示す論理値

1 = 新しく保存された予定を取り込んで返す
0 = 取り込まない
 

任意  

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)  

iPlanet Calendar Server 2.x との下位互換性を保持するために残されているので、このパラメータは iPlanet Calendar Server 5.x では使用できない。GSE (Group Scheduling Engine) モジュールで、すべてのメール通知は処理される

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

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

任意  

0  

orgEmail  

メールアドレス  

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

任意  

該当なし  

orgUID  

userid  

開催者の userid 

任意  

該当なし  

priority  

整数 (0、9)  

イベントの優先順位

0 = 最低
9 = 最高
 

任意  

0  

rchange  

整数 (01)  

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

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

任意  

1  

rdates  

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

イベントの繰り返し日付  

任意  

該当なし  

relatedTos  

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

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

任意  

該当なし  

resources  

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

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

任意  

該当なし  

rid  

ISO 8601 DateTime Z 文字列  

イベントの繰り返し ID

イベントを作成するときは不必要

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

任意

必須  

該当なし  

rrules  

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

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

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

任意  

該当なし  

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 文字列(「America/Los_Angeles」など)  

タイムゾーン。サーバに渡されるまたはサーバから返されるすべての日付の解釈に使用される

デフォルトは、世界協定時刻 (UTC または Z 形式)  

任意  

メGMTモ  

uid  

文字列  

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

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

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

任意

必須  

該当なし

default uid  


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

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

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

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

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


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

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

fmt-out パラメータを text/js に設定するか、あるいはデフォルトで text/js に設定されている場合、すべてのデータについて fetchcomponents_by_range.wcap コマンドから JavaScript が返されます。


エラーコード
このコマンドを使用してリンクしたイベントを変更することはできません。変更しようとすると、コマンドの実行が失敗し、errno 配列にCANNOT_MODIFY_LINKED_EVENTS(31) が返されます。

すでにスケジュールされている時間枠にイベントを保存しようとすると (二重予約)、コマンドの実行が失敗し、エラー STORE_FAILED_DOUBLE_BOOKED(40) が返されます。


必要なパラメータ
このコマンドを使って、新しいイベントを作成し、既存のイベントを変更します。必要なパラメータは、実行する内容によって次のように異なります。

  • 新しいイベントを作成する場合は、次の 2 つのパラメータだけが必要です。

    • dtstart

    • summary

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

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

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


継続時間
duration は、次のように ISO 8601 形式で指定します。

  • P1Y2M3DT1H30M10S は、1 年 2 か月 3 日 1 時間 30 分 10 秒の継続時間を表します。

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

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

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

文字列に含まれる T は、日付情報 (年、月、日) と時刻情報 (時、分、秒) の区切り文字です。



ヒント 終了日時 (dtend) は、duration よりも優先されます。durationdtend の両方を指定すると、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 パラメータ
attendeemethod は、グループスケジュールイベントを作成するときに最も重要なパラメータです。attendee パラメータは、出席者エントリをセミコロンで区切ったリストです。ここでは、出席者エントリについて説明します。

各出席者エントリには、イベントの参加状況や出席が必要かどうかなど、いくつかのパラメータが含まれます。これらのパラメータには、すべて iCalendar の仕様 (RFC 2445) に定義されている ATTENDEE プロパティと似た構文カプセル化されます。WCAP の attendee の構文を理解するには、このドキュメントにすべて目を通し、必要な基本情報を理解することをお勧めします。WCAP では、パラメータの区切り文字として「^」を使用するなど、いくつかの違いがあります。ただし、複数の出席者を区切るときは、iCalendar で標準に使われるセミコロンを使用します。

たとえば、iCalendar では、次のような構文が使用されます。

PARSTAT=ACCEPTED;RSVP=TRUE:mailto:abc@xyz.com

WCAP では、次のように記述します。

ARSTAT=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-36 は、WCAP で認識される iCalendar ATTENDEE プロパティのパラメータの一覧です。ほとんどのパラメータはオプションです。情報は格納されますが、これらのパラメータすべてが Calendar Server で完全にサポートされているわけではありません。グループスケジューリングに関連するパラメータは、PARTSTAT とRSVP のみです。

表 7-36 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」です。イベントは、両方の出席者のカレンダーに作成されます。各出席者は、各自のカレンダーでイベントに返答します。この返答は、iPlanet 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 つまたは複数の仕事をカレンダーに追加します。


パラメータ
表 7-37 は、このコマンドの 47 個のパラメータの一覧です。

表 7-37 storetodos のパラメータ 

パラメータ

タイプ

目的

必須/任意

デフォルト

alarmAudio  

ISO 8601Date Time Z 文字列  

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

任意  

該当なし  

alarmDescription  

文字列  

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

任意  

メThis is the alarm descriptionモ  

alarmEmails  

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

予定のアラーム通知の受信者  

任意  

該当なし  

alarmFlashing  

ISO 8601 Date Time Z 文字列  

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

任意  

該当なし  

alarmPopup  

ISO 8601 Date TimeZ 文字列  

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

任意  

該当なし  

alarmStart  

ISO 8601 DateTime Z 文字列  

予定のアラーム通知を送信する時刻  

任意  

該当なし  

attachments  

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

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

任意  

該当なし  

attendees  

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

予定の出席者  

任意  

該当なし  

brief  

整数 (0、1)  

JavaScript の簡略出力版を出力するかどうかを示すブール値

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

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

任意  

0  

calid  

文字列  

予定の格納先のカレンダー ID  

必須  

該当なし  

categories  

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

予定のカテゴリ  

任意  

該当なし  

completed  

ISO 8601 DateTimeZ 文字列  

todo の完了日。値が 0 の場合は、予定が完了していないことを意味します  

任意  

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 継続時間文字列  

予定の継続時間  

任意  

該当なし  

exdates  

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

除外する todo の繰り返し日付  

任意  

該当なし  

exrules  

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

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

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

任意  

該当なし  

fetch  

整数 (01)  

新しく保存された予定を取り込んで返すかどうかを示す論理値

1 = 新しく保存された予定を取り込んで返す
0 = 予定を取り込まない
 

任意  

0  

fmt-out  

文字列  

返されるデータの形式

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

text/calendar
text/xml
text/js
 

任意  

text/js  

geo  

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

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

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

任意  

0;0  

icsClass  

文字列  

予定のクラス。次の値を指定できる

PUBLIC
PRIVATE
CONFIDENTIAL
 

任意  

PUBLIC  

icsUrl  

文字列  

予定の URL  

任意  

メメ  

id  

一意の識別文字列  

セッション ID  

必須  

該当なし  

isAllDay  

整数 (01)  

終日の予定かどうかを示す論理値

1 = 終日の予定
0 = 終日の予定ではない
 

任意  

0  

language  

文字列  

予定の言語 (「en」、「fr」、「de」)  

任意  

該当なし  

location  

文字列  

予定の場所  

任意  

メメ  

method  

整数 (1、2、4、8、16、32)  

グループスケジューリングの 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  

整数 (0、1)  

iPlanet Calendar Server 2.x との下位互換性を保持するために残されているので、このパラメータは iPlanet Calendar Server 5.x では使用できない。GSE (Group Scheduling Engine) では、電子メール通知は処理される

出席者に変更された予定を通知するかどうかを示す論理値

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

任意  

0  

orgEmail  

電子メール
アドレス
 

予定の連絡先電子メールアドレス (通常、開催者の電子メールアドレス)  

任意  

該当なし  

orgUID  

userid  

開催者の userid 

任意  

該当なし  

percent  

整数 (0100)  

予定の完了率  

任意  

0  

priority  

整数 (09)  

予定の優先順位

0 = 最低
9 = 最高
 

任意  

0  

rchange  

整数 (0、1)  

繰り返し予定を拡張するかどうかを示す論理値

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

任意  

1  

rdates  

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

予定の繰り返し日付  

任意  

該当なし  

relatedTos  

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

この予定に関連する他の予定  

任意  

該当なし  

resources  

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

予定に関連付けられたリソース  

任意  

該当なし  

rid  

ISO 8601 TimeDate Z 文字列  

予定の繰り返し識別子

新しい予定を作成するときは不必要

予定を変更するときは必要  

任意

必須  

該当なし  

rrules  

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

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

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

任意  

該当なし  

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 文字列 (「America/Los_Angeles」など)  

タイムゾーン。すべての日付は、このタイムゾーンを参照して解釈される

タイムゾーンを渡さない場合は、すべての日付は世界協定時刻 (UTC または Z 形式) として解釈される  

任意  

メGMTモ  

uid  

文字列  

保存する予定の一意の識別子

新しい予定の場合は、システムによって生成される

予定を変更するときは必要  

任意

必須  

該当なし

default uid  


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

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

notify 値が 1 の場合、IMIP PUBLISH メッセージが予定のメール出席者に送信されます。

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


method パラメータ
グループスケジューリングには、次の ITIP メソッドのいずれかを指定します。
1

PUBLISH

開催者専用

2

REQUEST

開催者専用

4

REPLY

出席者専用

8

CANCEL

開催者専用

16

MOVE

該当なし

32

COUNTER

出席者専用


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

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

fmt-out パラメータを text/js に設定するか、あるいはデフォルトで text/js に設定されている場合、すべてのデータについて fetchcomponents_by_range.wcap コマンドから JavaScript が返されます。


エラーコード
このコマンドを使用してリンクした予定を変更することはできません。変更しようとすると、コマンドの実行が失敗し、errnoCANNOT_MODIFY_LINKED_TODOS(32) が返されます。

すでに予定が設定されている時間枠に予定を保存しようとすると (二重予約)、コマンドの実行が失敗し、エラー STORE_FAILED_DOUBLE_BOOKED(40) が返されます。


必要なパラメータ
このコマンドを使って、新しい予定を作成し、既存の予定を変更します。必要なパラメータは、実行する内容によって次のように異なります。

  • 新しい予定を作成する場合は、次の 2 つのパラメータだけが必要です。

    • dtstart

    • summary

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

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

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


継続時間
期限 (due) は、duration よりも優先されます。durationdue の両方を指定すると、duration は無視されます。

継続時間は、次のように ISO8601 形式で指定します。

  • P1Y2M3DT1H30M10S は、1 年 2 か月 3 日 1 時間 30 分 10 秒の継続時間を表します。

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

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

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

文字列に含まれる T は、日付情報 (年、月、日) と時刻情報 (時、分、秒) の区切り文字です。


upload_file


目的
ファイルをサーバへアップロードします。ファイルのインポート用の write_file と組み合わせて使用します。


パラメータ
表 7-38 は、このコマンドのパラメータです。

表 7-38 upload_file のパラメータ

パラメータ

タイプ

目的

必須/
任意

デフォルト

idt  

一意の識別文字列  

セッション ID  

必須  

該当なし  


説明
このコマンドは、write_file と組み合わせて、iPlanet Calendar Server 2.x 互換のためのファイルをインポートします。ファイルが添付されるため、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 つのファイルの content-type は同じでなければなりません。

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-41 は、このコマンドの 6 個のパラメータの一覧です。

表 7-39 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:-//iPlanet/Calendar Hosting Server//EN
VERSION:5.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" prodid="-//iPlanet/Calendar Hosting Server//EN">
<EVENT>
<UID>3bd9e717000045030000000100002113</UID>
<RECURID>20021027T230000Z</RECURID>
</EVENT>
<EVENT>
<UID>3bd9cd4700002206000000010000202d</UID>
</EVENT>
</iCal>
</iCalendar>


verifytodos_by_ids


目的
このコマンドを使用して、uid と rid のペアで指定した予定がデータベースに存在するかどうかを確認します。


パラメータ
表 7-40 は、このコマンドの 6 個のパラメータの一覧です。

表 7-40 verifytodos_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 が返されます。



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" prodid="-//iPlanet/Calendar Hosting Server//EN">
<TODO>
<UID>3bde188f0000472d0000000b00000399</UID>
<RECURID>20021029T200200Z</RECURID>
</TODO>
</iCal>
</iCalendar>


version


目的
現在の WCAP バージョンを取得します。


パラメータ
表 7-41 は、このコマンドのパラメータです。

表 7-41 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
    PRODID:-//iPlanet/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-42 は、このコマンドの 6 個のパラメータの一覧です。

表 7-42 write_file のパラメータ 

パラメータ

タイプ

目的

必須/任意

デフォルト

calid  

文字列  

ファイルのインポート先のカレンダー  

必須  

該当なし  

content-in  

文字列  

入力データのコンテンツタイプ  

必須  

該当なし  

dtend  

ISO 8601 DateTime メZモ 文字列  

インポートするイベントの終了範囲

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

任意  

0  

dtstart  

ISO 8601 DateTime メZモ 文字列  

インポートするイベントの開始範囲

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

任意  

0  

id  

一意の識別文字列  

セッション ID  

必須  

該当なし  

uniquefilename  

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

サーバからインポートするファイルの名前  

必須  

該当なし  


説明
write_file コマンドは、upload_file コマンドと組み合わせて、ファイルをインポートします。このコマンドのパラメータは、import コマンドとまったく同じです。ファイルのインポート処理の例および詳細は、「upload_fileを参照してください。


前へ     目次     索引     DocHome     次へ     
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.

最終更新日: 2002 年 1 月 30 日