Namespace: microsoft.graph
Obtenha as informações de disponibilidade dos docentes de um calendário Microsoft Bookings.
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) |
Sem suporte. |
Sem suporte. |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Application |
Bookings.Read.All |
Bookings. Manage.All, Bookings. ReadWrite.All, Calendars.Read, Calendars.ReadWrite |
Solicitação HTTP
POST /solutions/bookingBusinesses/{id}/getStaffAvailability
| Nome |
Descrição |
| Autorização |
Portador {código}. Obrigatório. |
| Content-Type |
application/json. Obrigatório. |
Corpo da solicitação
No corpo do pedido, transmita a lista de IDs de docentes juntamente com outros dois parâmetros do tipo de recurso dateTimeTimeZone denominado startDateTime e endDateTime. Estes correspondem aos dois carimbos de data/hora entre os quais a disponibilidade do pessoal será devolvida.
Resposta
Se for bem-sucedido, este método devolve um 200 OK código de resposta e uma coleção staffAvailabilityItem na resposta.
Exemplo
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/Contosolunchdelivery@contoso.com/getStaffAvailability
Content-Type: application/json
{
"staffIds": [
"311a5454-08b2-4560-ba1c-f715e938cb79"
],
"startDateTime": {
"dateTime": "2022-01-25T00:00:00",
"timeZone": "India Standard Time"
},
"endDateTime": {
"dateTime": "2022-01-26T17:00:00",
"timeZone": "Pacific Standard Time"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Solutions.BookingBusinesses.Item.GetStaffAvailability;
using Microsoft.Graph.Models;
var requestBody = new GetStaffAvailabilityPostRequestBody
{
StaffIds = new List<string>
{
"311a5454-08b2-4560-ba1c-f715e938cb79",
},
StartDateTime = new DateTimeTimeZone
{
DateTime = "2022-01-25T00:00:00",
TimeZone = "India Standard Time",
},
EndDateTime = new DateTimeTimeZone
{
DateTime = "2022-01-26T17:00:00",
TimeZone = "Pacific Standard Time",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Solutions.BookingBusinesses["{bookingBusiness-id}"].GetStaffAvailability.PostAsGetStaffAvailabilityPostResponseAsync(requestBody);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphsolutions "github.com/microsoftgraph/msgraph-sdk-go/solutions"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphsolutions.NewGetStaffAvailabilityPostRequestBody()
staffIds := []string {
"311a5454-08b2-4560-ba1c-f715e938cb79",
}
requestBody.SetStaffIds(staffIds)
startDateTime := graphmodels.NewDateTimeTimeZone()
dateTime := "2022-01-25T00:00:00"
startDateTime.SetDateTime(&dateTime)
timeZone := "India Standard Time"
startDateTime.SetTimeZone(&timeZone)
requestBody.SetStartDateTime(startDateTime)
endDateTime := graphmodels.NewDateTimeTimeZone()
dateTime := "2022-01-26T17:00:00"
endDateTime.SetDateTime(&dateTime)
timeZone := "Pacific Standard Time"
endDateTime.SetTimeZone(&timeZone)
requestBody.SetEndDateTime(endDateTime)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
getStaffAvailability, err := graphClient.Solutions().BookingBusinesses().ByBookingBusinessId("bookingBusiness-id").GetStaffAvailability().PostAsGetStaffAvailabilityPostResponse(context.Background(), requestBody, nil)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.solutions.bookingbusinesses.item.getstaffavailability.GetStaffAvailabilityPostRequestBody getStaffAvailabilityPostRequestBody = new com.microsoft.graph.solutions.bookingbusinesses.item.getstaffavailability.GetStaffAvailabilityPostRequestBody();
LinkedList<String> staffIds = new LinkedList<String>();
staffIds.add("311a5454-08b2-4560-ba1c-f715e938cb79");
getStaffAvailabilityPostRequestBody.setStaffIds(staffIds);
DateTimeTimeZone startDateTime = new DateTimeTimeZone();
startDateTime.setDateTime("2022-01-25T00:00:00");
startDateTime.setTimeZone("India Standard Time");
getStaffAvailabilityPostRequestBody.setStartDateTime(startDateTime);
DateTimeTimeZone endDateTime = new DateTimeTimeZone();
endDateTime.setDateTime("2022-01-26T17:00:00");
endDateTime.setTimeZone("Pacific Standard Time");
getStaffAvailabilityPostRequestBody.setEndDateTime(endDateTime);
var result = graphClient.solutions().bookingBusinesses().byBookingBusinessId("{bookingBusiness-id}").getStaffAvailability().post(getStaffAvailabilityPostRequestBody);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
const options = {
authProvider,
};
const client = Client.init(options);
const staffAvailabilityItem = {
staffIds: [
'311a5454-08b2-4560-ba1c-f715e938cb79'
],
startDateTime: {
dateTime: '2022-01-25T00:00:00',
timeZone: 'India Standard Time'
},
endDateTime: {
dateTime: '2022-01-26T17:00:00',
timeZone: 'Pacific Standard Time'
}
};
await client.api('/solutions/bookingBusinesses/Contosolunchdelivery@contoso.com/getStaffAvailability')
.post(staffAvailabilityItem);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Solutions\BookingBusinesses\Item\GetStaffAvailability\GetStaffAvailabilityPostRequestBody;
use Microsoft\Graph\Generated\Models\DateTimeTimeZone;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new GetStaffAvailabilityPostRequestBody();
$requestBody->setStaffIds(['311a5454-08b2-4560-ba1c-f715e938cb79', ]);
$startDateTime = new DateTimeTimeZone();
$startDateTime->setDateTime('2022-01-25T00:00:00');
$startDateTime->setTimeZone('India Standard Time');
$requestBody->setStartDateTime($startDateTime);
$endDateTime = new DateTimeTimeZone();
$endDateTime->setDateTime('2022-01-26T17:00:00');
$endDateTime->setTimeZone('Pacific Standard Time');
$requestBody->setEndDateTime($endDateTime);
$result = $graphServiceClient->solutions()->bookingBusinesses()->byBookingBusinessId('bookingBusiness-id')->getStaffAvailability()->post($requestBody)->wait();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
Import-Module Microsoft.Graph.Bookings
$params = @{
staffIds = @(
"311a5454-08b2-4560-ba1c-f715e938cb79"
)
startDateTime = @{
dateTime = "2022-01-25T00:00:00"
timeZone = "India Standard Time"
}
endDateTime = @{
dateTime = "2022-01-26T17:00:00"
timeZone = "Pacific Standard Time"
}
}
Get-MgBookingBusinessStaffAvailability -BookingBusinessId $bookingBusinessId -BodyParameter $params
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.solutions.bookingbusinesses.item.get_staff_availability.get_staff_availability_post_request_body import GetStaffAvailabilityPostRequestBody
from msgraph.generated.models.date_time_time_zone import DateTimeTimeZone
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = GetStaffAvailabilityPostRequestBody(
staff_ids = [
"311a5454-08b2-4560-ba1c-f715e938cb79",
],
start_date_time = DateTimeTimeZone(
date_time = "2022-01-25T00:00:00",
time_zone = "India Standard Time",
),
end_date_time = DateTimeTimeZone(
date_time = "2022-01-26T17:00:00",
time_zone = "Pacific Standard Time",
),
)
result = await graph_client.solutions.booking_businesses.by_booking_business_id('bookingBusiness-id').get_staff_availability.post(request_body)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 200 OK
Content-type: application/json
{
"staffAvailabilityItem": [
{
"staffId": "311a5454-08b2-4560-ba1c-f715e938cb79",
"availabilityItems": [
{
"status": "Available",
"startDateTime": {
"dateTime": "2022-01-24T08:00:00",
"timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
},
"endDateTime": {
"dateTime": "2022-01-24T15:00:00",
"timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
},
"serviceId": ""
},
{
"status": "Busy",
"startDateTime": {
"dateTime": "2022-01-24T15:00:00",
"timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
},
"endDateTime": {
"dateTime": "2022-01-24T16:00:00",
"timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
},
"serviceId": "57da6774-a087-4d69-b0e6-6fb82c339976"
},
{
"status": "Available",
"startDateTime": {
"dateTime": "2022-01-24T16:00:00",
"timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
},
"endDateTime": {
"dateTime": "2022-01-24T17:00:00",
"timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
},
"serviceId": ""
},
{
"status": "Available",
"startDateTime": {
"dateTime": "2022-01-25T08:00:00",
"timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
},
"endDateTime": {
"dateTime": "2022-01-25T17:00:00",
"timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
},
"serviceId": ""
},
{
"status": "Available",
"startDateTime": {
"dateTime": "2022-01-26T08:00:00",
"timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
},
"endDateTime": {
"dateTime": "2022-01-26T17:00:00",
"timeZone": "(UTC-08:00) Pacific Time (US & Canada)"
},
"serviceId": ""
}
]
}
]
}