次の方法で共有


Microsoft Graph APIを使用した予定表とイベントの操作

Microsoft Graph Calendar API には、 予定表calendarGroupイベント、その他のリソースが用意されており、イベントや会議の作成、実行可能な会議時間の検索、出席者の管理などを行うことができます。 Calendar API を使用すると、予定表データを使用してさまざまなエクスペリエンスを構築できます。

イベントと会議を管理する

イベントの種類は、会議、休日、時間ブロックなど、予定表でスケジュールされた発生を表します。 チーム会議や 1 対 1 などの会議はすべて、 イベント リソースによって表されます。 イベントのライフサイクルを直接管理するには、イベントを直接作成、取り消し、削除します。 また、下書きイベント メッセージを作成したり、送信したり、転送したり、下書き返信を作成したりできます。 イベント メッセージを操作することで、ユーザーがイベントと会議を作成する際にアクティブな役割を果たせるようにすることができます。 また、会議の発信者、他の受信者、出席者とコミュニケーションを取ることもできます。

イベントを直接操作する

Microsoft Graph APIには、イベントの作成、更新、削除、取り消しなどの操作のメソッドが用意されています。 次の表は、一般的なライフサイクル イベントのユース ケースと、Microsoft Graph がそれらを操作するために提供する API の一覧です。

ユース ケース 動詞 URL の例
イベントを作成します。 POST /users/{id | userPrincipalName}/events
予定表からイベントを削除します。 DELETE /users/{id | userPrincipalName}/events/{id}
イベントを取り消し、キャンセル メッセージを送信します。
: 要求本文でオプションのキャンセル メッセージを指定します。
POST /users/{id | userPrincipalName}/events/{id}/cancel
イベントを更新します。
: 要求本文で更新するイベントの詳細を指定します。
PATCH /users/{id | userPrincipalName}/events/{id}
イベントを受け入れます。 POST /users/{id | userPrincipalName}/events/{id}/accept
イベントを仮承諾します。 POST /users/{id | userPrincipalName}/events/{id}/tentativelyAccept
イベントを拒否します。 POST /users/{id | userPrincipalName}/events/{id}/decline
イベントリマインダーを無視します。 POST /users/{id | userPrincipalName}/events/{id}/dismissReminder
イベントリマインダーをスヌーズします。 POST /users/{id | userPrincipalName}/events/{id}/snoozeReminder

イベント メッセージの操作

eventMessage リソースは、会議出席依頼、キャンセル、応答を表す抽象型です。 応答は、メッセージ受信者が要求を受け入れる、仮に受け入れる、または拒否したときに生成されます。 eventMessageRequesteventMessageResponse を処理すると、そのライフサイクルを通じてイベントが移動します。 Calendar API のメッセージング API では、MIME コンテンツと JSON コンテンツの両方がサポートされています。

次の表に、一般的なイベント メッセージのユース ケースと、それらを操作するための API を示します。

ユース ケース 動詞 URL の例
既存の下書きメッセージを送信します。 POST /users/{id | userPrincipalName}/messages/{id}/send
下書き返信を作成します。 POST /users/{id | userPrincipalName}/messages/{id}/createReply
イベント メッセージに返信します。 POST /users/{id | userPrincipalName}/messages/{id}/reply
下書き返信すべてのメッセージを作成します。 POST /users/{id | userPrincipalName}/messages/{id}/createReplyAll
イベント メッセージ内のすべてのユーザーに返信します。 POST /users/{id | userPrincipalName}/messages/{id}/replyAll
下書きを前方に作成します。 POST /users/{id | userPrincipalName}/messages/{id}/createForward
イベント メッセージを転送します。 POST /users/{id | userPrincipalName}/messages/{id}/forward

添付ファイルの追加と削除

抽象 添付ファイル の種類は、イベント、メッセージ、および投稿に添付されるファイル、項目、および参照のベースとして機能します。 たとえば、List attachments メソッドを使用して、イベントの 添付ファイルを 表示できます。 添付ファイルを削除するには、 添付ファイルの削除 メソッドを使用します。 グループ予定表のイベントでは、添付ファイルはサポートされていません。

添付ファイルの種類

fileAttachmentitemAttachmentreferenceAttatchment 型は、予定表アイテムに添付できる 3 種類の項目を表します。 itemAttachment オブジェクトは、ユーザー イベント、メッセージ、または投稿に直接接続される連絡先、イベント、またはメッセージを表します。 fileAttachment は、直接接続されているファイルを表します。 referenceAttachment は、職場または学校のクラウド ドライブまたはその他のサポートされているストレージの場所の OneDrive 上にある、Wordドキュメントやテキスト ファイルなどの項目を表します。 たとえば、 イベントのすべての添付ファイルを表示するには、 GET /users/{id | userPrincipalName}/events/{id}/attachments エンドポイントを 使用します。

添付ファイルのアップロード

添付ファイルの追加メソッドを使用して、3 MB 未満のサイズの 添付ファイル をユーザーのイベントに直接アップロードできます。 ただし、3 MB を超える添付ファイルの場合は、 createUploadSession メソッドを使用して、添付ファイルを反復的にアップロードするために使用するアップロード URL を取得する必要があります。

予定表、予定表グループ、Outlook カテゴリを操作する

Calendar API を使用すると、予定表の作成、読み取り、更新、削除、予定表イベントの作成と表示、ユーザーの空き時間情報の取得、推奨される会議時間の検索を行うことができます。

Calendar API には、予定表と予定表グループを操作するためのメソッドが用意されています。 次の表は、選択した URL のユース ケースを示しています。

: 次の表に示すメソッドの多くは、関連するユース ケース用の他の URL を持っています。 たとえば、特定の予定表グループ内のユーザーの予定表を更新するには、URL /users/{id | userPrincipalName}/calendarGroups/{id}/calendars/{id}を使用して PATCH 操作を送信します。

ユース ケース 動詞 URL の例
ユーザーの予定表を一覧表示します。 GET /users/{id | userPrincipalName}/calendars
グループ内のユーザーの予定表を一覧表示します。 GET /users/{id | userPrincipalName}/calendarGroups/{calendarGroupId}/calendars
予定表を作成します。 POST /users/{id | userPrincipalName}/calendars
予定表を取得します。 GET /users/{id | userPrincipalName}/calendars/{id}
予定表を更新します。 PATCH /users/{id | userPrincipalName}/calendars/{id}
予定表を削除します。 DELETE /users/{id | userPrincipalName}/calendars/{id}
予定表グループを作成します。 POST /users/{id | userPrincipalName}/calendarGroups
予定表グループを取得します。 GET /users/{id | userPrincipalName}/calendarGroups/{id}
予定表グループを更新します。 PATCH /users/{id | userPrincipalName}/calendarGroups/{id}
予定表グループを削除します。 DELETE /users/{id | userPrincipalName}/calendarGroups/{id}

空き時間情報と会議時間

予定表の主要な機能の 2 つは、会議をスケジュールするために空き時間情報を検索し、会議時間を見つけることです。 Calendar API には、一定期間の scheduleInformation オブジェクトのコレクションと、ユーザー、リソース、または配布リストのコレクションを返す空き時間情報の取得スケジュール メソッドが用意されています。 この情報をユーザーに提示すると、会議をスケジュールする適切な時刻を手動で選択できます。 ユーザー: findMeetingTimes メソッドを使用して、送信した参加者の会議時間と制約の提案に関する詳細情報を表す meetingTimeSuggestion オブジェクトのコレクションを含む meetingTimeSuggestionResult を取得します。

Outlook カテゴリ

予定表カテゴリは、説明と categoryColor の組み合わせで、Outlook アイテムのカテゴリを定義し、Outlook によるアイテムの表示方法を制御します。 Outlook ユーザーは、メッセージやイベントをカテゴリ別にグループ化できます。 詳細については、「 outlookCategory」を参照してください。

予定表のアクセス許可

ユーザーが Outlook クライアント内から他のユーザーと予定表を共有する場合、受信者が表示または編集できる予定表アイテムを制御できます。 calendarPermissions リレーションシップには、ユーザーが予定表を共有したすべてのユーザーのアクセス許可が含まれています。 この関係を使用すると、たとえば、所有者の空き時間情報を表示したり、すべての予定表情報を表示したり、予定表のイベントを編集したりできるユーザーを確認できます。

開いている拡張機能と拡張プロパティを操作する

オープン拡張機能 (旧称 Office 365 データ拡張機能) は、ユーザーのメールボックス内のリソースのカスタム データを格納およびアクセスするための推奨される方法を表します。 Microsoft Graph API メタデータで Outlook MAPI プロパティを使用できない場合は、Outlook の拡張プロパティにフォールバックできます。 詳細については、「 Outlook の拡張プロパティの概要」を参照してください。

次の手順

Microsoft Graph の Calendar API を使用すると、予定表データを使用してさまざまなエクスペリエンスを構築できます。 詳細情報

  • 特定のシナリオに役立つ、メソッドとリソースのプロパティを詳しく調べます。
  • Graph エクスプローラーで API をお試しください。