説明

Microsoft Exchange のカレンダーイベントの作成、削除、変更、取得、およびカレンダーイベントへの応答を行います。また、カレンダーイベントの添付ファイルを取得します。

履歴

ColdFusion 11:3 つの新しいオプション属性が

セカンダリカレンダーを管理するために cfexchangecalendar タグに追加されました。これらの属性は get アクションと create アクションにのみ適用でき、2010 以降のバージョンの Exchange Server で使用できます。 セカンダリカレンダーは、exchangecalendar タグでセカンダリカレンダーフォルダーの ID またはパスを使用して指定できます。

ColdFusion 10: getUserAvailability, getRooms, getRoomsList

  • serverVersion 属性が追加されました。

ColdFusion 8:このタグが追加されました。

カテゴリ

通信タグ

シンタックス

create
<cfexchangecalendar
required
action = "create"
event = "#event information structure#"
optional
connection = "connection ID"
result = "variable for event UID">

delete
<cfexchangecalendar
required
action = "delete"
uid = "event UID,event UID, ..."
optional
connection = "connection ID"
message = "string"
notify = "yes|no">

deleteAttachments
<cfexchangecalendar
required
action = "deleteAttachments"
uid = "event UID"
optional
connection = "connection ID">

get
<cfexchangecalendar
required
action = "get"
name = "query identifier"
optional
connection = "connection ID">

getAttachments
<cfexchangecalendar
required
action = "getAttachments"
name = "query identifier"
uid = "event UID"
optional
attachmentPath = "directory path"
connection = "connection ID">
generateUniqueFilenames = "no|yes"
getRooms
<cfexchangecalendar
action = "getRooms"
emailAddress = "e-mail_ address"
name = "name"
connection = "connection_ID"/>
getRoomsList
<cfexchangecalendar
action = "getRoomList"
name = "name"
connection = "connection_ID"/>
getUserAvailability
<cfexchangecalendar
action = "getUserAvailability"
attendees = "attendee_list"
connection = "connection_ID"
startDate = "date"
endDate = "date"
dataRequestType = "freeBusy|suggestions|freeBusyandSuggestions"
name = "name" />
modify
<cfexchangecalendar
required
action = "modify"
event = "#event information structure#"
uid = "event UID"
optional
connection = "connection ID">

respond
<cfexchangecalendar
required
action = "respond"
responseType = "accept|decline|tentative"
uid = "event UID"
optional
connection = "connection ID"
message = "string">
notify = "yes|no">

注意:すべてのアクションについて、connection 属性を指定しない場合、使用する追加属性については、「cfexchangeconnection」を参照してください。connection 属性を省略する場合は、cfexchangecalendar タグで cfexchangeconnection タグの属性を指定して一時的接続を作成します。この場合、ColdFusion はタグが完了すると接続を閉じます。詳細については、cfexchangeconnection タグの open アクションを参照してください。

注意:このタグの属性は attributeCollection 属性で指定でき、その値は構造体になります。attributeCollection 属性で構造体の名前を指定し、タグの属性名を構造体のキーとして使用します。

関連項目

cfexchangeconnectioncfexchangecontactcfexchangefiltercfexchangemailcfexchangetask、『ColdFusion アプリケーションの開発』の「会議および予定の操作

属性

属性

アクション

必須/オプション

デフォルト

説明

action

N/A

必須

 

実行するアクションです。有効な値は次のとおりです。

  • create
  • delete
  • deleteAttachments
  • get
  • getAttachments
  • getRooms
  • getRoomsList
  • getUserAvailability
  • modify
  • respond

attachmentPath

getAttachments

オプション

 

添付ファイルを保存する、ディスク上またはメモリ内のディレクトリのファイルパスです。指定したディスク上のディレクトリが存在しない場合は、自動的に作成されます。
メモ : この属性を省略すると、添付ファイルは保存されません。相対パスを指定する場合は、GetTempDirectory 関数によって返される ColdFusion テンポラリディレクトリがパスのルートになります。

attendees

getUserAvailability

必須

 

すべての出席者のカンマ区切りリストです。

connection

all

オプション

 

cfexchangeconnection タグで指定された Exchange サーバーへの接続の名前です。この属性を省略する場合は、cfexchangecalendar タグで cfexchangeconnection タグの接続属性を指定して一時的接続を作成する必要があります。

dataRequestType

getUserAvailability

必須

 

  • freeBusy:可用性の詳細の配列を返します。
  • Suggestions:候補の詳細が含まれる構造体の配列を返します。
  • freeBusyandSuggestions:suggestions の配列と attendeeavailability の配列の両方を返します。
    詳しくは、suggestion の構造体および attendeeavailability の構造体の節を参照してください。

emailAddress

getRooms

オプション

 

メールボックスユーザーの SMTP(Simple Mail Transfer Protocol)アドレスを定義します。

endDate

getUserAvailability

必須

 

