Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Создание или замена объекта schedule .
Процесс создания расписания соответствует руководству One API для длительных операций на основе ресурсов (RELO).
Если клиенты используют метод PUT, при подготовке расписания операция заменяет расписание; В противном случае операция запускает процесс подготовки расписания в фоновом режиме.
Во время подготовки по расписанию клиенты могут использовать метод GET , чтобы получить расписание и просмотреть provisionStatus
текущее состояние подготовки в свойстве. Если подготовка завершилась сбоем, клиенты могут получить дополнительные сведения из provisionStatusCode
свойства .
Клиенты также могут проверить конфигурацию расписания.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба |
Правительство США L4 |
Правительство США L5 (DOD) |
Китай управляется 21Vianet |
✅ |
❌ |
❌ |
❌ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения |
Разрешения с наименьшими привилегиями |
Более высокие привилегированные разрешения |
Делегированные (рабочая или учебная учетная запись) |
Schedule.ReadWrite.All |
Group.ReadWrite.All |
Делегированные (личная учетная запись Майкрософт) |
Не поддерживается. |
Не поддерживается. |
Приложение |
Schedule.ReadWrite.All |
Недоступно. |
HTTP-запрос
PUT /teams/{teamId}/schedule
Заголовок |
Значение |
Авторизация |
Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
Content-Type |
application/json. Обязательно. |
MS-APP-ACTS-AS |
Идентификатор пользователя (GUID). Требуется только в том случае, если маркер авторизации является маркером приложения; В противном случае — необязательно. |
Текст запроса
В тексте запроса укажите представление объекта расписания в формате JSON.
Отклик
В случае успешного выполнения этот метод возвращает код отклика 200 OK
и объект schedule в тексте ответа.
Примеры
Пример 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);
mgc-beta teams schedule put --team-id {team-id} --body '{\
"enabled": true,\
"timeZone": "America/Chicago"\
}\
'
// 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);
mgc-beta teams schedule put --team-id {team-id}
// 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