名前空間: microsoft.graph
重要
Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。
イベント オブジェクトのプロパティを更新する。
この API は、次の国内クラウド展開で使用できます。
| グローバル サービス |
米国政府機関 L4 |
米国政府機関 L5 (DOD) |
21Vianet が運営する中国 |
| ✅ |
✅ |
✅ |
✅ |
特定のプロパティを更新するための注意事項
対応するプロパティを更新する場合は、次の動作または推奨事項に注意してください。
attendees プロパティと会議の更新
- リクエスト本文に attendees プロパティのみを含むイベント更新は、変更された出席者のみに会議更新を送信します。
- 配布リストのメンバーとして指定された出席者を削除するイベント更新は、すべての出席者に会議の更新を送信します。
body プロパティとオンライン会議
オンライン会議として設定されたイベントの本文を更新する前に、必ず body プロパティを取得し、コンテンツに適切な変更を適用して、オンライン会議用に会議の BLOB を保持してください。 不注意で会議 BLOB を本文から削除すると、オンラインでの会議が無効になります。
プロパティとそのタイム ゾーンの終了と開始
イベントの開始時刻または終了時刻のタイムゾーンを更新する際に、まず、サポートされているタイム ゾーンを検索して、ユーザーのメールボックス サーバー用に構成されているタイム ゾーンのみ設定されることを確認します。
アクセス許可
この API を呼び出すには、次のいずれかのアクセス許可が必要です。 アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。
| アクセス許可の種類 |
アクセス許可 (特権の小さいものから大きいものへ) |
| 委任 (職場または学校のアカウント) |
Calendars.ReadWrite |
| 委任 (個人用 Microsoft アカウント) |
Calendars.ReadWrite |
| アプリケーション |
Calendars.ReadWrite |
HTTP 要求
PATCH /me/events/{id}
PATCH /users/{id | userPrincipalName}/events/{id}
PATCH /groups/{id}/events/{id}
PATCH /me/calendar/events/{id}
PATCH /users/{id | userPrincipalName}/calendar/events/{id}
PATCH /groups/{id}/calendar/events/{id}
PATCH /me/calendars/{id}/events/{id}
PATCH /users/{id | userPrincipalName}/calendars/{id}/events/{id}
PATCH /me/calendarGroups/{id}/calendars/{id}/events/{id}
PATCH /users/{id | userPrincipalName}/calendarGroups/{id}/calendars/{id}/events/{id}
| 名前 |
型 |
説明 |
| Authorization |
string |
ベアラー {token}。 必須です。
認証と認可についての詳細をご覧ください。 |
要求本文
要求本文で、更新する関連フィールドの値を指定します。 要求本文に含まれない既存のプロパティは、以前の値のままになるか、他のプロパティ値の変化に基づいて再計算されます。 最適なパフォーマンスを得るためには、変更されていない既存の値を含めないでください。
| プロパティ |
型 |
説明 |
| attendees |
出席者 |
イベントの出席者のコレクション。
特定のプロパティの更新に関するその他の注意事項を参照してください。 |
| body |
ItemBody |
イベントに関連付けられたメッセージの本文。
特定のプロパティの更新に関するその他の注意事項を参照してください。 |
| categories |
String collection |
イベントに関連付けられたカテゴリ。 |
| end |
DateTimeTimeZone |
イベントが終了する日付、時刻、タイムゾーン。
特定のプロパティの更新に関するその他の注意事項を参照してください。 |
| hideAttendees |
Boolean |
true に設定すると、各出席者は会議出席依頼と会議の管理リストにのみ表示されます。 既定値は false です。 |
| importance |
String |
イベントの重要度。 可能な値は low、normal、high です。 |
| isAllDay |
Boolean |
イベントが一日中続く場合に、true に設定します。 true の場合、1 日または複数日のイベントであるかどうかに関係なく、開始時刻と終了時刻を午前 0 時に設定し、同じタイムゾーンにする必要があります。 |
| isOnlineMeeting |
Boolean |
このイベントにオンライン会議情報がある場合は True、そうでない場合は false。 既定値は false です。 オプション。 |
| isReminderOn |
Boolean |
ユーザーにイベントを通知するアラートを設定する場合は、true に設定します。 |
| ___location |
場所 |
イベントの場所。 |
| locations |
Location コレクション |
イベントを開催する場所、または参加者がいる場所。
___location プロパティと locations プロパティは常に互いに一致します。
___location プロパティを更新すると、locations コレクションに含まれる既存のすべての場所が削除されて、___location の新しい値に置き換えられます。 |
| onlineMeetingProvider |
onlineMeetingProviderType |
オンライン会議のサービス プロバイダーを表します。 使用可能な値は teamsForBusiness、skypeForBusiness、および skypeForConsumer。 オプション。 |
| recurrence |
PatternedRecurrence |
イベントの繰り返しパターン。 |
| reminderMinutesBeforeStart |
Int32 |
アラーム通知を行う、イベント開始時間前の分数。 |
| responseRequested |
Boolean |
イベントが承諾または辞退されたときに、送信者が応答を要求する場合に、true に設定します。 |
| sensitivity |
String |
可能な値は、normal、personal、private、confidential です。 |
| showAs |
String |
表示するステータス。 使用可能な値は、 free 、 tentative、 busy、 oof、 workingElsewhere、 unknownです。 |
| 開始 |
DateTimeTimeZone |
イベントの開始日、時間、タイム ゾーン。
特定のプロパティの更新に関するその他の注意事項を参照してください。 |
| subject |
String |
イベントの件名行のテキスト。 |
イベント リソースは拡張機能をサポートしているため、PATCH 操作を使用して、既存のイベント インスタンスで拡張機能のカスタム プロパティにあるアプリ固有のデータを追加、更新、または削除することができます。
アップデートするイベントが複数の出席者が含まれる定期的で主要なイベントである場合、インスタンス別にそれぞれに更新され、主要な系列と更新された各インスタンスごとに複数の通知メールが送信されます。
応答
成功した場合、このメソッドは 200 OK 応答コードと、応答本文で、更新された event オブジェクトを返します。
注:この方法は、エラー コードErrorOccurrenceCrossingBoundary で HTTP 400 無効な要求の応答を返すことができます。そして、次のエラー メッセージが表示されます: 変更したアイテムが、隣接するアイテムと交差または重複しています。 定期的な予定の例外にある Outlook の制限に更新プログラムが違反していることを次のように示します: 定期的な予定を移動させる、または前回の定期的な予定をその日付より前日または後日に移動することはできません。
例
要求
次の例は要求を示しています。
PATCH https://graph.microsoft.com/beta/me/events/{id}
Content-type: application/json
{
"originalStartTimeZone": "originalStartTimeZone-value",
"originalEndTimeZone": "originalEndTimeZone-value",
"responseStatus": {
"response": "",
"time": "2016-10-19T10:37:00Z"
},
"recurrence": null,
"reminderMinutesBeforeStart": 99,
"isOnlineMeeting": true,
"onlineMeetingProvider": "teamsForBusiness",
"isReminderOn": true,
"hideAttendees": false,
"categories": ["Red category"]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new Event
{
OriginalStartTimeZone = "originalStartTimeZone-value",
OriginalEndTimeZone = "originalEndTimeZone-value",
ResponseStatus = new ResponseStatus
{
Response = ResponseType.None,
Time = DateTimeOffset.Parse("2016-10-19T10:37:00Z"),
},
Recurrence = null,
ReminderMinutesBeforeStart = 99,
IsOnlineMeeting = true,
OnlineMeetingProvider = OnlineMeetingProviderType.TeamsForBusiness,
IsReminderOn = true,
HideAttendees = false,
Categories = new List<string>
{
"Red category",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Events["{event-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewEvent()
originalStartTimeZone := "originalStartTimeZone-value"
requestBody.SetOriginalStartTimeZone(&originalStartTimeZone)
originalEndTimeZone := "originalEndTimeZone-value"
requestBody.SetOriginalEndTimeZone(&originalEndTimeZone)
responseStatus := graphmodels.NewResponseStatus()
response := graphmodels.NONE_RESPONSETYPE
responseStatus.SetResponse(&response)
time , err := time.Parse(time.RFC3339, "2016-10-19T10:37:00Z")
responseStatus.SetTime(&time)
requestBody.SetResponseStatus(responseStatus)
recurrence := null
requestBody.SetRecurrence(&recurrence)
reminderMinutesBeforeStart := int32(99)
requestBody.SetReminderMinutesBeforeStart(&reminderMinutesBeforeStart)
isOnlineMeeting := true
requestBody.SetIsOnlineMeeting(&isOnlineMeeting)
onlineMeetingProvider := graphmodels.TEAMSFORBUSINESS_ONLINEMEETINGPROVIDERTYPE
requestBody.SetOnlineMeetingProvider(&onlineMeetingProvider)
isReminderOn := true
requestBody.SetIsReminderOn(&isReminderOn)
hideAttendees := false
requestBody.SetHideAttendees(&hideAttendees)
categories := []string {
"Red category",
}
requestBody.SetCategories(categories)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
events, err := graphClient.Me().Events().ByEventId("event-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Event event = new Event();
event.setOriginalStartTimeZone("originalStartTimeZone-value");
event.setOriginalEndTimeZone("originalEndTimeZone-value");
ResponseStatus responseStatus = new ResponseStatus();
responseStatus.setResponse(ResponseType.None);
OffsetDateTime time = OffsetDateTime.parse("2016-10-19T10:37:00Z");
responseStatus.setTime(time);
event.setResponseStatus(responseStatus);
event.setRecurrence(null);
event.setReminderMinutesBeforeStart(99);
event.setIsOnlineMeeting(true);
event.setOnlineMeetingProvider(OnlineMeetingProviderType.TeamsForBusiness);
event.setIsReminderOn(true);
event.setHideAttendees(false);
LinkedList<String> categories = new LinkedList<String>();
categories.add("Red category");
event.setCategories(categories);
Event result = graphClient.me().events().byEventId("{event-id}").patch(event);
const options = {
authProvider,
};
const client = Client.init(options);
const event = {
originalStartTimeZone: 'originalStartTimeZone-value',
originalEndTimeZone: 'originalEndTimeZone-value',
responseStatus: {
response: '',
time: '2016-10-19T10:37:00Z'
},
recurrence: null,
reminderMinutesBeforeStart: 99,
isOnlineMeeting: true,
onlineMeetingProvider: 'teamsForBusiness',
isReminderOn: true,
hideAttendees: false,
categories: ['Red category']
};
await client.api('/me/events/{id}')
.version('beta')
.update(event);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Event;
use Microsoft\Graph\Beta\Generated\Models\ResponseStatus;
use Microsoft\Graph\Beta\Generated\Models\ResponseType;
use Microsoft\Graph\Beta\Generated\Models\OnlineMeetingProviderType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Event();
$requestBody->setOriginalStartTimeZone('originalStartTimeZone-value');
$requestBody->setOriginalEndTimeZone('originalEndTimeZone-value');
$responseStatus = new ResponseStatus();
$responseStatus->setResponse(new ResponseType('none'));
$responseStatus->setTime(new \DateTime('2016-10-19T10:37:00Z'));
$requestBody->setResponseStatus($responseStatus);
$requestBody->setRecurrence(null);
$requestBody->setReminderMinutesBeforeStart(99);
$requestBody->setIsOnlineMeeting(true);
$requestBody->setOnlineMeetingProvider(new OnlineMeetingProviderType('teamsForBusiness'));
$requestBody->setIsReminderOn(true);
$requestBody->setHideAttendees(false);
$requestBody->setCategories(['Red category', ]);
$result = $graphServiceClient->me()->events()->byEventId('event-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Calendar
$params = @{
originalStartTimeZone = "originalStartTimeZone-value"
originalEndTimeZone = "originalEndTimeZone-value"
responseStatus = @{
response = ""
time = [System.DateTime]::Parse("2016-10-19T10:37:00Z")
}
recurrence = $null
reminderMinutesBeforeStart = 99
isOnlineMeeting = $true
onlineMeetingProvider = "teamsForBusiness"
isReminderOn = $true
hideAttendees = $false
categories = @(
"Red category"
)
}
# A UPN can also be used as -UserId.
Update-MgBetaUserEvent -UserId $userId -EventId $eventId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.event import Event
from msgraph_beta.generated.models.response_status import ResponseStatus
from msgraph_beta.generated.models.response_type import ResponseType
from msgraph_beta.generated.models.online_meeting_provider_type import OnlineMeetingProviderType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Event(
original_start_time_zone = "originalStartTimeZone-value",
original_end_time_zone = "originalEndTimeZone-value",
response_status = ResponseStatus(
response = ResponseType.None,
time = "2016-10-19T10:37:00Z",
),
recurrence = None,
reminder_minutes_before_start = 99,
is_online_meeting = True,
online_meeting_provider = OnlineMeetingProviderType.TeamsForBusiness,
is_reminder_on = True,
hide_attendees = False,
categories = [
"Red category",
],
)
result = await graph_client.me.events.by_event_id('event-id').patch(request_body)
応答
次の例は応答を示しています。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 200 OK
Content-type: application/json
{
"originalStartTimeZone": "originalStartTimeZone-value",
"originalEndTimeZone": "originalEndTimeZone-value",
"responseStatus": {
"response": "",
"time": "2016-10-19T10:37:00Z"
},
"recurrence": null,
"iCalUId": "040000008200E00074=",
"uid": "040000008200E00074=",
"reminderMinutesBeforeStart": 99,
"isOnlineMeeting": true,
"onlineMeetingProvider": "teamsForBusiness",
"isReminderOn": true,
"hideAttendees": false,
"onlineMeeting": {
"joinUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_NzIyNzhlMGEtM2YyZC00ZmY0LTlhNzUtZmZjNWFmZGNlNzE2%40thread.v2/0?context=%7b%22Tid%22%3a%2272f988bf-86f1-41af-91ab-2d7cd011db47%22%2c%22Oid%22%3a%22bc55b173-cff6-457d-b7a1-64bda7d7581a%22%7d",
"conferenceId": "177513992",
"tollNumber": "+91 22 6241 6885"
}
}
関連コンテンツ