ColdFusion が日付時刻値として解釈できる文字列です。

event

createmodify

必須

 

設定または変更するイベントプロパティとその値を含む構造体への参照です。この属性はシャープ記号 (#) で囲んで指定する必要があります。event 属性でもカテゴリキーがサポートされます。
イベント構造体の詳細については、「使用方法」を参照してください。

getOccurrence

TrueFalse

オプション

 

True の場合、指定された startDate 値から EndDate 値までの繰り返しイベントのすべての発生と、さらに単独のイベントも取得します。getOccurrence を True に指定した場合、cfExchangeFilter タグは使用できません。

generateUnique Filenames

getAttachments

オプション

no

同じ名前の添付ファイルが複数ある場合に、一意のファイル名を生成するかどうかを指定する boolean 値です。同じ名前を持つ添付ファイルが複数存在し、このオプションが yes の場合、ColdFusion は、競合するファイル名の後ろ (拡張子の前) に番号を付加します。例えば、myfile.txt という名前の添付ファイルが 3 つある場合は、myfile.txt、myfile1.txt、myfile2.txt という名前で保存されます。

message

deleterespond

オプション

 

応答通知または削除通知で送信するオプションメッセージのテキストです。

name

getAttachments

getUserAvailability

getRoomsListgetRooms

必須

 

取得したイベント、または取得した添付ファイルに関して取得した情報を格納する ColdFusion クエリー変数の名前です。返されるデータの詳細については、「使用方法」を参照してください。

notify

deleterespond

オプション

true

イベントが修正されたときに他のユーザーに通知するかどうかを指定する boolean 値です。

responseType

respond

必須

 

有効な値は次のとおりです。

  • accept
  • decline
  • tentative

result

create

オプション

 

作成するイベントの UID を格納する変数の名前です。create 以外のアクションでは、uid 属性で UID 値を指定してアクションの対象となるイベントを識別します。

serverVersion

 

オプション

2007

Microsoft Exchange Server のバージョンを指定します。有効な値は次のとおりです。

  • 2003
  • 2007
  • 2010
    詳細を指定しない場合は、デフォルトで 2007 が使用されます。
    指定した値は、アプリケーションレベルで指定した値よりも優先されます。

startDate

getUserAvailability

必須

 

ColdFusion が日付時刻値として解釈できる文字列です。

uid

delete

getAttachments

modify

respond

必須

 

アクションの対象となるイベントを一意に識別する Exchange UID 値です。大文字と小文字は区別されます。delete アクションの場合は、この属性で UID 値のカンマ区切りリストを指定できます。deleteAttachments、getAttachments、modify、および respond アクションの場合は、1 つの UID 値のみを指定できます。

folderid   オプション   カレンダー項目を管理するカレンダーフォルダー ID を指定します。フォルダー ID が有効なカレンダーではない場合は、エラーが報告されます。
folderpath   オプション  

メールボックスストア内のカレンダーフォルダーのフルパスです。パスの区切り文字もタグで指定できます。その際は、pathdelimiter 属性を使用します。

folderid と folderpath が両方とも指定されていない場合は、cfexchangecalendar タグによりデフォルトのユーザーカレンダーが管理されます。folderid と folderpath が両方とも指定されている場合は、folderid が考慮されます。

pathdelimiter   オプション /

folderpath 属性内でフォルダーを区切る文字を指定できます。

使用方法

cfexchangecalendar タグは、Exchange サーバー上のカレンダーイベントを管理します。cfexchangecalendar を使用すると、次の操作を実行できます。

  • 予定イベントまたは会議イベントを作成する。終日のイベントを作成する。
  • イベントを削除する。
  • 件名、送信者 ID、受信者 ID、受信時刻などのフィルタ条件に一致するイベントを取得する。
  • 特定のイベントの添付ファイルを取得する。
  • 既存のイベントを修正する。
  • イベントに応答する。
    このタグを使用するには、Exchange サーバーに接続する必要があります。複数の連絡先レコードを作成する場合のように、Exchange サーバーと対話するタグを複数使用する場合は、cfexchangeconnection タグを使用して継続的接続を作成します。その場合は、個々の cfexchangecalendar タグで接続識別子を指定します (タスク、連絡先、メールなどにもアクセスする場合はその他の ColdFusion Exchange タグでも接続識別子を指定します)。これにより、個々のタグに対して接続を作成して閉じる必要がなくなるので、システムの負荷が減少します。また、ColdFusion が 1 個の cfexchangecalendar タグを処理する間だけ存続する一時的接続を作成することもできます。その場合は、cfexchangecontact タグで接続属性を直接指定します。connection 属性の詳細については、cfexchangeconnection タグを参照してください。

    注意:Exchange カレンダーの予定を作成するには、カレンダーイベントを作成し、必須またはオプションのいずれの参加者も指定しません。

create アクション

create アクションを指定する場合は、イベントに関する情報を含む構造体を event 属性で指定する必要があります。この構造体には次のエントリを格納できます。

要素

デフォルト

説明

AllDayEvent

no

終日のイベントかどうかを示す boolean 値です。

添付ファイル

 

添付ファイルとして送信するファイルのパスです。複数のファイルパスを指定する場合、Windows ではセミコロン (;)、UNIX および Linux ではコロン (:) を使用して各パスを区切ります。添付ファイルは絶対パスで指定する必要があります。
modify アクションで添付ファイルを指定した場合は、指定した添付ファイルが既存の添付ファイルに追加されます。既存の添付ファイルが削除されることはありません。

Categories

 

カテゴリのカンマ区切りリストです。リスト内のすべてのカテゴリと一致するイベントが検索されます。

期間

 

イベントの継続時間です (単位 : 分)。

EndTime

 

ColdFusion で有効な日付時刻形式で示されるイベントの終了時刻です。

Importance

normal

次のいずれかの値になります。

  • high
  • normal
  • low.

IsRecurring

そのイベントが反復されるかどうかを示す boolean 値です。yes の場合は、RecurrenceType 要素と、反復の詳細を示す要素を指定します。反復フィールドの詳細については、次の表を参照してください。

場所

 

イベントの場所を示す文字列です。

Message

 

イベントに関するメッセージを含む文字列です。この文字列では HTML の形式設定タグも使用できます。

OptionalAttendees

 

メール ID のカンマ区切りリストです。

Organizer

 

会議の開催者の名前を示す文字列です。

Reminder

 

イベントの何分前にアラームメッセージを表示するかを指定します。

RequiredAttendees

 

メール ID のカンマ区切りリストです。

リソース

 

Exchange スケジュールリソース (会議室や機材など) のメール ID のカンマ区切りリストです。

Sensitivity

有効な値は、normal、company-confidential、personal、および private です。

StartTime

 

ColdFusion で有効な日付時刻形式で示されるイベントの開始時刻です。
この属性で日時を指定し、RecurrenceType で YEARLY を指定して、その他の反復属性を指定しなかった場合、そのイベントは 1 年に 1 回、この属性で指定した日時に繰り返されます。

Subject

 

イベントの件名を示す文字列です。

IsRecurring フィールドの値を yes に設定した場合にイベントの反復を指定するために使用する要素を次の表に示します。イベントの反復を指定する方法の詳細については、『ColdFusion アプリケーションの開発』の「会議および予定の操作」の「定期的なカレンダーイベントの設定」を参照してください。

要素

タイプ

デフォルト

説明

RecurrenceType

all

DAILY

構造体の IsRecurring 要素が yes の場合にのみ使用されます。有効な値は次のとおりです。

  • DAILY
  • WEEKLY
  • MONTHLY
  • YEARLY

RecurrenceNoEndDate

all

yes

boolean 値です。この要素が yes の場合、イベントは削除または変更されるまで反復されます。RecurrenceCount または RecurrenceEndDate とともに使用することはできません。

RecurrenceCount

all

 

イベントを反復する回数です。RecurrenceEndDate または RecurrenceNoEndDate とともに使用することはできません。

RecurrenceEndDate

all

 

最後に反復する日付です。RecurrenceCount または RecurrenceNoEndDate とともに使用することはできません。

RecurrenceFrequency

DAILY、WEEKLY、MONTHLY

1

反復する頻度です (日数、週数、または月数)。例えば、反復のタイプが DAILY の場合、RecurrenceFrequency を 3 に設定すると 3 日おきにイベントがスケジュールされます。

RecurEveryWeekDay

DAILY

 

日曜日と土曜日を除く平日にイベントを反復します。RecurrenceFrequency とともに使用することはできません。

RecurrenceDays

WEEKLY

 

イベントが発生する曜日を 1 つまたは複数指定します。次の値をカンマ区切りリストで指定する必要があります。MON、TUE、WED、THU、FRI、SAT、{{SUN}}。反復のタイプが WEEKLY の場合、このフィールドを省略すると、指定された開始日に対応する曜日にイベントが反復されます。

RecurrenceDay

MONTHLY、YEARLY

 

何曜日にイベントを発生させるかを示します。有効な値は次のとおりです。

  • MON
  • TUE
  • WED
  • THU
  • FRI
  • SAT
  • SUN

RecurrenceWeek

MONTHLY、YEARLY

 

月または年の第何週にイベントを繰り返すかを指定します。使用できる値は次のとおりです。

  • first
  • second
  • third
  • fourth
  • last

RecurrenceMonth

YEARLY

 

イベントを繰り返す月を指定します。有効な値は、JAN、FEB、MAR、APR、MAY、JUN、JUL、AUG、SEP、OCT、NOV、および DEC です。

delete アクション

delete アクションを指定する場合は、削除するイベントを識別する Exchange UID のカンマ区切りリストを uid 属性で指定します。UID 値を確認するには、適切なフィルター式を指定した get アクションを使用します。
cfexchangecalendar タグで指定した UID がすべて無効な場合はエラーが発生します。1 つでも有効な UID が含まれる場合は、無効な UID が無視され、有効な UID に対応する項目が削除されます。

get アクション

get アクションを指定する場合は、子の cfexchangefilter タグを使用して取得するメッセージを指定します。フィルターの詳細については、「cfexchangefilter」を参照してください。
タグの処理が完了すると、name 属性で指定したクエリーオブジェクトに、取得したメッセージごとのレコードが格納されます。各レコードには次の列があります。

AllDayEvent

Duration

EndTime

From

HasAttachment

HtmlMessage

Importance

IsRecurring

Location

Message

OptionalAttendees

Organizer

Reminder

RequiredAttendees

Resources

Sensitivity

StartTime

Subject

UID

Categories

次の表で、From、HtmlMessage、Message、および UID フィールドについて説明します。他のフィールドの詳細については、create アクションの説明の表を参照してください。

説明

From

イベントを作成したユーザーの Exchange ID です。

HtmlMessage

イベントに関するメッセージの HTML バージョンです。

Message

イベントに関するメッセージのプレーンテキストバージョンです。

UID

メールイベントに割り当てられた一意の Exchange 識別子です。delete、getAttachments、および modify アクションでは、この値を使用してイベントを識別します。

getAttachments アクション

getAttachments アクションを使用する場合は、1 つの UID と name 属性を指定します。cfexchangecalendar タグにより、指定した名前を持つクエリーオブジェクトにデータが挿入されます。各レコードには、UID で指定したイベントの添付ファイルに関する次の情報が含まれます。

説明

attachmentFileName

添付ファイルのファイル名です。

attachmentFilePath

サーバー上の添付ファイルの絶対パスです。attachmentPath 属性を省略すると、この列には空の文字列が入ります。

CID

添付ファイルの content-ID です。通常は、メッセージにイメージを埋め込むために HTML の img タグ内で使用します。

mimeType

添付ファイルの MIME タイプです (text/html など)。

isMessage

添付ファイルがメッセージかどうかを指定する boolean 値です。

size

添付ファイルのサイズです (単位 : バイト)。

添付ファイルは attachmentPath 属性で指定したディレクトリに保存されます。attachmentPath 属性を省略すると、添付ファイル自体は取得されず、添付ファイルに関する情報が取得されます。この方法を使用すると、添付ファイルの取得に伴うオーバーヘッドを発生させることなく、イベントの添付ファイルを調べることができます。メモリ内の attachmentPath ディレクトリを指定するには、次のシンタックスを使用します。メモリ内のファイルはディスクに書き込まれないため、一時的データの処理が早くなります。

attachmentpath = "ram:///path"

パスには、ram:///petStore/orders/messageAttachments のように複数のディレクトリを含めることができます。ファイルを指定する前に、パスに含まれるすべてのディレクトリを作成しておく必要があります。メモリ内のファイルの使用方法の詳細については、『ColdFusion アプリケーションの開発』の「ColdFusion アプリケーションの最適化」の「メモリ内ファイルの使用」を参照してください。
getAttachments アクションは、Exchange のサーバー設定で EWS (Exchange Web サービス) の認証が basic に設定されている場合にのみ有効です。IWA (Integrated Windows Authentication) はサポートされていません。

modify アクション

modify アクションを指定する場合は、uid 属性でイベント UID を 1 つだけ指定して、変更するイベントを選択します。複数の UID は指定できません。event 構造体では、変更するフィールドのみを指定してください。フィールドの詳細と有効な値については、create アクションの表を参照してください。
イベントに添付ファイルがある場合、イベントを変更するときに添付ファイルを指定すると、新しい添付ファイルが既存の添付ファイルに追加されます。添付ファイルが置き換えられることはありません。添付ファイルを削除するには、deleteAttachments アクションを使用します。

respond アクション

cfexchangemail タグによって送信された会議通知に応答するには、respond アクションを使用します。メールメッセージに応答して要求を完全に承認するか暫定的に承認するまで、その会議はカレンダーに表示されず、cfexchangecalendar タグを使用して会議にアクセスすることはできません。
respond アクションを指定する場合は、通知メールメッセージに含まれるイベント UID を指定します。また、応答のタイプ (イベントの承認、拒否、または暫定的承認) も指定します。必要に応じて、応答に含めるメッセージを指定することもできます。また、イベントの作成者に応答を通知するかどうかを指定するフラグも設定できます。respond アクションの使用について詳しくは、『ColdFusion アプリケーションの開発』の「会議および予定の操作」を参照してください。

suggestions 構造体の値

構造体の値

説明

date

会議の候補日です。

quality

候補日の品質で、Excellent、Good、Fair または Poor のいずれかです。

TimeSuggestion

次の値が含まれる構造体の配列です。

  • MeetingDate:会議の候補時間です。
  • Quality:時間の品質です。これは、Excellent、Good、Fair または Poor です。
  • 重複の配列:候補時間の重複です。これは、次の値が含まれる構造体です。ConflictType(重複のタイプで、individualAttendeeConflict(出席者の重複)、GroupConflict(グループの 1 人以上のメンバーの重複)、GroupTooBigConflict(グループの 1 人以上のメンバーの重複であるが、詳細情報を返すにはグループが大きすぎた場合)、および UnknownAttendeeConflict(解決不可能な出席者、あるいはユーザー、グループまたは連絡先でない出席者の重複)のいずれかです)。
  • FreeBusyStatus:重複している出席者の空き時間情報ステータスを取得します。ConflictType が IndividualAttendee に等しい場合にのみ意味があります。値は、Free、Tentative、Busy、OOF(予定に関連付けられている時間帯は「不在」と表示されている)、または NoData(予定に空き時間情報ステータスが関連付けられていない)です。
  • NoOfMembers:重複しているグループのユーザー、リソースおよび会議室の数を取得します。ConflictType が ConflictType の GroupConflict に等しい場合にのみ意味があります。
  • NoOfMembersAvailable:重複しているグループ内の出席可能なメンバー(ステータスが Free のメンバー)の数を取得します。ConflictType が ConflictType の GroupConflict に等しい場合にのみ意味があります。
  • NoOfMembersWithConflict:重複しているグループ内の重複状態のメンバー(ステータスが Busy、OOF または Tentative のメンバー)の数を取得します。ConflictType が ConflictType の GroupConflict に等しい場合にのみ意味があります。
  • NoOfMembersWithNoData:重複しているグループ内の空き時間情報データを公開していないメンバーの数を取得します。ConflictType が ConflictType の GroupConflict に等しい場合にのみ意味があります。
  • isWorkTime:候補の会議が勤務時間内に実施されるかどうかです。

attendeeavailability 構造体の値

構造体の値

説明

CalendarEvent

次の値が含まれる構造体です。

  • startTime:イベントの開始日時です。
  • endTime:イベントの終了日時です。
  • freeBusyStatus:イベントに関連付けられている空き時間情報ステータスです。値は、Free、tentative、busy、OOF(不在)、または NoData(予定に空き時間情報ステータスが関連付けられていない)のいずれかです。
  • details:予定表イベントの詳細です。詳細を要求したユーザーが適切な権限を持っていない場合、details は null です。details は、次の値が含まれる構造体です。location(予定表の場所)、eventstoreId(予定表イベントのストア ID)、および Subject(isException(予定表イベントが、定期的なアイテムの例外であるかどうかを示す boolean 値)、isMeeting(予定表イベントが会議であるかどうかを示す boolean 値)、isPrivate(予定表イベントがプライベートであるかどうかを示す boolean 値)、isRecurring(予定表イベントが定期的なものであるかどうかを示す boolean 値)および isRemainderSet(予定表イベントにアラームが設定されているかどうかを示す boolean 値)です)。

mergedFreeBusyStatus

ステータスが含まれる構造体の配列です。ステータスは次のいずれかです。

  • Free:予定に関連付けられている時間帯は「空き時間」と表示されています。
  • Tentative:予定に関連付けられている時間帯は「仮承諾」と表示されています。
  • Busy:予定に関連付けられている時間帯は「予定あり」と表示されています。
  • OOF:予定に関連付けられている時間帯は「不在」と表示されています。
  • NoData:予定に空き時間情報ステータスが関連付けられていません。
  • result:応答に関連付けられた結果です。これは、success、warning または error です。

viewType

取得される、出席者の空き時間情報のビュータイプです。次の値を指定できます。

  • None:ビューは返されません。この値は、GetUserAvailability の呼び出しでは指定できません。
  • MergedOnly:集計された空き時間情報ストリームです。あるフォレストのターゲットユーザーに可用性サービスが設定されていない場合、リクエスターの可用性サービスは、ターゲットユーザーの空き時間情報を空き時間情報のパブリックフォルダーから取得します。パブリックフォルダーには結合後の形式の空き時間情報のみが保管されているので、MergedOnly のみが使用可能な情報です。
  • FreeBusy:従来のステータス情報です(free、busy、tentative および OOF)。これには、予定の開始時刻および終了時刻も含まれます。このビューでは、集計された空き時間情報ストリームではなく、個々の会議の開始時刻と終了時刻が提供されるので、従来の空き時間情報ビューよりも包括的です。
  • FreeBusyMerged:FreeBusy のすべてのプロパティと、結合後の空き時間情報のストリームです。
  • Detailed:従来のステータス情報です(free、busy、tentative および OOF、予定の開始時刻と終了時刻、予定の各種プロパティ(subject、location、importance など))。この要求のビューでは、要求を実行したユーザーが持つ権限に応じた最大限の情報が返されます。結合後の空き時間情報のみが使用可能な場合は、Microsoft Exchange Server 2003 フォレストのユーザーが情報を要求したときと同様に、MergedOnly が返されます。そうでない場合は、FreeBusy または Detailed が返されます。
  • DetailedMerged:Detailed のすべてのプロパティと、結合後の空き時間情報のストリームを示します。結合後の空き時間情報のみを使用可能な場合(例えば、メールボックスが存在するコンピューターで Exchange 2003 が稼働している場合)、MergedOnly が返されます。そうでない場合は、FreeBusyMerged または DetailedMerged が返されます。

workingHours

次の詳細が含まれる構造体です。

  • startTime:イベントの開始日時です。
  • endTime:イベントの終了日時です。
  • daysOfTheWeek:構造体の配列です。出席者の出勤日です。Sunday、Monday、Tuesday、Wednesday、Thursday、Friday、Saturday、Weekday および WeekEndDayDay の値が含まれることがあります。
  • Timezone:id(タイムゾーン定義の ID)と name(そのタイムゾーン定義の名前)のフィールドが含まれる構造体です。

Exchange UID 値

すべての cfexchangecalendar アクションにおいて uid 属性の値は次のとおりです。

  • exchangeServerVersion が 2003 または 2007 に設定されている場合:uid は、開催者のメールボックス内の予定の ID を示します。
  • exchangeServerVersion が 2010 に設定されている場合:uid は、出席者のメールボックス内の受信した予定の ID を示します。
    Microsoft Exchange Server 2003 または 2007 との対話では、予定が作成されるとすぐに、出席者はすべての操作(応答、添付の削除や取得など)に開催者の UID を使用できます。Microsoft Exchange Server 2010 の場合、この動作は異なります。出席者が予定関連のアクションを実行する必要がある場合は、最初に自分のメールボックス内の予定を検索し、それからその予定の UID を使用する必要があります。

例 1

次の例では、カレンダーイベントを作成してから変更します。最初にフォームを送信すると、カレンダーイベントが作成され、入力したデータとともにフォームが再表示されます。フォームを変更して再送信するには、イベントを承認します。2 回目にフォームを送信するときには、変更された情報が送信されます。詳細については、『ColdFusion アプリケーションの開発』の「会議および予定の操作」を参照してください。
この例ではコードを短くするためにすべてのイベントデータが再送信されますが、変更したデータだけを送信するように記述することもできます。

<!--- Create a structure to hold the event information. --->
<!--- A self-submitting form for the event information --->
<!
--- This example omits recurrence to keep the code relatively simple ---> <cfparam name="form.eventID" default="0">

<!--- If the form was submitted, populate the event structure from it. --->
<cfif isDefined("Form.Submit")>
<cfscript>
sEvent.AllDayEvent="no";
sEvent=StructNew();
sEvent.Subject=Form.subject;
if (IsDefined("Form.allDay")) {
sEvent.AllDayEvent="yes";
sEvent.StartTime=createDateTime(Year(Form.date), Month(Form.date),
Day(Form.date), 8, 0, 0);
}
else {
sEvent.StartTime=createDateTime(Year(Form.date), Month(Form.date),
Day(Form.date), Hour(Form.startTime), Minute(Form.startTime), 0);
sEvent.EndTime=createDateTime(Year(Form.date), Month(Form.date),
Day(Form.date), Hour(Form.endTime), Minute(Form.endTime), 0);
}
sEvent.Location=Form.location;
sEvent.RequiredAttendees=Form.requiredAttendees;
sEvent.OptionalAttendees=Form.optionalAttendees;
//sEvent.Resources=Form.resources;
if (Form.reminder NEQ "") {
sEvent.Reminder=Form.reminder;
}
else {
sEvent.Reminder=0;
}
sEvent.Importance=Form.importance;
sEvent.Sensitivity=Form.sensitivity;
sEvent.message=Form.Message;
</cfscript>

<!--- If this is the first time the form is being submitted
Create a new event. --->
<cfif form.eventID EQ 0>
<!--- Create the event in Exchange --->
<cfexchangecalendar action="create"
username ="#user1#"
password="#password1#"
server="#exchangeServerIP#"
event="#sEvent#"
result="theUID">
<!--- Output the UID of the new event. --->
<cfif isDefined("theUID")>
<cfoutput>Event Added. UID is#theUID#</cfoutput>
<cfset Form.eventID = theUID >
</cfif>
<cfelse>
<!--- The form is being resubmitted with new data, so update the event. --->
<cfexchangecalendar action="modify"
username ="#user1#"
password="#password1#"
server="#exchangeServerIP#"
event="#sEvent#"
uid="#Form.eventID#">
<cfoutput>Event ID #Form.eventID# Updated.</cfoutput>

</cfif>
</cfif>

<cfform format="xml" preservedata="yes" style="width:500" height="600">
<cfinput type="text" label="Subject" name="subject" style="width:435"><br />
<cfinput type="checkbox" label="All Day Event" name="allDay">
<cfinput type="datefield" label="Date" name="date" validate="date" style="width:100">
<cfinput type="text" label="Start Time" name="startTime" validate="time"
style="width:100">
<cfinput type="text" label="End Time" name="endTime" validate="time"
style="width:100"><br />
<cfinput type="text" label="Location" name="location" style="width:435"><br />
<cfinput type="text" label="Required Attendees" name="requiredAttendees"
style="width:435"><br />
<cfinput type="text" label="Optional Attendees" name="optionalAttendees"
style="width:435"><br />
<cfinput type="text" label="Resources" name="resources" style="width:435"><br />
<cfinput type="text" label="Reminder (minutes)" validate="integer" name="reminder"
style="width:200">
<cfselect name="importance" label="Importance" style="width:100">
<option value="normal">Normal</option>
<option value="high">High</option>
<option value="low">Low</option>
</cfselect>
<cfselect name="sensitivity" label="Sensitivity" style="width:100">
<option value="normal">Normal</option>
<option value="company-confidential">Confidential</option>
<option value="personal">Personal</option>
<option value="private">Private</option>
</cfselect>
<cfinput type="textarea" label="Message" name="message" style="width:435;
height:100">
<cfinput type="hidden" name="eventID" value="#Form.EventID#">
<cfinput type="Submit" name="submit" value="Submit">
</cfform>

例 2

次の例は、getUserAvailability アクションを実行する方法を示しています。

<!--- Setting the present Date --->
<cfset todayDate = #Now()#>
<cfset fromDate = #DateFormat(todayDate, "mm/dd/yyyy")# & ' ' & #TimeFormat(todayDate, "HH:MM:SS")#>
<!--- Adding one day to present date--->
<cfset toDate1 = DateAdd("d", "1", "#fromDate#")>
<!--- <cfset toDate = #DateFormat(toDate, "mm/dd/yyyy")#&' '&#TimeFormat(toDate,
"HH:MM:SS")#>--->
<cfset toDate1 = #DateFormat(toDate1, "mm/dd/yyyy")# & ' ' & #TimeFormat(toDate1, "HH:MM:SS")#>
<!---Creating a calendar event --->
<cffunction name="constructCalendarStruct" returntype="struct">
<cfargument name="AllDayEvent" type="string"/>
<cfargument name="Duartion" type="string"/>
<cfargument name="EndTime" type="string"/>
<cfargument name="From" type="string"/>
<cfargument name="HasAttachment" type="string"/>
<cfargument name="HtmlMessage" type="string"/>
<cfargument name="Importance" type="string"/>
<cfargument name="IsRecurring" type="string"/>
<cfargument name="Location" type="string"/>
<cfargument name="Message" type="string"/>
<cfargument name="OptionalAttendees" type="string"/>
<cfargument name="Organizer" type="string"/>
<cfargument name="Reminder" type="string"/>
<cfargument name="RequiredAttendees" type="string"/>
<cfargument name="Resources" type="string"/>
<cfargument name="Sensitivity" type="string"/>
<cfargument name="StartTime" type="string"/>
<cfargument name="Subject" type="string"/>
<cfargument name="UID" type="string"/>
<cfscript>
var eventInfo = structNew();
if(isdefined("AllDayEvent") EQ 1)
eventInfo.AllDayEvent = AllDayEvent;
if(isdefined("Duration") EQ 1)
eventInfo.Duration = Duration;
if(isdefined("EndTime") EQ 1)
eventInfo.EndTime = EndTime;
if(isdefined("From") EQ 1)
eventInfo.From = From;
if(isdefined("HasAttachment") EQ 1)
eventInfo.HasAttachment = HasAttachment;
if(isdefined("HtmlMessage") EQ 1)
eventInfo.HtmlMessage = HtmlMessage;
if(isdefined("Importance") EQ 1)
eventInfo.Importance = Importance;
if(isdefined("IsRecurring") EQ 1)
eventInfo.IsRecurring = IsRecurring;
if(isdefined("Message") EQ 1)
eventInfo.Message = Message;
if(isdefined("OptionalAttendees") EQ 1)
eventInfo.OptionalAttendees = OptionalAttendees;
if(isdefined("Organizer") EQ 1)
eventInfo.Organizer = Organizer;
if(isdefined("Reminder") EQ 1)
eventInfo.Reminder = Reminder;
if(isdefined("RequiredAttendees") EQ 1)
eventInfo.RequiredAttendees = RequiredAttendees;
if(isdefined("Resources") EQ 1)
eventInfo.Resources = Resources;
if(isdefined("Sensitivity") EQ 1)
eventInfo.Sensitivity = Sensitivity;
if(isdefined("StartTime") EQ 1)
eventInfo.StartTime = StartTime;
if(isdefined("Subject") EQ 1)
eventInfo.Subject = Subject;
if(isdefined("UID") EQ 1)
eventInfo.UID = UID;
if(isdefined("Location") EQ 1)
eventInfo.Location = Location;
</cfscript>
<cfreturn eventInfo>
</cffunction>
<!--- Function to delete calendar events --->
<cffunction name="deleteAllEvents">
<cfargument name="convariable" type="any"/>
<cfexchangecalendar action="get" name="deleteQuery" connection="convariable">
</cfexchangecalendar>
<cfloop query="deleteQuery">
<cfexchangecalendar action="delete" connection=convariable uid=#deleteQuery.uid#>
</cfloop>
</cffunction>

