更新 openShift
命名空间:microsoft.graph
更新 openShift 对象 的属性。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
Schedule.ReadWrite.All、Group.ReadWrite.All |
| 委派(个人 Microsoft 帐户) |
不支持。 |
| 应用程序 |
Schedule.ReadWrite.All |
注意:此 API 支持管理员权限。 全局管理员可以访问他们不是其成员组。
HTTP 请求
PUT /teams/{id}/schedule/openShifts/{openShiftId}
| 名称 |
说明 |
| Authorization |
Bearer {token}。必需。 |
| Content-type |
application/json. Required. |
请求正文
在此方法的请求正文中提供修改后的 openShift 对象。
| 属性 |
类型 |
Description |
| draftOpenShift |
openShiftItem |
未发布的打开班次。 |
| schedulingGroupId |
String |
计划组 ID。 |
| sharedOpenShift |
openShiftItem |
已发布的打开的班次。 |
响应
如果成功,此方法在响应正文中返回 响应代码和更新的 200 OK openShift 对象。
示例
请求
下面展示了示例请求。
PATCH https://graph.microsoft.com/v1.0/teams/{id}/schedule/openShifts/OPNSHFT_577b75d2-a927-48c0-a5d1-dc984894e7b8
Content-type: application/json
{
"schedulingGroupId": "TAG_228940ed-ff84-4e25-b129-1b395cf78be0",
"sharedOpenShift": {
"notes": "Inventory Management",
"openSlotCount":5,
"displayName": "Field shift",
"startDateTime": "2018-10-04T00:58:45.340Z",
"endDateTime": "2018-10-04T09:50:45.332Z",
"theme": "white",
"activities": [
{
"isPaid": true,
"startDateTime": "2018-10-04T00:58:45.340Z",
"endDateTime": "2018-10-04T01:58:45.340Z",
"code": "",
"displayName": "Lunch"
}
]
},
"draftOpenShift": null
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var openShift = new OpenShift
{
SchedulingGroupId = "TAG_228940ed-ff84-4e25-b129-1b395cf78be0",
SharedOpenShift = new OpenShiftItem
{
Notes = "Inventory Management",
OpenSlotCount = 5,
DisplayName = "Field shift",
StartDateTime = DateTimeOffset.Parse("2018-10-04T00:58:45.34Z"),
EndDateTime = DateTimeOffset.Parse("2018-10-04T09:50:45.332Z"),
Theme = ScheduleEntityTheme.White,
Activities = new List<ShiftActivity>()
{
new ShiftActivity
{
IsPaid = true,
StartDateTime = DateTimeOffset.Parse("2018-10-04T00:58:45.34Z"),
EndDateTime = DateTimeOffset.Parse("2018-10-04T01:58:45.34Z"),
Code = "",
DisplayName = "Lunch"
}
}
},
DraftOpenShift = null
};
await graphClient.Teams["{team-id}"].Schedule.OpenShifts["{openShift-id}"]
.Request()
.UpdateAsync(openShift);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const openShift = {
schedulingGroupId: 'TAG_228940ed-ff84-4e25-b129-1b395cf78be0',
sharedOpenShift: {
notes: 'Inventory Management',
openSlotCount: 5,
displayName: 'Field shift',
startDateTime: '2018-10-04T00:58:45.340Z',
endDateTime: '2018-10-04T09:50:45.332Z',
theme: 'white',
activities: [
{
isPaid: true,
startDateTime: '2018-10-04T00:58:45.340Z',
endDateTime: '2018-10-04T01:58:45.340Z',
code: '',
displayName: 'Lunch'
}
]
},
draftOpenShift: null
};
await client.api('/teams/{id}/schedule/openShifts/OPNSHFT_577b75d2-a927-48c0-a5d1-dc984894e7b8')
.update(openShift);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/teams/{id}/schedule/openShifts/OPNSHFT_577b75d2-a927-48c0-a5d1-dc984894e7b8"]]];
[urlRequest setHTTPMethod:@"PATCH"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphOpenShift *openShift = [[MSGraphOpenShift alloc] init];
[openShift setSchedulingGroupId:@"TAG_228940ed-ff84-4e25-b129-1b395cf78be0"];
MSGraphOpenShiftItem *sharedOpenShift = [[MSGraphOpenShiftItem alloc] init];
[sharedOpenShift setNotes:@"Inventory Management"];
[sharedOpenShift setOpenSlotCount: 5];
[sharedOpenShift setDisplayName:@"Field shift"];
[sharedOpenShift setStartDateTime: "2018-10-04T00:58:45.34Z"];
[sharedOpenShift setEndDateTime: "2018-10-04T09:50:45.332Z"];
[sharedOpenShift setTheme: [MSGraphScheduleEntityTheme white]];
NSMutableArray *activitiesList = [[NSMutableArray alloc] init];
MSGraphShiftActivity *activities = [[MSGraphShiftActivity alloc] init];
[activities setIsPaid: true];
[activities setStartDateTime: "2018-10-04T00:58:45.34Z"];
[activities setEndDateTime: "2018-10-04T01:58:45.34Z"];
[activities setCode:@""];
[activities setDisplayName:@"Lunch"];
[activitiesList addObject: activities];
[sharedOpenShift setActivities:activitiesList];
[openShift setSharedOpenShift:sharedOpenShift];
[openShift setDraftOpenShift: null];
NSError *error;
NSData *openShiftData = [openShift getSerializedDataWithError:&error];
[urlRequest setHTTPBody:openShiftData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
OpenShift openShift = new OpenShift();
openShift.schedulingGroupId = "TAG_228940ed-ff84-4e25-b129-1b395cf78be0";
OpenShiftItem sharedOpenShift = new OpenShiftItem();
sharedOpenShift.notes = "Inventory Management";
sharedOpenShift.openSlotCount = 5;
sharedOpenShift.displayName = "Field shift";
sharedOpenShift.startDateTime = OffsetDateTimeSerializer.deserialize("2018-10-04T00:58:45.34Z");
sharedOpenShift.endDateTime = OffsetDateTimeSerializer.deserialize("2018-10-04T09:50:45.332Z");
sharedOpenShift.theme = ScheduleEntityTheme.WHITE;
LinkedList<ShiftActivity> activitiesList = new LinkedList<ShiftActivity>();
ShiftActivity activities = new ShiftActivity();
activities.isPaid = true;
activities.startDateTime = OffsetDateTimeSerializer.deserialize("2018-10-04T00:58:45.34Z");
activities.endDateTime = OffsetDateTimeSerializer.deserialize("2018-10-04T01:58:45.34Z");
activities.code = "";
activities.displayName = "Lunch";
activitiesList.add(activities);
sharedOpenShift.activities = activitiesList;
openShift.sharedOpenShift = sharedOpenShift;
openShift.draftOpenShift = null;
graphClient.teams("{id}").schedule().openShifts("OPNSHFT_577b75d2-a927-48c0-a5d1-dc984894e7b8")
.buildRequest()
.patch(openShift);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewOpenShift()
schedulingGroupId := "TAG_228940ed-ff84-4e25-b129-1b395cf78be0"
requestBody.SetSchedulingGroupId(&schedulingGroupId)
sharedOpenShift := msgraphsdk.NewOpenShiftItem()
requestBody.SetSharedOpenShift(sharedOpenShift)
notes := "Inventory Management"
sharedOpenShift.SetNotes(¬es)
openSlotCount := int32(5)
sharedOpenShift.SetOpenSlotCount(&openSlotCount)
displayName := "Field shift"
sharedOpenShift.SetDisplayName(&displayName)
startDateTime, err := time.Parse(time.RFC3339, "2018-10-04T00:58:45.340Z")
sharedOpenShift.SetStartDateTime(&startDateTime)
endDateTime, err := time.Parse(time.RFC3339, "2018-10-04T09:50:45.332Z")
sharedOpenShift.SetEndDateTime(&endDateTime)
theme := "white"
sharedOpenShift.SetTheme(&theme)
sharedOpenShift.SetActivities( []ShiftActivity {
msgraphsdk.NewShiftActivity(),
isPaid := true
SetIsPaid(&isPaid)
startDateTime, err := time.Parse(time.RFC3339, "2018-10-04T00:58:45.340Z")
SetStartDateTime(&startDateTime)
endDateTime, err := time.Parse(time.RFC3339, "2018-10-04T01:58:45.340Z")
SetEndDateTime(&endDateTime)
code := ""
SetCode(&code)
displayName := "Lunch"
SetDisplayName(&displayName)
}
requestBody.SetDraftOpenShift(nil)
teamId := "team-id"
openShiftId := "openShift-id"
graphClient.TeamsById(&teamId).Schedule().OpenShiftsById(&openShiftId).Patch(requestBody)
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
Import-Module Microsoft.Graph.Teams
$params = @{
SchedulingGroupId = "TAG_228940ed-ff84-4e25-b129-1b395cf78be0"
SharedOpenShift = @{
Notes = "Inventory Management"
OpenSlotCount = 5
DisplayName = "Field shift"
StartDateTime = [System.DateTime]::Parse("2018-10-04T00:58:45.340Z")
EndDateTime = [System.DateTime]::Parse("2018-10-04T09:50:45.332Z")
Theme = "white"
Activities = @(
@{
IsPaid = $true
StartDateTime = [System.DateTime]::Parse("2018-10-04T00:58:45.340Z")
EndDateTime = [System.DateTime]::Parse("2018-10-04T01:58:45.340Z")
Code = ""
DisplayName = "Lunch"
}
)
}
DraftOpenShift = $null
}
Update-MgTeamScheduleOpenShift -TeamId $teamId -OpenShiftId $openShiftId -BodyParameter $params
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
下面展示了示例响应。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "OPNSHFT_577b75d2-a927-48c0-a5d1-dc984894e7b8",
"schedulingGroupId": "TAG_228940ed-ff84-4e25-b129-1b395cf78be0",
"sharedOpenShift": {
"notes": "Inventory Management",
"openSlotCount":5,
"displayName": "Day shift",
"startDateTime": "2018-10-04T00:58:45.340Z",
"endDateTime": "2018-10-04T09:50:45.332Z",
"theme": "white",
"activities": [
{
"isPaid": true,
"startDateTime": "2018-10-04T00:58:45.340Z",
"endDateTime": "2018-10-04T01:58:45.340Z",
"code": "",
"displayName": "Lunch"
}
]
},
"draftOpenShift": null,
"createdDateTime": "2019-03-14T04:32:51.451Z",
"lastModifiedDateTime": "2019-03-14T05:32:51.451Z",
"lastModifiedBy": {
"application": null,
"device": null,
"conversation": null,
"user": {
"id": "366c0b19-49b1-41b5-a03f-9f3887bd0ed8",
"displayName": "John Doe"
}
}
}