Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Namespace: microsoft.graph
Adquira as informações de disponibilidade para um conjunto de usuários, listas de distribuição ou recursos (salas e equipamentos) para um período de tempo especificado.
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) | Calendars.ReadBasic | Calendars.Read, Calendars.ReadWrite |
| Delegado (conta pessoal da Microsoft) | Sem suporte. | Sem suporte. |
| Application | Calendars.ReadBasic | Calendars.Read, Calendars.ReadWrite |
Solicitação HTTP
POST /me/calendar/getSchedule
POST /users/{id|userPrincipalName}/calendar/getSchedule
Cabeçalhos de solicitação
| Nome | Tipo | Descrição |
|---|---|---|
| Autorização | string | {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-Type | string | Natureza dos dados no corpo de uma entidade, que é application/json. Obrigatório. |
| Prefira: outlook.timezone | string | Use isto para especificar o fuso horário para horas de início e término na resposta. Se não especificado, esses valores de tempo serão retornados em UTC. Opcional. |
Corpo da solicitação
Forneça um objeto JSON com os seguintes parâmetros no corpo da solicitação.
| Propriedade | Tipo | Descrição |
|---|---|---|
| availabilityViewInterval | Int32 | Representa a duração de um intervalo de tempo em availabilityView na resposta. O padrão é 30 minutos, o mínimo é 5, o máximo é 1440. Opcional. |
| endTime | dateTimeTimeZone | A data, a hora e o fuso horário em que o período termina. |
| agendas | Coleção String | Uma coleção de endereços SMTP de usuários, listas de distribuição ou recursos para obter informações sobre disponibilidade. |
| startTime | dateTimeTimeZone | A data, a hora e o fuso horário em que o período começa. |
Resposta
Se bem-sucedido, este método retorna um código de resposta 200 OK e uma coleção de objetos scheduleInformation para cada objeto no parâmetro schedules.
Nota: quando o calendário do utilizador tem um intervalo de tempo que contém mais de 1000 entradas, um
5006código de resposta com a mensagem "O conjunto de resultados contém demasiadas entradas de calendário. O tamanho permitido é 1000; o tamanho real é ..." será devolvido. Para obter detalhes, veja KB 2962513.
Exemplos
Solicitação
O exemplo a seguir obtém as informações de disponibilidade de dois usuários em relação à data, a hora e o fuso horário especificados.
POST https://graph.microsoft.com/v1.0/me/calendar/getSchedule
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"schedules": ["adelev@contoso.com", "meganb@contoso.com"],
"startTime": {
"dateTime": "2019-03-15T09:00:00",
"timeZone": "Pacific Standard Time"
},
"endTime": {
"dateTime": "2019-03-15T18:00:00",
"timeZone": "Pacific Standard Time"
},
"availabilityViewInterval": 60
}
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
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(microsoft.graph.scheduleInformation)",
"value": [
{
"scheduleId": "adelev@contoso.com",
"availabilityView": "000220130",
"scheduleItems": [
{
"isPrivate": false,
"status": "busy",
"subject": "Let's go for lunch",
"___location": "Harry's Bar",
"start": {
"dateTime": "2019-03-15T12:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2019-03-15T14:00:00.0000000",
"timeZone": "Pacific Standard Time"
}
},
{
"subject": "free is represented by 0 in availabilityView",
"status": "free",
"start": {
"dateTime": "2019-03-15T10:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2019-03-15T11:00:00.0000000",
"timeZone": "Pacific Standard Time"
}
},
{
"subject": "workingElsewhere is also represented by 0 in availabilityView",
"status": "workingElsewhere",
"start": {
"dateTime": "2019-03-15T11:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2019-03-15T12:00:00.0000000",
"timeZone": "Pacific Standard Time"
}
},
{
"subject": "tentative is represented by 1 in availabilityView",
"status": "tentative",
"start": {
"dateTime": "2019-03-15T15:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2019-03-15T16:00:00.0000000",
"timeZone": "Pacific Standard Time"
}
},
{
"subject": "oof is represented by 3 in availabilityView",
"status": "workingElsewhere",
"start": {
"dateTime": "2019-03-15T16:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2019-03-15T17:00:00.0000000",
"timeZone": "Pacific Standard Time"
}
}
],
"workingHours": {
"daysOfWeek": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"startTime": "08:00:00.0000000",
"endTime": "17:00:00.0000000",
"timeZone": {
"name": "Pacific Standard Time"
}
}
},
{
"scheduleId": "meganb@contoso.com",
"availabilityView": "200120010",
"scheduleItems": [
{
"status": "busy",
"start": {
"dateTime": "2019-03-15T08:30:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2019-03-15T09:30:00.0000000",
"timeZone": "Pacific Standard Time"
}
},
{
"subject": "tentative is represented by 1 and overwritten by the busy-appointment (2) starting from 12 to 13.",
"status": "tentative",
"start": {
"dateTime": "2019-03-15T12:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2019-03-15T14:00:00.0000000",
"timeZone": "Pacific Standard Time"
}
},
{
"status": "busy",
"start": {
"dateTime": "2019-03-15T12:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2019-03-15T13:00:00.0000000",
"timeZone": "Pacific Standard Time"
}
},
{
"status": "busy",
"start": {
"dateTime": "2019-03-15T13:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2019-03-15T14:00:00.0000000",
"timeZone": "Pacific Standard Time"
}
},
{
"status": "tentative",
"start": {
"dateTime": "2019-03-15T16:00:00.0000000",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2019-03-15T17:00:00.0000000",
"timeZone": "Pacific Standard Time"
}
}
],
"workingHours": {
"daysOfWeek": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"startTime": "08:00:00.0000000",
"endTime": "17:00:00.0000000",
"timeZone": {
"@odata.type": "#microsoft.graph.customTimeZone",
"bias": 480,
"name": "Customized Time Zone",
"standardOffset": {
"time": "02:00:00.0000000",
"dayOccurrence": 1,
"dayOfWeek": "sunday",
"month": 11,
"year": 0
},
"daylightOffset": {
"daylightBias": -60,
"time": "02:00:00.0000000",
"dayOccurrence": 2,
"dayOfWeek": "sunday",
"month": 3,
"year": 0
}
}
}
}
]
}