Availability.cfm

<cfexchangeConnection
action="open"
username = "user1"
password="Password"
server="IP_Address"
serverversion="2010"
connection="conn1">
<cfexchangeConnection
action="open"
username = "user2"
password="Password"
server="IP_Address"
serverversion="2010"
connection="conn2">
<cfset deleteAllEvents(conn1)>
<cfset deleteAllEvents(conn2)>
<!--- Creating All day event for user1 --->
<cfset eventInfo = constructCalendarStruct
(AllDayEvent="yes",Importance="High",
Subject="Testplan1",StartTime="#fromDate#")>
<cfset eventInfo1 = constructCalendarStruct
(AllDayEvent="yes",Importance="High",
Subject="Testplan",StartTime="#fromDate#")>
<cfexchangeCalendar
action="create"
connection="conn1"
event="#eventInfo#"
result="UID">
<cfscript>sleep(15000);</cfscript>
<cfexchangeCalendar
action="create"
connection="conn2"
event="#eventInfo1#"
result="UID1">
<cfscript>sleep(15000);</cfscript>
<cfexchangeCalendar
attendees="a@cfadobe.com"
action="getuseravailability"
connection="conn1"
datarequesttype="freebusyandsuggestions"
startDate="#fromDate#"
endDate="#toDate1#"
name="result">
<cfdump var="#result#">
<cfset deleteAllEvents(conn1)>
<cfset deleteAllEvents(conn2)>

