イベントを更新する
[アーティクル] 11/18/2023
23 人の共同作成者
フィードバック
この記事の内容
名前空間: microsoft.graph
イベント オブジェクトのプロパティを更新する。
この 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
Attendee
イベントの参加者のコレクションです。
body
ItemBody
イベントに関連付けられたメッセージの本文。
categories
String collection
イベントに関連付けられたカテゴリ。
end
DateTimeTimeZone
イベントが終了する日付、時刻、タイムゾーン。
hideAttendees
Boolean
true
に設定すると、各出席者は会議出席依頼と会議の管理 リストにのみ表示されます。 既定値は false です。
importance
String
イベントの重要度。 使用可能な値: low
、normal
、high
。
isAllDay
Boolean
イベントが一日中続く場合に、true に設定します。
isOnlineMeeting
Boolean
このイベントにオンライン会議情報がある場合は True
、そうでない場合は false
。 既定値は false です。 オプション。
isReminderOn
Boolean
ユーザーにイベントを通知するアラートを設定する場合は、true に設定します。
location
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/v1.0/me/events/{id}
Content-type: application/json
{
"originalStartTimeZone": "originalStartTimeZone-value",
"originalEndTimeZone": "originalEndTimeZone-value",
"responseStatus": {
"response": "",
"time": "datetime-value"
},
"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.Models;
var requestBody = new Event
{
OriginalStartTimeZone = "originalStartTimeZone-value",
OriginalEndTimeZone = "originalEndTimeZone-value",
ResponseStatus = new ResponseStatus
{
Response = ResponseType.None,
Time = DateTimeOffset.Parse("datetime-value"),
},
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);
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
mgc users events patch --user-id {user-id} --event-id {event-id} --body '{\
"originalStartTimeZone": "originalStartTimeZone-value",\
"originalEndTimeZone": "originalEndTimeZone-value",\
"responseStatus": {\
"response": "",\
"time": "datetime-value"\
},\
"recurrence": null,\
"reminderMinutesBeforeStart": 99,\
"isOnlineMeeting": true,\
"onlineMeetingProvider": "teamsForBusiness",\
"isReminderOn": true,\
"hideAttendees": false,\
"categories": ["Red category"]\
}\
'
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-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, "datetime-value")
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)
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
// 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("datetime-value");
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);
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
const options = {
authProvider,
};
const client = Client.init(options);
const event = {
originalStartTimeZone: 'originalStartTimeZone-value',
originalEndTimeZone: 'originalEndTimeZone-value',
responseStatus: {
response: '',
time: 'datetime-value'
},
recurrence: null,
reminderMinutesBeforeStart: 99,
isOnlineMeeting: true,
onlineMeetingProvider: 'teamsForBusiness',
isReminderOn: true,
hideAttendees: false,
categories: ['Red category']
};
await client.api('/me/events/{id}')
.update(event);
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\Event;
use Microsoft\Graph\Generated\Models\ResponseStatus;
use Microsoft\Graph\Generated\Models\ResponseType;
use Microsoft\Graph\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('datetime-value'));
$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();
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
Import-Module Microsoft.Graph.Calendar
$params = @{
originalStartTimeZone = "originalStartTimeZone-value"
originalEndTimeZone = "originalEndTimeZone-value"
responseStatus = @{
response = ""
time = [System.DateTime]::Parse("datetime-value")
}
recurrence = $null
reminderMinutesBeforeStart = 99
isOnlineMeeting = $true
onlineMeetingProvider = "teamsForBusiness"
isReminderOn = $true
hideAttendees = $false
categories = @(
"Red category"
)
}
# A UPN can also be used as -UserId.
Update-MgUserEvent -UserId $userId -EventId $eventId -BodyParameter $params
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.event import Event
from msgraph.generated.models.response_status import ResponseStatus
from msgraph.generated.models.response_type import ResponseType
from msgraph.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 = "datetime-value",
),
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)
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
応答
次の例は応答を示しています。 注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 200 OK
Content-type: application/json
{
"originalStartTimeZone": "originalStartTimeZone-value",
"originalEndTimeZone": "originalEndTimeZone-value",
"responseStatus": {
"response": "",
"time": "datetime-value"
},
"recurrence": null,
"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"
}
}
関連コンテンツ