命名空间:microsoft.graph
重要
Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
创建或替换 计划 对象。
计划创建过程符合 基于资源的长时间运行作的一个 API 指南, (RELO) 。
当客户端使用 PUT 方法时,如果预配了计划,则作将替换计划;否则,作会在后台启动计划预配过程。
在计划预配期间,客户端可以使用 GET 方法 获取计划并查看 provisionStatus 预配的当前状态的 属性。 如果预配失败,客户端可以从 属性获取其他信息 provisionStatusCode 。
客户端还可以检查计划的配置。
此 API 可用于以下国家级云部署。
| 全局服务 |
美国政府 L4 |
美国政府 L5 (DOD) |
由世纪互联运营的中国 |
| ✅ |
❌ |
❌ |
❌ |
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
| 权限类型 |
最低特权权限 |
更高特权权限 |
| 委派(工作或学校帐户) |
Schedule.ReadWrite.All |
Group.ReadWrite.All |
| 委派(个人 Microsoft 帐户) |
不支持。 |
不支持。 |
| 应用程序 |
Schedule.ReadWrite.All |
不可用。 |
HTTP 请求
PUT /teams/{teamId}/schedule
| 标头 |
值 |
| Authorization |
持有者 {token}。 必填。 详细了解 身份验证和授权。 |
| Content-Type |
application/json. 必需。 |
| MS-APP-ACTS-AS (已弃用) |
GUID) (用户 ID。 仅当授权令牌是应用程序令牌时才需要;否则为可选。 标头 MS-APP-ACTS-AS 已弃用,不再需要应用程序令牌。 |
请求正文
在请求正文中,提供 计划 对象的 JSON 表示形式。
响应
如果成功,此方法在 200 OK 响应正文中返回响应代码和 计划 对象。
示例
示例 1:更新计划
请求
以下示例显示了一个请求。
PUT https://graph.microsoft.com/beta/teams/{teamId}/schedule
Content-type: application/json
{
"enabled": true,
"timeZone": "America/Chicago"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new Schedule
{
Enabled = true,
TimeZone = "America/Chicago",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Teams["{team-id}"].Schedule.PutAsync(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.NewSchedule()
enabled := true
requestBody.SetEnabled(&enabled)
timeZone := "America/Chicago"
requestBody.SetTimeZone(&timeZone)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
schedule, err := graphClient.Teams().ByTeamId("team-id").Schedule().Put(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Schedule schedule = new Schedule();
schedule.setEnabled(true);
schedule.setTimeZone("America/Chicago");
Schedule result = graphClient.teams().byTeamId("{team-id}").schedule().put(schedule);
const options = {
authProvider,
};
const client = Client.init(options);
const schedule = {
enabled: true,
timeZone: 'America/Chicago'
};
await client.api('/teams/{teamId}/schedule')
.version('beta')
.put(schedule);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Schedule;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Schedule();
$requestBody->setEnabled(true);
$requestBody->setTimeZone('America/Chicago');
$result = $graphServiceClient->teams()->byTeamId('team-id')->schedule()->put($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Teams
$params = @{
enabled = $true
timeZone = "America/Chicago"
}
Set-MgBetaTeamSchedule -TeamId $teamId -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.schedule import Schedule
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Schedule(
enabled = True,
time_zone = "America/Chicago",
)
result = await graph_client.teams.by_team_id('team-id').schedule.put(request_body)
响应
以下示例显示了相应的响应。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "833fc4df-c88b-4398-992f-d8afcfe41df2",
"enabled": true,
"timeZone": "America/Chicago",
"provisionStatus": "Completed",
"provisionStatusCode": null,
"timeClockEnabled": true,
"openShiftsEnabled": true,
"swapShiftsRequestsEnabled": true,
"offerShiftRequestsEnabled": true,
"timeOffRequestsEnabled": true,
"startDayOfWeek": "Sunday",
"activitiesIncludedWhenCopyingShiftsEnabled": true,
"isActivitiesIncludedWhenCopyingShiftsEnabled": true,
"isCrossLocationShiftsEnabled": true,
"isCrossLocationShiftRequestApprovalRequired": true
}
示例 2:为时钟启用位置检测
请求
以下示例显示了一个请求。
PUT https://graph.microsoft.com/beta/teams/871dbd5c-3a6a-4392-bfe1-042452793a50/schedule
{
"enabled": true,
"timeZone": "America/Chicago",
"provisionStatus": "Completed",
"provisionStatusCode": null,
"openShiftsEnabled": true,
"swapShiftsRequestsEnabled": true,
"offerShiftRequestsEnabled": true,
"timeOffRequestsEnabled": true,
"startDayOfWeek": "Tuesday",
"isActivitiesIncludedWhenCopyingShiftsEnabled": true,
"isCrossLocationShiftsEnabled": true,
"isCrossLocationShiftRequestApprovalRequired": true,
"timeClockEnabled": true
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new Schedule
{
Enabled = true,
TimeZone = "America/Chicago",
ProvisionStatus = OperationStatus.Completed,
ProvisionStatusCode = null,
OpenShiftsEnabled = true,
SwapShiftsRequestsEnabled = true,
OfferShiftRequestsEnabled = true,
TimeOffRequestsEnabled = true,
StartDayOfWeek = DayOfWeekObject.Tuesday,
IsActivitiesIncludedWhenCopyingShiftsEnabled = true,
IsCrossLocationShiftsEnabled = true,
IsCrossLocationShiftRequestApprovalRequired = true,
TimeClockEnabled = true,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Teams["{team-id}"].Schedule.PutAsync(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.NewSchedule()
enabled := true
requestBody.SetEnabled(&enabled)
timeZone := "America/Chicago"
requestBody.SetTimeZone(&timeZone)
provisionStatus := graphmodels.COMPLETED_OPERATIONSTATUS
requestBody.SetProvisionStatus(&provisionStatus)
provisionStatusCode := null
requestBody.SetProvisionStatusCode(&provisionStatusCode)
openShiftsEnabled := true
requestBody.SetOpenShiftsEnabled(&openShiftsEnabled)
swapShiftsRequestsEnabled := true
requestBody.SetSwapShiftsRequestsEnabled(&swapShiftsRequestsEnabled)
offerShiftRequestsEnabled := true
requestBody.SetOfferShiftRequestsEnabled(&offerShiftRequestsEnabled)
timeOffRequestsEnabled := true
requestBody.SetTimeOffRequestsEnabled(&timeOffRequestsEnabled)
startDayOfWeek := graphmodels.TUESDAY_DAYOFWEEK
requestBody.SetStartDayOfWeek(&startDayOfWeek)
isActivitiesIncludedWhenCopyingShiftsEnabled := true
requestBody.SetIsActivitiesIncludedWhenCopyingShiftsEnabled(&isActivitiesIncludedWhenCopyingShiftsEnabled)
isCrossLocationShiftsEnabled := true
requestBody.SetIsCrossLocationShiftsEnabled(&isCrossLocationShiftsEnabled)
isCrossLocationShiftRequestApprovalRequired := true
requestBody.SetIsCrossLocationShiftRequestApprovalRequired(&isCrossLocationShiftRequestApprovalRequired)
timeClockEnabled := true
requestBody.SetTimeClockEnabled(&timeClockEnabled)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
schedule, err := graphClient.Teams().ByTeamId("team-id").Schedule().Put(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Schedule schedule = new Schedule();
schedule.setEnabled(true);
schedule.setTimeZone("America/Chicago");
schedule.setProvisionStatus(OperationStatus.Completed);
schedule.setProvisionStatusCode(null);
schedule.setOpenShiftsEnabled(true);
schedule.setSwapShiftsRequestsEnabled(true);
schedule.setOfferShiftRequestsEnabled(true);
schedule.setTimeOffRequestsEnabled(true);
schedule.setStartDayOfWeek(DayOfWeek.Tuesday);
schedule.setIsActivitiesIncludedWhenCopyingShiftsEnabled(true);
schedule.setIsCrossLocationShiftsEnabled(true);
schedule.setIsCrossLocationShiftRequestApprovalRequired(true);
schedule.setTimeClockEnabled(true);
Schedule result = graphClient.teams().byTeamId("{team-id}").schedule().put(schedule);
const options = {
authProvider,
};
const client = Client.init(options);
const schedule = {
enabled: true,
timeZone: 'America/Chicago',
provisionStatus: 'Completed',
provisionStatusCode: null,
openShiftsEnabled: true,
swapShiftsRequestsEnabled: true,
offerShiftRequestsEnabled: true,
timeOffRequestsEnabled: true,
startDayOfWeek: 'Tuesday',
isActivitiesIncludedWhenCopyingShiftsEnabled: true,
isCrossLocationShiftsEnabled: true,
isCrossLocationShiftRequestApprovalRequired: true,
timeClockEnabled: true
};
await client.api('/teams/871dbd5c-3a6a-4392-bfe1-042452793a50/schedule')
.version('beta')
.put(schedule);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Schedule;
use Microsoft\Graph\Beta\Generated\Models\OperationStatus;
use Microsoft\Graph\Beta\Generated\Models\DayOfWeek;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Schedule();
$requestBody->setEnabled(true);
$requestBody->setTimeZone('America/Chicago');
$requestBody->setProvisionStatus(new OperationStatus('completed'));
$requestBody->setProvisionStatusCode(null);
$requestBody->setOpenShiftsEnabled(true);
$requestBody->setSwapShiftsRequestsEnabled(true);
$requestBody->setOfferShiftRequestsEnabled(true);
$requestBody->setTimeOffRequestsEnabled(true);
$requestBody->setStartDayOfWeek(new DayOfWeek('tuesday'));
$requestBody->setIsActivitiesIncludedWhenCopyingShiftsEnabled(true);
$requestBody->setIsCrossLocationShiftsEnabled(true);
$requestBody->setIsCrossLocationShiftRequestApprovalRequired(true);
$requestBody->setTimeClockEnabled(true);
$result = $graphServiceClient->teams()->byTeamId('team-id')->schedule()->put($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Teams
$params = @{
enabled = $true
timeZone = "America/Chicago"
provisionStatus = "Completed"
provisionStatusCode = $null
openShiftsEnabled = $true
swapShiftsRequestsEnabled = $true
offerShiftRequestsEnabled = $true
timeOffRequestsEnabled = $true
startDayOfWeek = "Tuesday"
isActivitiesIncludedWhenCopyingShiftsEnabled = $true
isCrossLocationShiftsEnabled = $true
isCrossLocationShiftRequestApprovalRequired = $true
timeClockEnabled = $true
}
Set-MgBetaTeamSchedule -TeamId $teamId -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.schedule import Schedule
from msgraph_beta.generated.models.operation_status import OperationStatus
from msgraph_beta.generated.models.day_of_week import DayOfWeek
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Schedule(
enabled = True,
time_zone = "America/Chicago",
provision_status = OperationStatus.Completed,
provision_status_code = None,
open_shifts_enabled = True,
swap_shifts_requests_enabled = True,
offer_shift_requests_enabled = True,
time_off_requests_enabled = True,
start_day_of_week = DayOfWeek.Tuesday,
is_activities_included_when_copying_shifts_enabled = True,
is_cross_location_shifts_enabled = True,
is_cross_location_shift_request_approval_required = True,
time_clock_enabled = True,
)
result = await graph_client.teams.by_team_id('team-id').schedule.put(request_body)
响应
以下示例显示了相应的响应。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"enabled": true,
"timeZone": "America/Chicago",
"provisionStatus": "Completed",
"provisionStatusCode": null,
"openShiftsEnabled": true,
"swapShiftsRequestsEnabled": true,
"offerShiftRequestsEnabled": true,
"timeOffRequestsEnabled": true,
"startDayOfWeek": "Tuesday",
"activitiesIncludedWhenCopyingShiftsEnabled": true,
"isActivitiesIncludedWhenCopyingShiftsEnabled": true,
"isCrossLocationShiftsEnabled": true,
"isCrossLocationShiftRequestApprovalRequired": true,
"timeClockEnabled": true
}
相关内容
Microsoft Graph 特定于服务的节流限制