次の例は、getRooms および getRoomList アクションを使用する方法を示しています。

<cfexchangeConnection
action="open"
username = "sample"
password="Password"
server="IP_Address"
serverversion="2010"
connection="conn1">
<cfexchangecalendar action="getroomlist" name="roomList" connection="conn1">
<cfdump var="#roomList#">
<cfexchangecalendar action="getrooms"
emailaddress="groundfloor1@cfadobe.com" name="rooms" connection="conn1">
<cfdump var="#rooms#">

例 3

folderId 属性を使用して、セカンダリカレンダーで予定を作成および取得します。


<cfexchangeconnection action="open" connection="conn1" server="<server hostname/IP>" username="<username>" password="<password>" serverversion="2010" protocol="<protocol>" >

<cfscript>
eventStruct = structnew();
eventStruct.AllDayEvent = "yes";
eventStruct.Importance = "low";
eventstruct.RequiredAttendees = "testing@abc.com";
eventstruct.Subject = "Test Message";
eventStruct.StartTime = now();
</cfscript>
<!-- -Get Calendar Folder Id using exchangefolder tag -->
<cfexchangefolder action="GETEXTENDEDINFO" name="familyCalendar" connection="conn1" folderpath="Calendar/family" >
<!--- Must be a calendar folder--->
<cfexchangecalendar action="create" event="#eventStruct#" connection="conn1" result="createdId" folderid="#familyCalendar.uid#">
<cfoutput >
Created Appointment Successfully in the given calendar
</cfoutput>
<!



