Outlook 予定表 REST API のリファレンス (バージョン 2.0)
適用対象: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com
予定表 API は、Office 365 の Azure Active Directory によって保護されているイベント、予定表、および予定表グループ データへのアクセス、および特にこれらのドメイン内の Microsoft アカウントの類似したデータへのアクセスを提供します。Hotmail.com、Live.com、MSN.com、Outlook.com、および Passport.com。
注意
- 例外は、会議の日時を検索する API です。これは Microsoft アカウントではなく、Office 365 のメールボックス (Azure AD 上) にのみ適用されます。
- リファレンスをわかりやすくするため、この記事の残りの部分では、これらの Microsoft アカウント ドメインを含めるために Outlook.com を使用します。
API v2.0 が不要ですか? 左の目次で、[Office 365 REST API リファレンス] セクションに移動し、使用したいバージョンを選択します。
イベントはユーザーの予定表にある予定または会議を表します。イベントには、シリーズ マスター (定期的なイベントの場合)、発生、単一インスタンス、または例外を指定できます。
- イベントを取得する
- 同期イベント
- 会議の日時を検索する
- イベントを作成する
- イベントを更新する
- イベントに応答する
- イベントを削除する
- 添付ファイルの取得
- 添付ファイルを作成する
- 添付ファイルを削除する
- 添付ファイルを削除する
- アラームを再通知する
- アラームを消す
予定表は、イベントのコンテナーの役割をします。ユーザーは複数の予定表を持つことができます。Office 365 では、各予定表は予定表グループに割り当てることができます。
予定表グループは、複数の予定表を整理する方法です。ユーザーは、複数の予定表を Outlook または Outlook Web App 内の 1 つの予定表グループに追加できます。これにより、ユーザーはグループ内のすべての予定表を素早く簡単に表示できます。
注意
Outlook.com によってサポートされるのは、../me/calendars
ショートカットでアクセス可能な既定の予定表グループのみです。 その予定表グループの削除、または別の予定表グループの作成はできません。
他の Outlook REST API と同様に、予定表 API へのすべての要求に対して、有効なアクセス トークンを含める必要があります。 アクセス トークンを取得するには、アプリを登録して識別し、適切な承認を取得する必要があります。
効率化された登録と承認のオプションに関する詳細情報を参照してください。 予定表 API で特定の操作を続行する際には、この点に留意してください。
Office 365 と Outlook.com の予定表は、共有をサポートします。予定表を作成したユーザーは、他のユーザーと予定表を共有できます。そのユーザーと共有されている予定表にアクセスするには次の範囲が必要です:
- 読 み 取 り ア ク セ ス の 場合:
https://outlook.office.com/calendars.read.shared
- 読 み 取 り / 書 き 込 み ア ク セ ス の 場合:
https://outlook.office.com/calendars.readwrite.shared
予定表 REST API は、すべてのバージョンの Outlook REST API でサポートされています。機能は、特定のバージョンによって異なる場合があります。
予定表 API 要求は、常に現在のユーザーのために実行されます。
Outlook REST API のすべてのサブセットに共通な情報について詳しくは、「Outlook REST API の使用」を参照してください。
イベント コレクションまたはイベントを取得します。
イベント本文は、テキストまたは HTML のいずれかにできます。
ヘッダーを使用して、GET 要求の Body プロパティで返される目的の形式を指定できます。Prefer: outlook.body-content-type
- テキスト形式で返されるイベント本文を取得するには、
Prefer: outlook.body-content-type="text"
を指定します。 - HTML 形式でイベント本文を返すには、
Prefer: outlook.body-content-type="html"
を指定するか、単にヘッダーをスキップします。
いずれかのヘッダーを指定すると、応答には対応する Preference-Applied
ヘッダーが確認として含まれます。
- テキスト形式要求の場合:
Preference-Applied: outlook.body-content-type="text"
- HTML 形式要求の場合:
Preference-Applied: outlook.body-content-type="html"
予定表イベントを取得するすべての操作では、Prefer: outlook.timezone HTTP ヘッダーを使用して、応答の開始時刻と終了時刻のタイムゾーンを指定できます。たとえば、次の Prefer: outlook.timezone ヘッダーは、応答の開始時刻と終了時刻を東部標準時に設定します。
Prefer: outlook.timezone="Eastern Standard Time"
Prefer: outlook.timezone ヘッダーを指定しない場合は、応答の開始時刻と終了時刻は UTC で返されます。サポートされているタイム ゾーン名については、この一覧をご参照ください。
_イベント_リソース上で OriginalStartTimeZone プロパティと OriginalEndTimeZone プロパティを使用して、イベント作成時に使用されたタイム ゾーンを検索することができます。
以下のいずれか:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts _ calendars
ユーザーの標準として設定されている予定表 (../me/calendarview
) または別の予定表から、時間範囲で定義した予定表ビューのイベントの発生、例外、および単一インスタンスを取得します。
GET https://outlook.office.com/api/v2.0/me/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
GET https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
必須パラメーター | 型 | 説明 |
---|---|---|
ヘッダー パラメータ | ||
希望する値: | outlook.timezone | 応答内のイベントに対する既定のタイム ゾーン。 |
URL パ ラ メ ー タ | ||
calendar_id | 文字列 | 予定表 ID (特定の予定表から予定表ビューを取得している場合)。 |
start_datetime | datetimeoffset | イベントが開始する日時。 |
end_datetime | datetimeoffset | イベントが終了する日時。 |
Prefer: outlook.timezone ヘッダーを使用して、応答内イベントの開始時刻と終了時刻に使用するタイム ゾーンを指定します。 イベントが別のタイム ゾーンで作成された場合は、開始時刻と終了時刻は指定したタイム ゾーンに合わせて調整されます。
サポートされているタイム ゾーン名については、この一覧を参照してください。 Prefer: outlook.timezone ヘッダーを指定しない場合は、開始時刻と終了時刻は UTC で返されます。
注意
既定では、応答内の各イベントにそのプロパティがすべて含まれます。 最適なパフォーマンスを得るために必要なプロパティのみを指定する場合は、$select
を使用します。 Id プロパティは常に返されます。 パラメーターのフィルタリング、並べ替え、およびページングについては、「OData クエリ パラメーター」を参照してください。
例として、各イベントの Subject プロパティのみを返す 10 月の月間予定表ビューを取得します。Prefer: outlook.timezone ヘッダーが要求に含まれていないと想定すると、タイム ゾーンは UTC になります。
GET https://outlook.office.com/api/v2.0/me/calendarview?startDateTime=2014-10-01T01:00:00&endDateTime=2014-10-31T23:00:00&$select=Subject
指定した時間範囲で展開されたイベント。
以下のいずれか:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts _ calendars
シリーズ マスターと単一インスタンス イベントのコレクションを、ユーザーの標準として設定されている予定表 (../me/events
) または別の予定表から取得します。拡張イベントのインスタンスを取得するには、予定表ビューを取得する、またはイベントのインスタンスを取得することができます。
GET https://outlook.office.com/api/v2.0/me/events
GET https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}/events
必須パラメーター | 型 | 説明 |
---|---|---|
ヘッダー パラメータ | ||
希望する値: | outlook.timezone | 応答内のイベントに対する既定のタイム ゾーン。 |
URL パ ラ メ ー タ | ||
calendar_id | 文字列 | 予定表 ID (特定の予定表からイベントを取得している場合)。 |
Prefer: outlook.timezone ヘッダーを使用して、応答内イベントの開始時刻と終了時刻に使用するタイム ゾーンを指定します。 イベントが別のタイム ゾーンで作成された場合は、開始時刻と終了時刻は指定したタイム ゾーンに合わせて調整されます。
サポートされているタイム ゾーン名については、この一覧を参照してください。 Prefer: outlook.timezone ヘッダーを指定しない場合は、開始時刻と終了時刻は UTC で返されます。
注意
応答内の各イベントにそのプロパティがすべて含まれます。 最適なパフォーマンスを得るために必要なプロパティのみを指定する場合は、$select
を使用します。 Id プロパティは常に返されます。 次の例を参照してください。 パラメーターのフィルタリング、並べ替え、およびページングについては、「OData クエリ パラメーター」を参照してください。
次の例は、$select
を使用して、応答内で各イベントの Subject、Organizer、Start、および End プロパティのみを返すように指定する方法を示します。 $select
を使用しない場合にイベントに返されるプロパティの完全な一覧については、「イベントを取得する (REST)」の最初の応答サンプルをご覧ください。
GET https://outlook.office.com/api/v2.0/me/events?$select=Subject,Organizer,Start,End
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events(Subject,Organizer,Start,End)",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI28tEyDAAA=')",
"@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAA/LpDWw==\"",
"Id": "AAMkAGI28tEyDAAA=",
"Subject": "Scrum",
"Start": {
"DateTime": "2015-11-02T17:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2015-11-02T17:30:00",
"TimeZone": "Pacific Standard Time"
},
"Organizer": {
"EmailAddress": {
"Name": "user0TestUser",
"Address": "user0@a830edad9050849NDA1.onmicrosoft.com"
}
}
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI28tEyCAAA=')",
"@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAA/LpDWg==\"",
"Id": "AAMkAGI28tEyCAAA=",
"Subject": "team lunch",
"Start": {
"DateTime": "2015-11-02T00:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2015-11-03T00:00:00",
"TimeZone": "Pacific Standard Time"
},
"Organizer": {
"EmailAddress": {
"Name": "user0TestUser",
"Address": "user0@a830edad9050849NDA1.onmicrosoft.com"
}
}
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2ADTG93AAA=')",
"@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x49w==\"",
"Id": "AAMkAGI2G93AAA=",
"Subject": "Weekly Meeting on Contoso Project",
"Start": {
"DateTime": "2014-10-13T21:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-10-13T22:00:00",
"TimeZone": "Pacific Standard Time"
},
"Organizer": {
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG92AAA=')",
"@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x49g==\"",
"Id": "AAMkAGI2TG92AAA=",
"Subject": "Daily Team Meeting",
"Start": {
"DateTime": "2014-10-13T18:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-10-13T18:30:00",
"TimeZone": "Pacific Standard Time"
},
"Organizer": {
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG91AAA=')",
"@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x47Q==\"",
"Id": "AAMkAGI2TG91AAA=",
"Subject": "Rob:Alex 1:1",
"Start": {
"DateTime": "2014-10-15T16:30:00",
"TimeZone": "Pacific Standard Time"
},
"End": "2014-10-15T17:30:00Z",
"Organizer": {
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG90AAA=')",
"@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x46g==\"",
"Id": "AAMkAGI2TG90AAA=",
"Subject": "Thanksgiving Holiday",
"Start": {
"DateTime": "2015-11-26T00:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2015-11-27T00:00:00",
"TimeZone": "Pacific Standard Time"
},
"Organizer": {
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9zAAA=')",
"@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x46Q==\"",
"Id": "AAMkAGI2TG9zAAA=",
"Subject": "Thanksgiving Holiday",
"Start": {
"DateTime": "2014-11-27T00:00:00"
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-11-28T00:00:00",
"TimeZone": "Pacific Standard Time"
},
"Organizer": {
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9yAAA=')",
"@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x49Q==\"",
"Id": "AAMkAGI2TG9yAAA=",
"Subject": "New Year's Day Holiday",
"Start": {
"DateTime": "2015-01-01T00:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2015-01-02T00:00:00",
"TimeZone": "Pacific Standard Time"
},
"Organizer": {
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
"@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x45w==\"",
"Id": "AAMkAGI2TG9xAAA=",
"Subject": "Christmas Holiday",
"Start": {
"DateTime": "2014-12-25T00:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-12-26T00:00:00",
"TimeZone": "Pacific Standard Time"
},
"Organizer": {
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
}
]
}
以下のいずれか:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts _ calendars
指定した時間範囲のイベントのインスタンス (発生) を取得できます。イベントが SeriesMaster タイプである場合、これは指定した時間範囲内のイベントの発生と例外を返します。
GET https://outlook.office.com/api/v2.0/me/events/{event_id}/instances?startDateTime={start_datetime}&endDateTime={end_datetime}
必須パラメーター | 型 | 説明 |
---|---|---|
ヘッダー パラメータ | ||
希望する値: | outlook.timezone | 応答内のイベントに対する既定のタイム ゾーン。 |
URL パ ラ メ ー タ | ||
event_id | 文字列 | イベント ID。 |
start_datetime | datetimeoffset | イベントが開始する UTC 日時。 |
end_datetime | datetimeoffset | イベントが終了する UTC 日時。 |
Prefer: outlook.timezone ヘッダーを使用して、応答内イベントの開始時刻と終了時刻に使用するタイム ゾーンを指定します。 イベントが別のタイム ゾーンで作成された場合は、開始時刻と終了時刻は指定したタイム ゾーンに合わせて調整されます。
サポートされているタイム ゾーン名については、この一覧を参照してください。 Prefer: outlook.timezone ヘッダーを指定しない場合は、開始時刻と終了時刻は UTC で返されます。
要求されたイベント コレクション。
注意
既定では、応答内の各イベントにそのプロパティがすべて含まれます。 最適なパフォーマンスを得るために必要なプロパティのみを指定する場合は、$select
を使用します。 Id プロパティは常に返されます。 パラメーターのフィルタリング、並べ替え、およびページングについては、「OData クエリ パラメーター」を参照してください。
たとえば、10 月の特定のイベントのインスタンスを取得します。これには、各インスタンスの Subject、Start、および End プロパティのみが含まれます。
GET https://outlook.office.com/api/v2.0/me/events/AAMkAGE0MGM1Y2M5LWEAAA=/instances?startDateTime=2014-10-01T01:00:00Z&endDateTime=2014-10-31T23:00:00Z&$select=Subject,Start,End
以下のいずれか:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts _ calendars
ID でイベントを取得します。
GET https://outlook.office.com/api/v2.0/me/events/{event_id}
必須パラメーター | 型 | 説明 |
---|---|---|
ヘッダー パラメータ | ||
希望する値: | outlook.timezone | 応答内のイベントに対する既定のタイム ゾーン。 |
URL パ ラ メ ー タ | ||
event_id | 文字列 | イベント ID。 |
Prefer: outlook.timezone ヘッダーを使用して、応答内イベントの開始時刻と終了時刻に使用するタイム ゾーンを指定します。 イベントが別のタイム ゾーンで作成された場合は、開始時刻と終了時刻は指定したタイム ゾーンに合わせて調整されます。
サポートされているタイム ゾーン名については、この一覧を参照してください。 Prefer: outlook.timezone ヘッダーを指定しない場合は、開始時刻と終了時刻は UTC で返されます。
GET https://outlook.office.com/api/v2.0/me/events/AAMkAGI2TG93AAA=
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG93AAA=')",
"@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x48w==\"",
"Id": "AAMkAGI2TG93AAA=",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x48w==",
"Categories": [],
"CreatedDateTime": "2014-10-19T23:13:47.3959685Z",
"LastModifiedDateTime": "2014-10-19T23:13:47.6772234Z",
"Subject": "Weekly Meeting on Contoso Project",
"BodyPreview": "Setting up some time to review the budget and planning on the Contoso Project",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nSetting up some time to review the budget and planning on the Contoso Project\r\n</body>\r\n</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": false,
"Start": {
"DateTime": "2014-10-13T21:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-10-13T22:00:00",
"TimeZone": ""Pacific Standard Time"
},
"Location": {
"DisplayName": "Alex's Office",
"Address": null
},
"ShowAs": "Busy",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"ResponseRequested": true,
"Type": "SeriesMaster",
"SeriesMasterId": null,
"Attendees": [
{
"EmailAddress": {
"Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Janet Schorr"
},
"Status": {
"Response": "None",
"Time": "0001-01-01T00:00:00Z"
},
"Type": "Required"
},
{
"EmailAddress": {
"Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Pavel Bansky"
},
"Status": {
"Response": "None",
"Time": "0001-01-01T00:00:00Z"
},
"Type": "Required"
}
],
"Recurrence": {
"Pattern": {
"Type": "Weekly",
"Interval": 1,
"Month": 0,
"Index": "First",
"FirstDayOfWeek": "Sunday",
"DayOfMonth": 0,
"DaysOfWeek": [
"Monday"
]
},
"RecurrenceTimeZone": "Pacific Standard Time",
"Range": {
"Type": "NoEnd",
"StartDate": "2014-10-13",
"EndDate": "2014-11-13",
"NumberOfOccurrences": 0
}
},
"OriginalEndTimeZone": "Pacific Standard Time",
"OriginalStartTimeZone": "Pacific Standard Time",
"Organizer": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
},
"OnlineMeetingUrl": null
}
}
要求されたイベント。
注意
既定では、応答にはイベントのすべてのプロパティが含まれます。 最適なパフォーマンスを得るために必要なプロパティのみを指定する場合は、$select
を使用します。 Id プロパティは常に返されます。 パラメーターのフィルタリング、並べ替え、およびページングについては、「OData クエリ パラメーター」を参照してください。
次の例は、$select
を使用して、イベントの Subject、Organizer、Start、および End プロパティのみを返すように指定する方法を示しています。
GET https://outlook.office.com/api/v2.0/me/events/AAMkAGI2TG93AAA=?$select=Subject,Organizer,Start,End
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG93AAA=')",
"@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x48w==\"",
"Id": "AAMkAGI2TG93AAA=",
"Subject": "Weekly Meeting on Contoso Project",
"Start": {
"DateTime": "2014-10-13T21:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-10-13T22:00:00",
"TimeZone": ""Pacific Standard Time"
},
"Organizer": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
}
}
以下のいずれか:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts _ calendars
ユーザーの標準として設定されている予定表 (../me/calendarview
) または別の予定表から、指定した時間範囲の新規、更新済み、または削除済みのイベントを同期して取得します。このような一連の時間範囲内のイベントは予定表ビューとも呼ばれます。返されるイベントには、定期的なアイテムの発生と例外、および単一のインスタンスが含まれている場合があります。
予定表ビューの同期には、通常、それぞれが GET 呼び出しである 2 つ以上の同期要求のラウンドが必要です。予定表ビューを同期するには、予定表ビューを取得する場合とほぼ同じ方法で GET メソッドを使用します。ただし、特定の要求ヘッダー、および必要に応じて deltaToken または skipToken を含める必要があります。
以前の同期要求から返される
skipToken
を含む同期要求を除き、すべての同期要求で "Prefer: odata.track-changes" ヘッダーを指定する必要があります。最初の応答で Preference-Applied: odata.track-changes ヘッダーを探して、リソースが同期をサポートすることを確認してから、先に進みます。(skipToken
に関する詳細については、以下のサンプルの 2 番目の応答データを参照)。"Prefer: odata.maxpagesize={x}" ヘッダーを指定して、同期要求が返すイベントの最大数を示すことができます。
予定表ビューのイベント同期の一般的なラウンドは次のとおりです。
必須の Prefer: odata.track-changes ヘッダーを指定して最初の GET 要求を行います。同期要求に対する最初の応答では、常に deltaToken が返されます。(2 番目以降の GET 要求は、前の応答で受信した deltaToken または skipToken のいずれかを含むため、最初の GET 要求とは異なります。)
最初の応答が Preference-Applied: odata.track-changes ヘッダーを返した場合は、同期を進めることができます。
2 番目 GET 要求を行います。最初の GET 要求から返された Prefer: odata.track-changes ヘッダーと deltaToken を指定して、追加のイベントがあるかどうかを調べます。2 番目の要求では、追加のイベントと、skipToken (さらにイベントがある場合) と deltaToken (最後のイベントが同期された場合。この場合は停止できます) のどちらか一方が返されます。
前の呼び出しから返された skipToken を指定して GET 呼び出しを送信することで、同期を続けます。@odata.deltaLink ヘッダーと再び deltaToken (同期が完了したことを示します) が含まれる最後の応答を受け取ると、停止します。
同期のラウンドにおける最初とそれ以降の呼び出しの構文を見てみましょう。
最初の要求:
GET https://outlook.office.com/api/v2.0/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
2 番目の要求、またはそれ以降のラウンドの最初の要求:
GET https://outlook.office.com/api/v2.0/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$deltatoken={delta_token}
同じラウンドの 3 番目またはそれ以降の要求:
GET https://outlook.office.com/api/v2.0/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$skiptoken={skip_token}
最初の要求:
GET https://outlook.office.com/api/v2.0/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
2 番目の要求、またはそれ以降のラウンドの最初の要求:
GET https://outlook.office.com/api/v2.0/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$deltatoken={delta_token}
同じラウンドの 3 番目またはそれ以降の要求:
GET https://outlook.office.com/api/v2.0/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$skiptoken={skip_token}
パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
user_context | 文字列 | ユーザー コンテキスト。現在のユーザーのコンテキストを示すには、値 "me" を使用できます。また、users/{upn} の形式も使用できます。upn はユーザー プリンシパル名であり、通常はユーザーの電子メール アドレスです。 |
calendar_id | 文字列 | 予定表 ID (特定の予定表から予定表ビューを取得している場合)。 |
start_datetime | datetimeoffset | イベントが開始する日時。 |
end_datetime | datetimeoffset | イベントが終了する日時。 |
delta_token | 文字列 | 以前の同期の応答で、@odata.deltaLink の値の一部として返される deltaToken 文字列。 |
skip_token | 文字列 | 以前の同期の応答で、@odata.nextLink の値の一部として返される skipToken 文字列。 |
注意
- 最初の要求で "Prefer: odata.track-changes" を指定する際に、応答が同期をサポートしている場合は、応答のヘッダーに "Preference-applied: odata.track-changes" が含まれます。
- サポートされていないリソースを同期しようとするか、またはこれが最初の同期要求でない場合は、応答のヘッダーに "Preference-applied" は表示されません。
- クエリ パラメーター startdatetime と enddatetime を変更することで、変更タイム ウィンドウを変更できます。
- 応答内の各イベントにそのプロパティがすべて含まれます。
- 定期的なアイテムの場合、同期応答には、定期的なマスターおよび例外イベントのイベント全体が返されます。
- 定期的なアイテムのインスタンスは省略されて、Start および End のプロパティのみが含まれます。残りの発生イベント情報は定期的なマスター イベントから取得できます。参照情報については、「イベント リソース」をご覧ください。
$filter
、$count
、$select
、$skip
、$top
、および$search
クエリ パラメーターは使用できません。
指定した時間範囲の展開されたイベントと省略されたイベント。
ユーザーの既定の予定表を同期する最初と 2 番目の同期要求の例を次に示します。各要求では、一度に 1 つの完全なイベントのみを返すように指定されています。
- 最初の応答は、1 つのイベント、
deltaLink
およびdeltaToken
を返します。 - 2 番目の要求では、その
deltatoken
を使用します。2 番目の応答は、1 つのイベント、nextLink
およびskipToken
を返します。
同期を完了するには、同期応答が deltaLink
と deltaToken
を返すまで、以前の同期要求から返された skipToken
を使用します。この場合、このラウンドの同期は完了します。次のラウンドの同期のために deltaToken
を保存します。
詳細については、「Outlook 予定表ビューでイベントを同期する」を参照してください。
最初の要求のサンプル
GET https://outlook.office.com/api/v2.0/me/calendarview?startdatetime=2015-01-01T00:00:00Z&enddatetime=2015-04-10T00:00:00Z HTTP/1.1
Authorization: Bearer <token>
Prefer: odata.track-changes
Prefer: odata.maxpagesize=1
最初の応答データのサンプル
Preference-Applied: odata.track-changes
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarView",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('user0@contoso.com')/Events('asdas==')",
"@odata.etag": "W/\"L8Z+4Y4u7k+97uRKg==\"",
"Id": "AQMkANJAAAAA==",
"ChangeKey": "L8Z+AAAAARKg==",
"Categories": [
],
"DateTimeCreated": "2015-04-10T17:54:49.2725912Z",
"DateTimeLastModified": "2015-04-10T17:54:49.3038538Z",
"Subject": "Discuss the Calendar REST API",
"BodyPreview": "I think it will meet our requirements!",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nI think it will meet our requirements!\r\n</body>\r\n</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": false,
"Start": {
"DateTime": "2015-04-05T18:00:00",
"TimeZone": "Pacific Standard Time"
}
"End": {
"DateTime": "2015-04-05T19:00:00",
"TimeZone": "Pacific Standard Time"
}
"ReminderMinutesBeforeStart": "15",
"IsReminderOn": "true",
"Location": {
"DisplayName": "",
"Address": null
},
"ResponseStatus": {
"Response": "Organizer",
"Time": "0001-01-01T00:00:00Z"
},
"ShowAs": "Busy",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"ResponseRequested": true,
"Type": "SingleInstance",
"SeriesMasterId": null,
"Attendees": [
],
"Recurrence": null,
"OriginalEndTimeZone": "Pacific Standard Time",
"OriginalStartTimeZone": "Pacific Standard Time",
"Organizer": {
"EmailAddress": {
"Address": "user0@contoso.com",
"Name": "user0"
}
},
"iCalUId": "040000008200E9888E07599CCFA23",
"WebLink": "https://outlook.office.com/owa/?ItemID=AAAINJAAAAA%3D%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
"OnlineMeetingUrl": null
}
],
"@odata.deltaLink": "https://outlook.office.com/api/v2.0/me/calendarview/?startdatetime=2015-01-01T00%3a00%3a00Z&enddatetime=2015-04-10T00%3a00%3a00Z&%24deltatoken=v2%2cH4roCAAA%3d%2c1.0%2cFalse%2cA00%2c"
}
2 番目の要求のサンプル
GET https://outlook.office.com/api/v2.0/me/calendarview?startdatetime=2015-01-01T00:00:00Z&enddatetime=2015-04-10T00:00:00Z&$deltatoken=v2%2cH4roCAAA%3d%2c1.0%2cFalse%2cA00%2c
Authorization: Bearer <token>
Prefer: odata.track-changes
Prefer: odata.maxpagesize=1
2 番目の応答データのサンプル
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarView/$delta",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('user0@contoso.com')/Events('AAMkAD0jAAA=')",
"@odata.etag": "W/\"P2fd7QAAAAAVFA==\"",
"Id": "AAMkADNkNmVlOTITVAAAAAA0jAAA=",
"ChangeKey": "P2fdmIU1QAAAAAVFA==",
"Categories": [
],
"DateTimeCreated": "2015-04-15T18:59:11.0226221Z",
"DateTimeLastModified": "2015-04-15T18:59:11.0694979Z",
"Subject": "1 hour",
"BodyPreview": "\u200b",
"Body": {
"ContentType": "HTML",
"Content": "<html><body>content</body></html>"
},
"Importance": "Normal",
"HasAttachments": false,
"Start": {
"DateTime": "2015-04-16T18:00:00",
"TimeZone": "Pacific Standard Time"
}
"End": {
"DateTime": "2015-04-16T19:00:00",
"TimeZone": Pacific Standard Time"
}
"ReminderMinutesBeforeStart": "15",
"IsReminderOn": "true",
"Location": {
"DisplayName": "",
"Address": {
"Street": "",
"City": "",
"State": "",
"CountryOrRegion": "",
"PostalCode": ""
}
},
"ResponseStatus": {
"Response": "Organizer",
"Time": "0001-01-01T00:00:00Z"
},
"ShowAs": "Busy",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"ResponseRequested": true,
"Type": "SingleInstance",
"SeriesMasterId": null,
"Attendees": [
],
"Recurrence": null,
"OriginalEndTimeZone": "Pacific Standard Time",
"OriginalStartTimeZone": "Pacific Standard Time",
"Organizer": {
"EmailAddress": {
"Address": "user0@contoso.com",
"Name": "user0"
}
},
"iCalUId": "040000008200E09BB89A316862",
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADNkNmVlOAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
"OnlineMeetingUrl": null
}
],
"@odata.nextLink": "https://outlook.office.com/api/v2.0/me/calendarview/?startdatetime=2015-01-01T00%3a00%3a00Z&enddatetime=2015-08-10T00%3a00%3a00Z&%24skipToken=530c9d02ae1a4d96804538bd4d381546"
}
以下のいずれか:
- https://outlook.office.com/calendars.read.shared
- wl.calendars
- wl.contacts _ calendars
パラメーターとして指定された開催者と出席者の空き時間、および時間または場所の制約に基づいて、会議時間の提案を検索します。
Microsoft アカウントではなく、Office 365 のメールボックス (Azure AD 上) にのみ適用されます。
POST https://outlook.office.com/api/{version}/me/findmeetingtimes
サポートされているすべてのパラメーターは以下のとおりです。シナリオに応じて、FindMeetingTimes アクションの要求本文で必要なパラメーターを指定します。
パラメーター | 型 | 説明 | 必須 |
---|---|---|---|
出席者 | コレクション(出席者ベース) | 会議の出席者またはリソース。コレクションを空にすると、FindMeetingTimes は開催者のみの空き時間帯を検索します。 | 省略可能 |
IsOrganizerOptional | Edm.Boolean | 開催者が必ずしも出席する必要がない場合は、true を指定します。既定値は false です。 |
省略可能 |
LocationConstraint | LocationConstraint | 会議の場所の提案が必要かどうか、または会議のみが開催できる特定の場所があるか、など、会議の場所に関する開催者の要件。 | 省略可能 |
MaxCandidates | Edm.Int32 | 応答で返す会議提案の最大数です。 | 省略可能 |
MeetingDuration | Edm.Duration | ISO 8601 形式 (期間) で表された会議の長さ。たとえば、PT1H は 1 時間を表します。会議の期間を指定しない場合、FindMeetingTimes は既定値の 30 分を使用します。 |
省略可能 |
MinimumAttendeePercentage | Edm.Double | 応答で返される空き時間帯に最低限要求される確度です。割合 ( %) の値 (0 から 100 まで)。 | 省略可能 |
ReturnSuggestionReasons | Edm.Boolean | SuggestionReason プロパティで各会議提案の理由を返すには、true を指定します。既定値は false であり、そのプロパティを返しません。 |
省略可能 |
TimeConstraint | TimeConstraint | 会議に時間の制限を設ける場合は、会議の性質 (ActivityDomain) と可能な会議の期間 (TimeSlots) を含めることができます。ActivityDomain パラメーターを指定しない場合、FindMeetingTimes は、このパラメーターを Work と見なします。 |
省略可能 |
FindMeetingTimes は、開催者と出席者の標準として設定されている予定表で空き時間情報を確認します。指定されたパラメーターに基づいて、このアクションは、最も適切な会議の時間を提案します。TimeConstraint パラメーターに指定できる制限について、次の表で説明します。
TimeConstraint の ActivityDomain 値 | 会議の時間の候補 |
---|---|
作業 | ユーザーの予定表の構成で定義された稼働時間 (ユーザーまたは管理者がカスタマイズできる) の範囲内で候補が提案されます。既定の稼働時間は、月曜日から金曜日の午前 8 時から午後 5 時 (メールボックスに設定されたタイム ゾーンでの時刻) です。ActivityDomain を指定しない場合、これが既定値です。 |
Personal | ユーザーの稼働時間の範囲内と、土曜日と日曜日の範囲内で候補が提案されます。既定では、月曜日から日曜日の午前 8 時から午後 5 時 (メールボックスに設定されたタイム ゾーンでの時刻) です。 |
無制限 | 任意の曜日の任意の時刻から候補が提案されます。 |
不明 | 将来的に使われなくなりますので、この値は使わないでください。現在の動作は、Work と同じです。既存のコードは、Work、Personal、または Unrestricted のうち適切な値を使うように変更してください。 |
種類が MeetingTimeSuggestion である会議提案のコレクションと EmptySuggestionsReason プロパティを含む、MeetingTimeSuggestionsResult。
各提案は、MeetingTimeSuggestion として定義され、出席者の参加の確度について、既定で 50% またはMinimumAttendeePercentage パラメーターで指定した特定の割合 (%) が付されます。
既定では、会議の日時についての各提案は UTC で返されます。Prefer: outlook.timezone
要求ヘッダーを適用して、会議の日時を別のタイム ゾーンで返すようにします。例:
Prefer: outlook.timezone="Pacific Standard Time"
FindMeetingTimes が会議提案を返すことができない場合は、応答で、EmptySuggestionsReason プロパティに理由が示されます。この値に基づいて、パラメーターをさらに調整して、FindMeetingTimes を再度呼び出すことができます。
注意
現在のところ、FindMeetingTimes は、(リソースではなく) 人である Attendee をすべて必須の出席者と見なします。そのため、attendees コレクション パラメーターの一部として、対応する type プロパティで、人に Required
を、リソースに Resource
を指定します。
以下のそれぞれの例は、FindMeetingTimes を呼び出しますが、出席者が出席可能かどうかと、時間と場所の制約が、下記のように異なります。
- 出席者と会議を開催する時間と場所を検索する
- 既知の場所で会議を開催する時間を検索し各提案の理由を取得する
- 会議を開催する時間を検索したが出席可能な出席者がいない
- 会議を開催する時間を検索したが出席可能な出席者は一部のみ
- サインイン中のユーザーのみの空き時間帯を検索する
要求本文で次のパラメーターを指定して、会議の時間と場所を検索します:
- 出席者
- TimeConstraint
- MeetingDuration
次の例では、要求されている会議時間の範囲と要求されている時間の長さに基づき、開催者と出席者の稼働時間を考慮して、会議の時間と場所を提案します。
POST https://outlook.office.com/api/v2.0/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [
{
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
}
],
"TimeConstraint": {
"ActivityDomain":"Work",
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T07:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T17:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT1H"
}
状態コード:200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions": [
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-20T10:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T11:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
{
"Attendee": {
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability": "Free"
}
],
"Locations": [
{
"DisplayName": "Tokyo conference room",
"LocationEmailAddress": "",
"LocationUri": "",
"Address": null,
"Coordinates": null
}
]
},
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-20T11:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T12:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
{
"Attendee": {
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability": "Free"
}
],
"Locations": [
{
"DisplayName": "Paris conference room",
"LocationEmailAddress": "",
"LocationUri": "",
"Address": null,
"Coordinates": null
}
]
}
],
"EmptySuggestionsReason": ""
}
要求本体で次のパラメーターを指定して、あらかじめ決められた会議を開催する時間を検索し、各提案の理由を要求します。
- 出席者
- LocationConstraint
- TimeConstraint
- MeetingDuration
- ReturnSuggestionReasons
FindMeetingTimes が任意の提案を返す場合は、ReturnSuggestionReasons パラメーターを設定することで、SuggestionReason プロパティの各提案の説明も取得できます。
POST https://outlook.office.com/api/v2.0/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [
{
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
}
],
"LocationConstraint": {
"IsRequired": "false",
"SuggestLocation": "false",
"Locations": [
{
"ResolveAvailability": "false",
"DisplayName": "Conf room Hood"
}
]
},
"TimeConstraint": {
"ActivityDomain":"Work",
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T07:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T17:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT2H",
"ReturnSuggestionReasons": "true"
}
状態コード:200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions": [
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-20T10:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T12:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
{
"Attendee": {
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability": "Free"
}
],
"Locations": [
{
"DisplayName": "Conf room Hood"
}
],
"SuggestionReason": "Suggested because it is one of the nearest times when all attendees are available."
}
],
"EmptySuggestionsReason": ""
}
要求本体で次のパラメーターを指定して、所定の場所で会議を開催する時間を検索します:
- 出席者
- LocationConstraint
- TimeConstraint
- MeetingDuration
この例では、指定したパラメーターと出席者の空き時間に基づいて、FindMeetingTimes は提案を 1 つも返すことができない代わりに EmptySuggestionsReason プロパティの理由 AttendeesUnavailable
を返します。
会議提案が 1 つも返されないことの考えられる他の理由を参照してください。
POST https://outlook.office.com/api/v2.0/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [
{
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
}
],
"LocationConstraint": {
"IsRequired": "false",
"SuggestLocation": "false",
"Locations": [
{
"ResolveAvailability": "false",
"DisplayName": "Conf room Hood"
}
]
},
"TimeConstraint": {
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T7:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T14:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT2H"
}
状態コード:200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions": [
],
"EmptySuggestionsReason": "AttendeesUnavailable"
}
要求本体で次のパラメーターを指定して、所定の場所で会議を開催する時間を検索します:
- 出席者
- LocationConstraint
- TimeConstraint
- MeetingDuration
- ReturnSuggestionReasons
- MinimumAttendeePercentage
この例では、2 人の出席者のうち 1 人だけが出席できます。 FindMeetingTimes が返すそれぞれの会議提案には、次が含まれています。
- 各出席者の空き時間情報
- 出席者の平均出席率 (%) である、会議の計算済み確度。この値が MinimumAttendeePercentage で指定した要求値 60% を満たす必要があります。
- ReturnSuggestionReasons パラメーターを設定した以降の SuggestionHint。
会議の確度についてさらに詳しい情報を参照してください。
POST https://outlook.office.com/api/v2.0/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [
{
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
},
{
"Type": "Optional",
"EmailAddress": {
"Name": "Dana",
"Address": "danas@prosewareltd.onmicrosoft.com"
}
}
],
"LocationConstraint": {
"IsRequired": "false",
"SuggestLocation": "false",
"Locations": [
{
"ResolveAvailability": "false",
"DisplayName": "Conf room Hood"
}
]
},
"TimeConstraint": {
"ActivityDomain":"Work",
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T09:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T17:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT1H",
"ReturnSuggestionReasons": "true",
"MinimumAttendeePercentage": "60"
}
状態コード:200
{
"@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions":[
{
"MeetingTimeSlot":{
"Start":{
"DateTime":"2016-05-20T10:00:00.0000000",
"TimeZone":"Pacific Standard Time"
},
"End":{
"DateTime":"2016-05-20T11:00:00.0000000",
"TimeZone":"Pacific Standard Time"
}
},
"Confidence":100.0,
"OrganizerAvailability":"Free",
"AttendeeAvailability":[
{
"Attendee":{
"Type":"Required",
"EmailAddress":{
"Name": "Fanny",
"Address":"fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability":"Free"
},
{
"Attendee":{
"Type":"Required",
"EmailAddress":{
"Name": "Dana",
"Address":"danas@prosewareltd.onmicrosoft.com"
}
},
"Availability":"Free"
}
],
"Locations":[
{
"DisplayName":"Conf room Hood"
}
],
"SuggestionReason":"Suggested because it is one of the nearest times when most attendees are available."
},
{
"MeetingTimeSlot":{
"Start":{
"DateTime":"2016-05-20T11:00:00.0000000",
"TimeZone":"Pacific Standard Time"
},
"End":{
"DateTime":"2016-05-20T12:00:00.0000000",
"TimeZone":"Pacific Standard Time"
}
},
"Confidence":74.5,
"OrganizerAvailability":"Free",
"AttendeeAvailability":[
{
"Attendee":{
"Type":"Required",
"EmailAddress":{
"Name": "Fanny",
"Address":"fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability":"Free"
},
{
"Attendee":{
"Type":"Required",
"EmailAddress":{
"Name": "Dana",
"Address":"danas@prosewareltd.onmicrosoft.com"
}
},
"Availability":"Unknown"
}
],
"Locations":[
{
"DisplayName":"Conf room Hood"
}
],
"SuggestionReason":"Suggested because it is one of the nearest times when most attendees are available."
}
],
"EmptySuggestionsReason":""
}
要求本文で次のパラメーターを指定して、日付範囲内の任意の曜日の任意の時間で、サインインしているユーザーの標準として設定されている予定表から空き時間帯を検索します。
- TimeConstraint
- MeetingDuration
この例では、TimeConstraint で指定された日付範囲内の任意の曜日の任意の時間で、サインインしているユーザーの標準として設定されている予定表から、MeetingDuration で指定されたとおりの 1 時間の空き時間帯を探します。
POST https://outlook.office.com/api/v2.0/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [],
"TimeConstraint": {
"ActivityDomain": "Unrestricted",
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T06:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-22T23:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT1H"
}
状態コード:200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions": [
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-20T06:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T07:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
],
"Locations": [
]
},
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-21T09:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-21T10:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
],
"Locations": [
]
},
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-22T19:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-22T20:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
],
"Locations": [
]
}
],
"EmptySuggestionsReason": ""
}
この機能は現在ベータ版で利用できます。 詳細を確認するには、左側の目次の [Office 365 REST API リファレンス] セクションで [ベータ版] を選択します。
以下のいずれか:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_ の更新
- wl.events_ の作成
予定表の events
エンドポイントに投稿することによって、ユーザーの標準として設定されている予定表または特定の予定表にイベントを作成します。 イベントが作成されると、サーバーはすべての出席者に招待状を送信します。
POST https://outlook.office.com/api/v2.0/me/events
POST https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}/events
必須パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
calendar_id | 文字列 | 予定表 ID。 |
POST https://outlook.office.com/api/v2.0/me/events
Content-Type: application/json
{
"Subject": "Discuss the Calendar REST API",
"Body": {
"ContentType": "HTML",
"Content": "I think it will meet our requirements!"
},
"Start": {
"DateTime": "2014-02-02T18:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-02-02T19:00:00",
"TimeZone": "Pacific Standard Time"
},
"Attendees": [
{
"EmailAddress": {
"Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Janet Schorr"
},
"Type": "Required"
}
]
}
状態コード :201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE4v1RAAA=')",
"@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeNheA==\"",
"Id": "AAMkAGE4v1RAAA=",
"ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeNheA==",
"Categories": [],
"CreatedDateTime": "2014-01-22T20:56:10.1058291Z",
"LastModifiedDateTime": "2014-01-22T20:56:10.3402186Z",
"Subject": "Discuss the Calendar REST API",
"BodyPreview": "I think it will meet our requirements!",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nI think it will meet our requirements!\r\n</body>\r\n</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": false,
"Start": {
"DateTime": "2014-02-02T18:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-02-02T19:00:00",
"TimeZone": "Pacific Standard Time"
},
"Location": {
"DisplayName": "",
"Address": null
},
"ShowAs": "Busy",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"ResponseRequested": true,
"Type": "SingleInstance",
"SeriesMasterId": null,
"Attendees": [
{
"EmailAddress": {
"Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Janet Schorr"
},
"Status": {
"Response": "None",
"Time": "0001-01-01T00:00:00Z"
},
"Type": "Required"
}
],
"Recurrence": null,
"OriginalEndTimeZone": "Pacific Standard Time",
"OriginalStartTimeZone": "Pacific Standard Time",
"Organizer": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "alexd"
}
},
"OnlineMeetingUrl": null
}
新しいイベント。
既定では、応答に新しいイベントのすべてのプロパティが含まれます。 最適なパフォーマンスを得るために必要なプロパティのみを指定する場合は、$select
を使用します。 Id プロパティは常に返されます。
以下は、応答内の新しいイベントの Start と End プロパティのみを含める例です。
POST https://outlook.office.com/api/v2.0/me/events?$Select=Start,End
以下のいずれか:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_ の更新
- wl.events_ の作成
イベントを変更します。指定したプロパティのみが変更されます。ユーザーが開催者である場合、サーバーはすべての出席者に会議の更新を送信します。
PATCH https://outlook.office.com/api/v2.0/me/events/{event_id}
必須パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
event_id | 文字列 | イベント ID。 |
要求本文に任意の書き込み可能な event プロパティを指定します。
PATCH https://outlook.office.com/api/v2.0/me/events/AAMkAGE0M4v1OAAA=
Content-Type: application/json
{
"Location": {
"DisplayName": "Your office",
"Address": null
}
}
状態コード:200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Events/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE0M4v1OAAA=')",
"@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeNheQ==\"",
"Id": "AAMkAGE0M4v1OAAA=",
"ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeNheQ==",
"Categories": [],
"CreatedDateTime": "2014-01-22T20:49:05.5657528Z",
"LastModifiedDateTime": "2014-01-22T21:14:17.4886416Z",
"Subject": "Discuss the Calendar REST API",
"BodyPreview": "I think it will meet our requirements!",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nI think it will meet our requirements!\r\n</body>\r\n</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": false,
"Start": {
"DateTime": "2014-02-02T18:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-02-02T19:00:00",
"TimeZone": "Pacific Standard Time"
},
"Location": {
"DisplayName": "Your office",
"Address": null
},
"ShowAs": "Busy",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"ResponseRequested": true,
"Type": "SingleInstance",
"SeriesMasterId": null,
"Attendees": [],
"Recurrence": null,
"OriginalEndTimeZone": "Pacific Standard Time",
"OriginalStartTimeZone": "Pacific Standard Time",
"Organizer": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "alexd"
}
},
"OnlineMeetingUrl": null
}
更新されたイベント。ユーザーが開催者である場合、サーバーはすべての出席者に会議の更新を送信します。
既定では、応答には更新されたイベントのすべてのプロパティが含まれます。 最適なパフォーマンスを得るために必要なプロパティのみを指定する場合は、$select
を使用します。 Id プロパティは常に返されます。
PATCH https://outlook.office.com/api/v2.0/me/events/AAMkAGE1MFKPQWAAA=?$select=Location
以下のいずれか:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_ の更新
- wl.events_ の作成
指定したイベントを承諾します。
POST https://outlook.office.com/api/v2.0/me/events/{event_id}/accept
パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
event_id | 文字列 | イベント ID。必須です。 |
本文パラメータ | ||
コメント | 文字列 | 応答に含まれるテキスト。省略可。 |
SendResponse | ブール値 | true 応答が開催者に送信される場合は、それ以外の場合は、false 。省略可。既定値は true です。 |
POST https://outlook.office.com/api/v2.0/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/accept
Content-Type: application/json
{
"Comment": "Great idea!",
"SendResponse": "true"
}
成功した応答は、HTTP 202 承認済みの応答コードで示されます。
以下のいずれか:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_ の更新
- wl.events_ の作成
指定したイベントを仮承諾します。
POST https://outlook.office.com/api/v2.0/me/events/{event_id}/tentativelyaccept
パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
event_id | 文字列 | イベント ID。必須です。 |
本文パラメータ | ||
コメント | 文字列 | 応答に含まれるテキスト。省略可。 |
SendResponse | ブール値 | true 応答が開催者に送信される場合は、それ以外の場合は、false 。省略可。既定値は true です。 |
POST https://outlook.office.com/api/v2.0/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/tentativelyaccept
Content-Type: application/json
{
"Comment": "I'll confirm later!",
"SendResponse": "true"
}
成功した応答は、HTTP 202 承認済みの応答コードで示されます。
以下のいずれか:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_ の更新
- wl.events_ の作成
指定したイベントへの招待を辞退します。
POST https://outlook.office.com/api/v2.0/me/events/{event_id}/decline
パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
event_id | 文字列 | イベント ID。必須です。 |
本文パラメータ | ||
コメント | 文字列 | 応答に含まれるテキスト。省略可。 |
SendResponse | ブール値 | true 応答が開催者に送信される場合は、それ以外の場合は、false 。省略可。既定値は true です。 |
POST https://outlook.office.com/api/v2.0/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/decline
Content-Type: application/json
{
"Comment": "Sorry, maybe next time!",
"SendResponse": "true"
}
成功した応答は、HTTP 202 承認済みの応答コードで示されます。
この機能は、現在ベータ版でのみ利用可能です。 詳細を確認するには、左側の目次の [Office 365 REST API リファレンス] セクションで [ベータ版] を選択します。
以下のいずれか:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_ の更新
- wl.events_ の作成
イベントをサインインしているユーザーの削除済みアイテム フォルダーに移動します。イベントが会議であり、サインインしているユーザーが開催者である場合は、サーバーはすべての出席者にキャンセルを送信します。
DELETE https://outlook.office.com/api/v2.0/me/events/{event_id}
必須パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
event_id | 文字列 | イベント ID。 |
DELETE https://outlook.office.com/api/v2.0/me/events/AAMkAGE0M4v1OAAA=
Status code: 204
この機能は、現在ベータ版でのみ利用可能です。 詳細を確認するには、左側の目次の [Office 365 REST API リファレンス] セクションで [ベータ版] を選択します。
添付ファイルのコレクションまたは添付ファイルを取得できます。
以下のいずれか:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts _ calendars
特定のイベントから添付ファイルを取得します。
注意
パラメーターのフィルタリング、並べ替え、およびページングについては、「OData クエリ パラメーター」を参照してください。
GET https://outlook.office.com/api/v2.0/me/events/{event_id}/attachments
必須パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
event_id | 文字列 | イベント ID。 |
FileAttachment または ItemAttachment の種類を使用できる添付ファイル コレクション。
GET https://outlook.office.com/api/v2.0/me/events/AAMkAGI2NGTG9yAAA=/attachments
状態コード:200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Events('AAMkAGI2NG9yAAA%3D')/Attachments",
"value": [
{
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2NGTG9yAAA=')/Attachments('AAMkAGI2NGLwydGuOzcHf1FBlo=')",
"Id": "AAMkAGI2NGLwydGuOzcHf1FBlo=",
"LastModifiedDateTime": "2014-10-22T00:30:26Z",
"Name": "Company Party.docx",
"ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"Size": 11647,
"IsInline": false,
"ContentId": null,
"ContentLocation": null,
"ContentBytes": "UEsDBBQABgAIAAAAIQDfpNJs...AAF4pAAAAAA=="
}
]
}
以下のいずれか:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts _ calendars
特定のイベントから添付ファイルを取得します。
GET https://outlook.office.com/api/v2.0/me/events/{event_id}/attachments/{attachment_id}
必須パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
event_id | 文字列 | イベント ID。 |
attachment_id | 文字列 | 添付ファイル ID。 |
注意
パラメーターのフィルタリング、並べ替え、およびページングについては、「OData クエリ パラメーター」を参照してください。
要求された添付ファイルまたはアイテムの添付ファイル。
GET https://outlook.office.com/api/v2.0/me/events/AAMkAGI2WRAAADTG9yAAA=/attachments/AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=
状態コード:200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Events('AAMkAGI2WRAAADTG9yAAA%3D')/Attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2WRAAADTG9yAAA=')/Attachments('AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=')",
"Id": "AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=",
"LastModifiedDateTime": "2014-10-22T00:30:26Z",
"Name": "Company Party.docx",
"ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"Size": 11647,
"IsInline": false,
"ContentId": null,
"ContentLocation": null,
"ContentBytes": "UEsDBBQABgAIAAAAIQD...AAF4pAAAAAA=="
}
次の例では、イベント プロパティを持つ 2 つの参照添付ファイルのインラインを取得して展開します。
GET https://outlook.office.com/api/v2.0/me/events('AAMkAGE1Mbs88AADggYEcAAA=')?$expand=attachments
状態コード:200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events/$entity",
"@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAA4KZrtA==\"",
"id": "AAMkAGE1Mbs88AADggYEcAAA=",
"createdDateTime": "2016-03-22T22:19:58.1359352Z",
"lastModifiedDateTime": "2016-03-22T22:39:09.9335289Z",
"changeKey": "mODEKWhc/Um6lA3uPm7PPAAA4KZrtA==",
"categories": [
],
"originalStartTimeZone": "Pacific Standard Time",
"originalEndTimeZone": "Pacific Standard Time",
"responseStatus": {
"response": "organizer",
"time": "0001-01-01T00:00:00Z"
},
"iCalUId": "040000008200E00074C5B7101A82E008000000005895FCF78884D10100000000000000001000000099DD7CA6BCF37C4F9F7DAACCADDD6B89",
"reminderMinutesBeforeStart": 15,
"isReminderOn": true,
"hasAttachments": true,
"subject": "Plan Easter egg hunt!",
"body": {
"contentType": "html",
"content": "<html>\r\n<body>\r\nLet's get organized for this weekend's gathering.\r\n</body>\r\n</html>\r\n"
},
"bodyPreview": "Let's get organized for this weekend's gathering.",
"importance": "normal",
"sensitivity": "normal",
"start": {
"dateTime": "2016-03-26T17:00:00.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2016-03-26T18:00:00.0000000",
"timeZone": "UTC"
},
"location": {
"displayName": "",
"locationType": "default",
"address": {
"type": "unknown"
},
"coordinates": {
}
},
"locations": [
],
"isAllDay": false,
"isCancelled": false,
"isOrganizer": true,
"recurrence": null,
"responseRequested": true,
"seriesMasterId": null,
"showAs": "busy",
"type": "singleInstance",
"attendees": [
{
"status": {
"response": "none",
"time": "0001-01-01T00:00:00Z"
},
"type": "required",
"emailAddress": {
"name": "Randi Welch",
"address": "randiw@contoso.onmicrosoft.com"
}
}
],
"organizer": {
"emailAddress": {
"name": "Dana Swope",
"address": "danas@contoso.onmicrosoft.com"
}
},
"webLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADggYEcAAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
"onlineMeetingUrl": null,
"attachments@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events('AAMkAGE1Mbs88AADggYEcAAA%3D')/attachments",
"attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=",
"lastModifiedDateTime": "2016-03-22T22:27:20Z",
"name": "Hydrangea picture",
"contentType": null,
"size": 412,
"isInline": false,
"sourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"providerType": "oneDriveBusiness",
"thumbnailUrl": null,
"previewUrl": null,
"permission": "edit",
"isFolder": false
},
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAE1rHHth7YNLlR9WsgnODy0=",
"lastModifiedDateTime": "2016-03-22T22:39:09Z",
"name": "Koala picture",
"contentType": null,
"size": 382,
"isInline": false,
"sourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
"providerType": "oneDriveBusiness",
"thumbnailUrl": null,
"previewUrl": null,
"permission": "edit",
"isFolder": false
}
]
}
次の例では、入れ子になった添付ファイル アイテムを取得します。
GET https://outlook-sdf.office.com/api/v2.0/me/events/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=$expand=Microsoft.OutlookServices.ItemAttachment/Item
Status code: 200
{
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=",
"LastModifiedDateTime": "2017-04-25T20:05:55Z",
"Name": "RE: Changes to GetConditionMetadata handler",
"ContentType": null,
"Size": 78927,
"IsInline": false,
"Item": {
"Id": "",
"Name": "How to retrieve item attachment using Outlook REST API",
"ContentType": message/rfc822,
"Size": 71094,
"IsInline": false,
"LastModifiedDateTime": "2015-09-24T05:57:59Z",
}
}
イベントの添付ファイルまたはアイテムの添付ファイルを作成できます。
以下のいずれか:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_ の更新
- wl.events_ の作成
イベントに添付ファイルを追加します。
POST https://outlook.office.com/api/v2.0/me/events/{event_id}/attachments
必須パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
event_id | 文字列 | イベント ID。 |
本文パラメータ | ||
@odata.type | 文字列 | #Microsoft.OutlookServices.FileAttachment |
名前 | 文字列 | 添付ファイルの名前。 |
ContentBytes | バイナリ | 添付するファイル。 |
新しい添付ファイル。
以下のいずれか:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_ の更新
- wl.events_ の作成
イベントにアイテムの添付ファイルを追加します。
POST https://outlook.office.com/api/v2.0/me/events/{event_id}/attachments
必須パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
event_id | 文字列 | イベント ID。 |
本文パラメータ | ||
@odata.type | 文字列 | #Microsoft.OutlookServices.ItemAttachment |
名前 | 文字列 | 添付ファイルの名前。 |
Item | Message、Event、または Contact エンティティ。 | 添付するアイテム。 |
新しいアイテムの添付ファイル。
https://outlook.office.com/calendars.readwrite
イベントに参照添付ファイルを追加します。
POST https://outlook.office.com/api/v2.0/me/events/{event_id}/attachments
必須パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
event_id | 文字列 | イベント ID。 |
本文パラメータ | ||
@odata.type | 文字列 | #Microsoft.OutlookServices.ReferenceAttachment |
名前 | 文字列 | 添付ファイルの表示名。必須。 |
SourceUrl | 文字列 | 添付ファイルの内容を取得するための URL。フォルダーへの URL の場合、Outlook または Outlook on the web 上でフォルダーが正しく表示されるには、IsFolder を true に設定します。必須。 |
要求本文に、Name と SourceUrl パラメーターおよび書き込み可能な参照添付ファイルのプロパティを指定します。
次の例では、既存のイベントに参照添付ファイルを追加します。添付ファイルは、OneDrive for Business 上のファイルへのリンクです。
POST https://outlook.office.com/api/v2.0/me/events('AAMkAGE1Mbs88AADggYEcAAA=')/attachments
Content-Type: application/json
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Name": "Hydrangea picture",
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"ProviderType": "oneDriveBusiness",
"Permission": "Edit",
"IsFolder": "False"
}
状態コード:201 Created
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events('AAMkAGE1Mbs88AADggYEcAAA%3D')/attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=",
"LastModifiedDateTime": "2016-03-22T22:27:20Z",
"Name": "Hydrangea picture",
"ContentType": null,
"Size": 412,
"IsInline": false,
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"ProviderType": "oneDriveBusiness",
"ThumbnailUrl": null,
"PreviewUrl": null,
"Permission": "edit",
"IsFolder": false
}
以下のいずれか:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_ の更新
- wl.events_ の作成
イベントの指定した添付ファイルを削除します。添付ファイルは、添付ファイルまたはアイテムの添付ファイルにすることができます。
DELETE https://outlook.office.com/api/v2.0/me/events/{event_id}/attachments/{attachment_id}
必須パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
event_id | 文字列 | イベント ID。 |
attachment_id | 文字列 | 添付ファイル ID。 |
DELETE https:/outlook.office.com/api/v2.0/me/events/AAMkAGE0MG4v1OAAA=/attachments/AAMkAGITG9yAAA=
Status code: 204
予定表から 2 つの日付と時刻の間のイベントのアラーム一覧を取得します。
以下のいずれか:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts _ calendars
GET https://outlook.office.com/api/v2.0/me/ReminderView(StartDateTime='{DateTime}',EndDateTime='{DateTime}')
必須パラメーター | 型 | 説明 |
---|---|---|
ヘッダー パラメータ | ||
希望する値: | outlook.timezone | 応答内のイベントに対する既定のタイムゾーン。 |
URL パ ラ メ ー タ | ||
StartDateTime | 文字列 | 返されるアラームの開始日と開始時刻。 |
EndDateTime | 文字列 | 返されるアラームの終了日と終了時刻。 |
Prefer: outlook.timezone ヘッダーを使用して、応答内イベントの開始時刻と終了時刻に使用するタイム ゾーンを指定します。 イベントが別のタイム ゾーンで作成された場合は、開始時刻と終了時刻は指定したタイム ゾーンに合わせて調整されます。
サポートされているタイム ゾーン名については、この一覧を参照してください。 Prefer: outlook.timezone ヘッダーが指定されない場合は、タイム ゾーンは UTC に設定されます。
アラームを再通知して、新しい時間までアラームを延期します。
以下のいずれか:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_ の更新
- wl.events_ の作成
POST https://outlook.office.com/api/v2.0/me/Events('{id}')/SnoozeReminder
必要なパラメーター | 種類 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
ID | 文字列 | イベントの ID。 |
本文パラメータ | ||
NewReminderTime | dateTimeTimeZone | アラームをトリガーする新しい日付と時刻。 |
トリガーされたアラームを消します。
以下のいずれか:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_ の更新
- wl.events_ の作成
POST https://outlook.office.com/api/v2.0/me/Events({id})/DismissReminder
必要なパラメーター | 種類 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
ID | 文字列 | イベントの ID。 |
予定表のコレクションまたは予定表を取得できます。
以下のいずれか:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts _ calendars
ユーザーのすべての予定表 (calendars
) を取得するか、または特定の予定表グループの予定表を取得します。
GET https://outlook.office.com/api/v2.0/me/calendars
GET https://outlook.office.com/api/v2.0/me/calendargroups/{calendar_group_id}/calendars
注意
パラメーターのフィルタリング、並べ替え、およびページングについては、「OData クエリ パラメーター」を参照してください。
必須パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
calender_group_id | 文字列 | 予定表グループ ID。 |
https://outlook.office.com/api/v2.0/me/calendars
状態コード:200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Calendars",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGI2TGuLAAA=')",
"Id": "AAMkAGI2TGuLAAA=",
"Name": "Calendar",
"Color": "Auto",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
"CanShare":true,
"CanViewPrivateItems":true,
"CanEdit":true,
"Owner":{
"Name":"Fanny Downs",
"Address":"fannyd@adatum.onmicrosoft.com"
}
}
]
}
以下のいずれか:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts _ calendars
ID で予定表を取得します。../me/calendar
エンドポイントを使用して、ユーザーの標準として設定されている予定表を取得できます。
GET https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}
注意
パラメーターのフィルタリング、並べ替え、およびページングについては、「OData クエリ パラメーター」を参照してください。
必須パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
calendar_id | 文字列 | 予定表 ID。 |
GET https://outlook.office.com/api/v2.0/me/calendars/AAMkAGI2TGuLAAA=
状態コード:200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Calendars/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGI2TGuLAAA=')",
"Id": "AAMkAGI2TGuLAAA=",
"Name": "Calendar",
"Color": "Auto",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
"CanShare":true,
"CanViewPrivateItems":true,
"CanEdit":true,
"Owner":{
"Name":"Fanny Downs",
"Address":"fannyd@adatum.onmicrosoft.com"
}
}
要求された予定表。
以下のいずれか:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_ の更新
- wl.events_ の作成
ショートカットを使用して既定の予定表グループに予定表を作成するか、グループの calendars
エンドポイントに投稿することによって特定の予定表グループに予定表を作成します。../me/calendars
POST https://outlook.office.com/api/v2.0/me/calendars
POST https://outlook.office.com/api/v2.0/me/calendargroups/{calendar_group_id}/calendars
必須パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
calender_group_id | 文字列 | 予定表グループ ID (特定のグループから予定表を取得している場合)。 |
本文パラメータ | ||
名前 | 文字列 | 新しい予定表の名前。 |
POST https://outlook.office.com/api/v2.0/me/calendars
Content-Type: application/json
{
"Name": "Social"
}
状態コード :201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Calendars/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGE4xLHAAA=')",
"@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SQ==\"",
"Id": "AAMkAGE4xLHAAA=",
"Name": "Social",
"ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SQ==",
"CanShare":true,
"CanViewPrivateItems":true,
"CanEdit":true,
"Owner":{
"Name":"Fanny Downs",
"Address":"fannyd@adatum.onmicrosoft.com"
}
}
新しい予定表。
以下のいずれか:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_ の更新
- wl.events_ の作成
予定表の書き込み可能なプロパティを変更します。
PATCH https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}
必須パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
calendar_id | 文字列 | 予定表 ID。 |
PATCH https://outlook.office.com/api/v2.0/me/calendars/AAMkAGE4xLIAAA=
Content-Type: application/json
{
"Name": "Social events"
}
状態コード:200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Calendars/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGE4xLIAAA=')",
"@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Sw==\"",
"Id": "AAMkAGE4xLIAAA=",
"Name": "Social events",
"ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Sw==",
"CanShare":true,
"CanViewPrivateItems":true,
"CanEdit":true,
"Owner":{
"Name":"Fanny Downs",
"Address":"fannyd@adatum.onmicrosoft.com"
}
}
更新された予定表。
以下のいずれか:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_ の更新
- wl.events_ の作成
DELETE https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}
必須パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
calendar_id | 文字列 | 予定表 ID。 |
DELETE https://outlook.office.com/api/v2.0/me/calendars/AAMkAGE4xLIAAA=
Status code: 204
予定表グループのコレクションまたは予定表グループを取得できます。
注意
Outlook.com によってサポートされるのは、../me/calendars
ショートカットでアクセス可能な既定の予定表グループのみです。
以下のいずれか:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts _ calendars
メールボックス内の予定表グループを取得します。
GET https://outlook.office.com/api/v2.0/me/calendargroups
注意
パラメーターのフィルタリング、並べ替え、およびページングについては、「OData クエリ パラメーター」を参照してください。
GET https://outlook.office.com/api/v2.0/me/calendargroups
状態コード:200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarGroups",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuKAAA=')",
"Id": "AAMkAGI2TGuKAAA=",
"Name": "My Calendars",
"ClassId": "0006f0b7-0000-0000-c000-000000000046",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+g=="
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuMAAA=')",
"Id": "AAMkAGI2TGuMAAA=",
"Name": "Other Calendars",
"ClassId": "0006f0b8-0000-0000-c000-000000000046",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0/A=="
}
]
}
要求された予定表グループのコレクション。
以下のいずれか:
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts _ calendars
ID で予定表グループを取得します。
GET https://outlook.office.com/api/v2.0/me/calendargroups/{calendar_group_id}
注意
パラメーターのフィルタリング、並べ替え、およびページングについては、「OData クエリ パラメーター」を参照してください。
必須パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
calendar_group_id | 文字列 | 予定表グループ ID。 |
GET https://outlook.office.com/api/v2.0/me/calendargroups/AAMkAGI2TGuKAAA=
状態コード:200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarGroups/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuKAAA=')",
"Id": "AAMkAGI2TGuKAAA=",
"Name": "My Calendars",
"ClassId": "0006f0b7-0000-0000-c000-000000000046",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+g=="
}
要求された予定表グループ。
予定表グループを作成します。Name は、予定表グループの唯一の書き込み可能なプロパティです。
注意
Outlook.com によってサポートされるのは、../me/calendars
ショートカットでアクセス可能な既定の予定表グループのみです。 Outlook.com で別の予定表グループを作成することはできません。
以下のいずれか:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_ の更新
- wl.events_ の作成
POST https://outlook.office.com/api/v2.0/me/calendargroups
必須パラメーター | 型 | 説明 |
---|---|---|
URL パラメータ | ||
本文パラメータ | ||
名前 | 文字列 | 予定表グループの名前。 |
POST https://outlook.office.com/api/v2.0/me/calendargroups
Content-Type: application/json
{
"Name": "Birthdays"
}
状態コード :201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarGroups/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGE0M4xLGAAA=')",
"@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Rw==\"",
"Id": "AAMkAGE0M4xLGAAA=",
"Name": "Birthdays",
"ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Rw==",
"ClassId": "4d969bba-8942-42a0-ae33-c7d4410d1e11"
}
新しい予定表グループ。
以下のいずれか:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_ の更新
- wl.events_ の作成
予定表グループの名前を変更します。Name は、唯一の書き込み可能な予定表グループのプロパティです。
PATCH https://outlook.office.com/api/v2.0/me/calendargroups/{calendar_group_id}
必須パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
calendar_group_id | 文字列 | 予定表グループ ID。 |
本文パラメータ | ||
名前 | 文字列 | 更新された予定表グループの名前。 |
PATCH https://outlook.office.com/api/v2.0/me/calendargroups/AAMkAGE0M4xLGAAA=
Content-Type: application/json
{
"Name": "Holidays"
}
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarGroups/$entity",
"@odata.id": "https://https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGE0MGM4xLGAAA=')",
"@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SA==\"",
"Id": "AAMkAGE0MGM4xLGAAA=",
"Name": "Holidays",
"ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SA==",
"ClassId": "4d969bba-8942-42a0-ae33-c7d4410d1e11"
}
更新された予定表グループ。
注意
Outlook.com によってサポートされるのは、../me/calendars
ショートカットでアクセス可能な既定の予定表グループのみです。 この予定表グループは削除しないでください。
以下のいずれか:
- https://outlook.office.com/calendars.readwrite
- wl.calendars_ の更新
- wl.events_ の作成
DELETE https://outlook.office.com/api/v2.0/me/calendargroups/{calendar_group_id}
必須パラメーター | 型 | 説明 |
---|---|---|
URL パ ラ メ ー タ | ||
calendar_group_id | 文字列 | 予定表グループ ID。 |
DELETE https://outlook.office.com/api/v2.0/me/calendargroups/AAMkAGE0MGM4xLGAAA=
Status code: 204
アプリケーション開発を開始する準備ができている方にも、単に詳しい情報を必要としている方にも、最適なコンテンツをご用意しています。
- メール、予定表、および連絡先 REST API の使用を開始します。
- サンプルについては、こちらをご覧ください。
Office 365 プラットフォームの使い方の詳細については、次のリンク先をご覧ください。