Namespace: microsoft.graph
Importante
As APIs na versão /beta
no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Criar ou substituir um objeto de agendamento .
O processo de criação de agendas está em conformidade com a orientação da API One para operações de execução prolongada (RELO) baseadas em recursos.
Quando os clientes utilizam o método PUT, se a agenda for aprovisionada, a operação substitui a agenda; caso contrário, a operação inicia o processo de aprovisionamento de agendamento em segundo plano.
Durante o aprovisionamento agendado, os clientes podem utilizar o método GET para obter a agenda e analisar a provisionStatus
propriedade do estado atual do aprovisionamento. Se o aprovisionamento falhar, os clientes podem obter informações adicionais da provisionStatusCode
propriedade .
Os clientes também podem inspecionar a configuração da agenda.
Esta API está disponível nas seguintes implementações de cloud nacionais.
Serviço global |
US Government L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
✅ |
❌ |
❌ |
❌ |
Permissões
Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.
Tipo de permissão |
Permissões com menos privilégios |
Permissões com privilégios superiores |
Delegado (conta corporativa ou de estudante) |
Schedule.ReadWrite.All |
Group.ReadWrite.All |
Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
Application |
Schedule.ReadWrite.All |
Indisponível. |
Solicitação HTTP
PUT /teams/{teamId}/schedule
Cabeçalho |
Valor |
Autorização |
{token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
Content-Type |
application/json. Obrigatório. |
MS-APP-ACTS-AS (preterido) |
Um ID de utilizador (GUID). Necessário apenas se o token de autorização for um token de aplicação; caso contrário, opcional. O MS-APP-ACTS-AS cabeçalho foi preterido e já não é necessário com tokens de aplicação. |
Corpo da solicitação
No corpo do pedido, forneça uma representação JSON de um objeto de agendamento .
Resposta
Se for bem-sucedido, este método devolve um 200 OK
código de resposta e um objeto de agendamento no corpo da resposta.
Exemplos
Exemplo 1: Atualizar uma agenda
Solicitação
O exemplo a seguir mostra uma solicitação.
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)
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
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
}
Exemplo 2: Ativar a deteção de localização para o relógio de tempo
Solicitação
O exemplo a seguir mostra uma solicitação.
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)
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
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
}
Conteúdo relacionado
Limites de limitação específicos do serviço do Microsoft Graph