--- getting appointments from the specified calendar using folderId <cfexchangecalendar action="get" name="familyItems" connection="conn1" folderid="#familyCalendar.uid#"> <cfexchangefilter name="subject" value="Test Message" > </cfexchangecalendar> <cfdump var="#familyItems#" >


folderpath 属性を使用して、セカンダリカレンダーで予定を作成および取得します。

<cfexchangeconnection action="open" connection="conn1" server="<server hostname/IP>" username="<username>" password="<password>" serverversion="2010" protocol="<protocol>" >

<cfscript>
eventStruct = structnew();
eventStruct.AllDayEvent = "yes";
eventStruct.Importance = "low";
eventstruct.RequiredAttendees = "testing@cfadobe.com";
eventstruct.Subject = "This is from coldfusion just testing after the test " & rand("CFMX_COMPAT" );
eventStruct.StartTime = now();
</cfscript>
<!--- Default path delimiter is / no need to specify-->
<cfexchangecalendar action="create" event="#eventStruct#" connection="conn1" result="createdId" folderpath="Calendar/family">

<cfoutput >
Created Appointment Successfully in the given calendar
</cfoutput>

<cfexchangecalendar action="get" name="familyItems" connection="conn1" folderpath="Calendar/family" pathDelimiter="/">
<cfexchangefilter name="subject" value="This is from coldfusion just testing after the test" >
</cfexchangecalendar>

<cfdump var="#familyItems#" >


本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー