Replace shift
-
發行項
-
- 閱讀時間 6 分鐘
-
Namespace: microsoft.graph
Replace an existing shift.
If the specified shift doesn't exist, this method returns 404 Not found
.
Permissions
One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.
Permission type |
Permissions (from least to most privileged) |
Delegated (work or school account) |
Schedule.ReadWrite.All, Group.ReadWrite.All |
Delegated (personal Microsoft account) |
Not supported. |
Application |
Schedule.ReadWrite.All |
HTTP request
PUT /teams/{teamId}/schedule/shifts/{shiftId}
Header |
Value |
Authorization |
Bearer {token}. Required. |
Content-Type |
application/json. Required. |
Request body
In the request body, supply a JSON representation of a shift object.
Response
If successful, this method returns a 200 OK
response code and a shift object in the response body.
Example
Request
The following is an example of the request.
PUT https://graph.microsoft.com/v1.0/teams/{teamId}/schedule/shifts/{shiftId}
Content-type: application/json
Prefer: return=representation
{
"id": "SHFT_577b75d2-a927-48c0-a5d1-dc984894e7b8",
"createdDateTime": "2019-03-14T04:32:51.451Z",
"lastModifiedDateTime": "2019-03-14T05:32:51.451Z",
"userId": "c5d0c76b-80c4-481c-be50-923cd8d680a1",
"schedulingGroupId": "TAG_228940ed-ff84-4e25-b129-1b395cf78be0",
"lastModifiedBy": {
"application": null,
"device": null,
"conversation": null,
"user": {
"id": "366c0b19-49b1-41b5-a03f-9f3887bd0ed8",
"displayName": "John Doe"
}
},
"sharedShift": {
"displayName": "Day shift",
"notes": "Please do inventory as part of your shift.",
"startDateTime": "2019-03-11T15:00:00Z",
"endDateTime": "2019-03-12T00:00:00Z",
"theme": "blue",
"activities": [
{
"isPaid": true,
"startDateTime": "2019-03-11T15:00:00Z",
"endDateTime": "2019-03-11T15:15:00Z",
"code": "",
"displayName": "Lunch"
}
]
},
"draftShift": {
"displayName": "Day shift",
"notes": "Please do inventory as part of your shift.",
"startDateTime": "2019-03-11T15:00:00Z",
"endDateTime": "2019-03-12T00:00:00Z",
"theme": "blue",
"activities": [
{
"isPaid": true,
"startDateTime": "2019-03-11T15:00:00Z",
"endDateTime": "2019-03-11T15:30:00Z",
"code": "",
"displayName": "Lunch"
}
]
}
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var shift = new Shift
{
Id = "SHFT_577b75d2-a927-48c0-a5d1-dc984894e7b8",
CreatedDateTime = DateTimeOffset.Parse("2019-03-14T04:32:51.451Z"),
LastModifiedDateTime = DateTimeOffset.Parse("2019-03-14T05:32:51.451Z"),
UserId = "c5d0c76b-80c4-481c-be50-923cd8d680a1",
SchedulingGroupId = "TAG_228940ed-ff84-4e25-b129-1b395cf78be0",
LastModifiedBy = new IdentitySet
{
Application = null,
Device = null,
Conversation = null,
User = new Identity
{
Id = "366c0b19-49b1-41b5-a03f-9f3887bd0ed8",
DisplayName = "John Doe"
}
},
SharedShift = new ShiftItem
{
DisplayName = "Day shift",
Notes = "Please do inventory as part of your shift.",
StartDateTime = DateTimeOffset.Parse("2019-03-11T15:00:00Z"),
EndDateTime = DateTimeOffset.Parse("2019-03-12T00:00:00Z"),
Theme = ScheduleEntityTheme.Blue,
Activities = new List<ShiftActivity>()
{
new ShiftActivity
{
IsPaid = true,
StartDateTime = DateTimeOffset.Parse("2019-03-11T15:00:00Z"),
EndDateTime = DateTimeOffset.Parse("2019-03-11T15:15:00Z"),
Code = "",
DisplayName = "Lunch"
}
}
},
DraftShift = new ShiftItem
{
DisplayName = "Day shift",
Notes = "Please do inventory as part of your shift.",
StartDateTime = DateTimeOffset.Parse("2019-03-11T15:00:00Z"),
EndDateTime = DateTimeOffset.Parse("2019-03-12T00:00:00Z"),
Theme = ScheduleEntityTheme.Blue,
Activities = new List<ShiftActivity>()
{
new ShiftActivity
{
IsPaid = true,
StartDateTime = DateTimeOffset.Parse("2019-03-11T15:00:00Z"),
EndDateTime = DateTimeOffset.Parse("2019-03-11T15:30:00Z"),
Code = "",
DisplayName = "Lunch"
}
}
}
};
await graphClient.Teams["{team-id}"].Schedule.Shifts["{shift-id}"]
.Request()
.Header("Prefer","return=representation")
.PutAsync(shift);
Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.
const options = {
authProvider,
};
const client = Client.init(options);
const shift = {
id: 'SHFT_577b75d2-a927-48c0-a5d1-dc984894e7b8',
createdDateTime: '2019-03-14T04:32:51.451Z',
lastModifiedDateTime: '2019-03-14T05:32:51.451Z',
userId: 'c5d0c76b-80c4-481c-be50-923cd8d680a1',
schedulingGroupId: 'TAG_228940ed-ff84-4e25-b129-1b395cf78be0',
lastModifiedBy: {
application: null,
device: null,
conversation: null,
user: {
id: '366c0b19-49b1-41b5-a03f-9f3887bd0ed8',
displayName: 'John Doe'
}
},
sharedShift: {
displayName: 'Day shift',
notes: 'Please do inventory as part of your shift.',
startDateTime: '2019-03-11T15:00:00Z',
endDateTime: '2019-03-12T00:00:00Z',
theme: 'blue',
activities: [
{
isPaid: true,
startDateTime: '2019-03-11T15:00:00Z',
endDateTime: '2019-03-11T15:15:00Z',
code: '',
displayName: 'Lunch'
}
]
},
draftShift: {
displayName: 'Day shift',
notes: 'Please do inventory as part of your shift.',
startDateTime: '2019-03-11T15:00:00Z',
endDateTime: '2019-03-12T00:00:00Z',
theme: 'blue',
activities: [
{
isPaid: true,
startDateTime: '2019-03-11T15:00:00Z',
endDateTime: '2019-03-11T15:30:00Z',
code: '',
displayName: 'Lunch'
}
]
}
};
await client.api('/teams/{teamId}/schedule/shifts/{shiftId}')
.put(shift);
Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/teams/{teamId}/schedule/shifts/{shiftId}"]]];
[urlRequest setHTTPMethod:@"PUT"];
[urlRequest setValue:@"return=representation" forHTTPHeaderField:@"Prefer"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphShift *shift = [[MSGraphShift alloc] init];
[shift setId:@"SHFT_577b75d2-a927-48c0-a5d1-dc984894e7b8"];
[shift setCreatedDateTime: "2019-03-14T04:32:51.451Z"];
[shift setLastModifiedDateTime: "2019-03-14T05:32:51.451Z"];
[shift setUserId:@"c5d0c76b-80c4-481c-be50-923cd8d680a1"];
[shift setSchedulingGroupId:@"TAG_228940ed-ff84-4e25-b129-1b395cf78be0"];
MSGraphIdentitySet *lastModifiedBy = [[MSGraphIdentitySet alloc] init];
[lastModifiedBy setApplication: null];
[lastModifiedBy setDevice: null];
[lastModifiedBy setConversation: null];
MSGraphIdentity *user = [[MSGraphIdentity alloc] init];
[user setId:@"366c0b19-49b1-41b5-a03f-9f3887bd0ed8"];
[user setDisplayName:@"John Doe"];
[lastModifiedBy setUser:user];
[shift setLastModifiedBy:lastModifiedBy];
MSGraphShiftItem *sharedShift = [[MSGraphShiftItem alloc] init];
[sharedShift setDisplayName:@"Day shift"];
[sharedShift setNotes:@"Please do inventory as part of your shift."];
[sharedShift setStartDateTime: "2019-03-11T15:00:00Z"];
[sharedShift setEndDateTime: "2019-03-12T00:00:00Z"];
[sharedShift setTheme: [MSGraphScheduleEntityTheme blue]];
NSMutableArray *activitiesList = [[NSMutableArray alloc] init];
MSGraphShiftActivity *activities = [[MSGraphShiftActivity alloc] init];
[activities setIsPaid: true];
[activities setStartDateTime: "2019-03-11T15:00:00Z"];
[activities setEndDateTime: "2019-03-11T15:15:00Z"];
[activities setCode:@""];
[activities setDisplayName:@"Lunch"];
[activitiesList addObject: activities];
[sharedShift setActivities:activitiesList];
[shift setSharedShift:sharedShift];
MSGraphShiftItem *draftShift = [[MSGraphShiftItem alloc] init];
[draftShift setDisplayName:@"Day shift"];
[draftShift setNotes:@"Please do inventory as part of your shift."];
[draftShift setStartDateTime: "2019-03-11T15:00:00Z"];
[draftShift setEndDateTime: "2019-03-12T00:00:00Z"];
[draftShift setTheme: [MSGraphScheduleEntityTheme blue]];
NSMutableArray *activitiesList = [[NSMutableArray alloc] init];
MSGraphShiftActivity *activities = [[MSGraphShiftActivity alloc] init];
[activities setIsPaid: true];
[activities setStartDateTime: "2019-03-11T15:00:00Z"];
[activities setEndDateTime: "2019-03-11T15:30:00Z"];
[activities setCode:@""];
[activities setDisplayName:@"Lunch"];
[activitiesList addObject: activities];
[draftShift setActivities:activitiesList];
[shift setDraftShift:draftShift];
NSError *error;
NSData *shiftData = [shift getSerializedDataWithError:&error];
[urlRequest setHTTPBody:shiftData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
LinkedList<Option> requestOptions = new LinkedList<Option>();
requestOptions.add(new HeaderOption("Prefer", "return=representation"));
Shift shift = new Shift();
shift.id = "SHFT_577b75d2-a927-48c0-a5d1-dc984894e7b8";
shift.createdDateTime = OffsetDateTimeSerializer.deserialize("2019-03-14T04:32:51.451Z");
shift.lastModifiedDateTime = OffsetDateTimeSerializer.deserialize("2019-03-14T05:32:51.451Z");
shift.userId = "c5d0c76b-80c4-481c-be50-923cd8d680a1";
shift.schedulingGroupId = "TAG_228940ed-ff84-4e25-b129-1b395cf78be0";
IdentitySet lastModifiedBy = new IdentitySet();
lastModifiedBy.application = null;
lastModifiedBy.device = null;
lastModifiedBy.conversation = null;
Identity user = new Identity();
user.id = "366c0b19-49b1-41b5-a03f-9f3887bd0ed8";
user.displayName = "John Doe";
lastModifiedBy.user = user;
shift.lastModifiedBy = lastModifiedBy;
ShiftItem sharedShift = new ShiftItem();
sharedShift.displayName = "Day shift";
sharedShift.notes = "Please do inventory as part of your shift.";
sharedShift.startDateTime = OffsetDateTimeSerializer.deserialize("2019-03-11T15:00:00Z");
sharedShift.endDateTime = OffsetDateTimeSerializer.deserialize("2019-03-12T00:00:00Z");
sharedShift.theme = ScheduleEntityTheme.BLUE;
LinkedList<ShiftActivity> activitiesList = new LinkedList<ShiftActivity>();
ShiftActivity activities = new ShiftActivity();
activities.isPaid = true;
activities.startDateTime = OffsetDateTimeSerializer.deserialize("2019-03-11T15:00:00Z");
activities.endDateTime = OffsetDateTimeSerializer.deserialize("2019-03-11T15:15:00Z");
activities.code = "";
activities.displayName = "Lunch";
activitiesList.add(activities);
sharedShift.activities = activitiesList;
shift.sharedShift = sharedShift;
ShiftItem draftShift = new ShiftItem();
draftShift.displayName = "Day shift";
draftShift.notes = "Please do inventory as part of your shift.";
draftShift.startDateTime = OffsetDateTimeSerializer.deserialize("2019-03-11T15:00:00Z");
draftShift.endDateTime = OffsetDateTimeSerializer.deserialize("2019-03-12T00:00:00Z");
draftShift.theme = ScheduleEntityTheme.BLUE;
LinkedList<ShiftActivity> activitiesList1 = new LinkedList<ShiftActivity>();
ShiftActivity activities1 = new ShiftActivity();
activities1.isPaid = true;
activities1.startDateTime = OffsetDateTimeSerializer.deserialize("2019-03-11T15:00:00Z");
activities1.endDateTime = OffsetDateTimeSerializer.deserialize("2019-03-11T15:30:00Z");
activities1.code = "";
activities1.displayName = "Lunch";
activitiesList1.add(activities1);
draftShift.activities = activitiesList1;
shift.draftShift = draftShift;
graphClient.teams("{teamId}").schedule().shifts("{shiftId}")
.buildRequest( requestOptions )
.put(shift);
Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.New()
requestBody.SetAdditionalData(map[string]interface{}{
"id": "SHFT_577b75d2-a927-48c0-a5d1-dc984894e7b8",
"createdDateTime": "2019-03-14T04:32:51.451Z",
"lastModifiedDateTime": "2019-03-14T05:32:51.451Z",
"userId": "c5d0c76b-80c4-481c-be50-923cd8d680a1",
"schedulingGroupId": "TAG_228940ed-ff84-4e25-b129-1b395cf78be0",
}
headers := map[string]string{
"Prefer": "return=representation"
}
options := &msgraphsdk.ShiftRequestBuilderPutRequestConfiguration{
Headers: headers,
}
teamId := "team-id"
shiftId := "shift-id"
graphClient.TeamsById(&teamId).Schedule().ShiftsById(&shiftId).PutWithRequestConfigurationAndResponseHandler(requestBody, options, nil)
Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.
Import-Module Microsoft.Graph.Teams
$params = @{
Id = "SHFT_577b75d2-a927-48c0-a5d1-dc984894e7b8"
CreatedDateTime = [System.DateTime]::Parse("2019-03-14T04:32:51.451Z")
LastModifiedDateTime = [System.DateTime]::Parse("2019-03-14T05:32:51.451Z")
UserId = "c5d0c76b-80c4-481c-be50-923cd8d680a1"
SchedulingGroupId = "TAG_228940ed-ff84-4e25-b129-1b395cf78be0"
LastModifiedBy = @{
Application = $null
Device = $null
Conversation = $null
User = @{
Id = "366c0b19-49b1-41b5-a03f-9f3887bd0ed8"
DisplayName = "John Doe"
}
}
SharedShift = @{
DisplayName = "Day shift"
Notes = "Please do inventory as part of your shift."
StartDateTime = [System.DateTime]::Parse("2019-03-11T15:00:00Z")
EndDateTime = [System.DateTime]::Parse("2019-03-12T00:00:00Z")
Theme = "blue"
Activities = @(
@{
IsPaid = $true
StartDateTime = [System.DateTime]::Parse("2019-03-11T15:00:00Z")
EndDateTime = [System.DateTime]::Parse("2019-03-11T15:15:00Z")
Code = ""
DisplayName = "Lunch"
}
)
}
DraftShift = @{
DisplayName = "Day shift"
Notes = "Please do inventory as part of your shift."
StartDateTime = [System.DateTime]::Parse("2019-03-11T15:00:00Z")
EndDateTime = [System.DateTime]::Parse("2019-03-12T00:00:00Z")
Theme = "blue"
Activities = @(
@{
IsPaid = $true
StartDateTime = [System.DateTime]::Parse("2019-03-11T15:00:00Z")
EndDateTime = [System.DateTime]::Parse("2019-03-11T15:30:00Z")
Code = ""
DisplayName = "Lunch"
}
)
}
}
Update-MgTeamScheduleShift -TeamId $teamId -ShiftId $shiftId -BodyParameter $params
Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.
Response
The following is an example of the response.
Note: The response object shown here might be shortened for readability.
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "string",
"userId": "string",
"schedulingGroupId": "string",
"sharedShift": {
"notes": "string",
"displayName": "string",
"startDateTime": "2018-10-04T00:58:45.340Z",
"endDateTime": "2018-10-04T00:58:45.340Z",
"theme": "white",
"activities": [
{
"isPaid": true,
"startDateTime": "2018-10-04T00:58:45.340Z",
"endDateTime": "2018-10-04T00:58:45.340Z",
"code": "string",
"displayName": "string"
}
]
},
"draftShift": {
"notes": "string",
"displayName": "string",
"startDateTime": "2018-10-04T00:58:45.340Z",
"endDateTime": "2018-10-04T00:58:45.340Z",
"theme": "white",
"activities": [
{
"isPaid": true,
"startDateTime": "2018-10-04T00:58:45.340Z",
"endDateTime": "2018-10-04T00:58:45.340Z",
"code": "string",
"displayName": "string"
}
]
},
"createdDateTime": "2018-10-04T00:58:45.340Z",
"lastModifiedDateTime": "2018-10-04T00:58:45.340Z",
"lastModifiedBy": {
"user": {
"id": "string",
"displayName": "string"
},
"application": {
"id": "string",
"displayName": "string"
},
"device": {
"id": "string",
"displayName": "string"
}
}
}