calendar: getSchedule
Espace de noms: microsoft.graph
Obtenez les informations de disponibilité d’une collection d’utilisateurs, de listes de distributions ou de ressources (salles ou équipement), correspondant à la période spécifiée.
Cette API est disponible dans les déploiements de cloud national suivants.
Service global | Gouvernement des États-Unis L4 | Us Government L5 (DOD) | Chine gérée par 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.
Type d’autorisation | Autorisations avec privilèges minimum | Autorisations privilégiées plus élevées |
---|---|---|
Déléguée (compte professionnel ou scolaire) | Calendars.ReadBasic | Calendars.Read, Calendars.ReadWrite |
Déléguée (compte Microsoft personnel) | Non prise en charge. | Non prise en charge. |
Application | Calendars.ReadBasic | Calendars.Read, Calendars.ReadWrite |
Requête HTTP
POST /me/calendar/getSchedule
POST /users/{id|userPrincipalName}/calendar/getSchedule
En-têtes de demande
Nom | Type | Description |
---|---|---|
Autorisation | string | Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation. |
Content-Type | string | Nature des données dans le corps d’une entité (application/json). Obligatoire. |
Prefer: outlook.timezone | string | Utilisez cette option pour définir le fuseau horaire pour les heures de début et de fin dans la réponse. Si aucune valeur n’est définie, les heures sont renvoyées au format UTC. Facultatif. |
Corps de la demande
Dans le corps de la demande, indiquez un objet JSON avec les paramètres suivants.
Propriété | Type | Description |
---|---|---|
availabilityViewInterval | Int32 | Représente la durée d’un créneau dans la ressource availabilityView de la réponse. La durée par défaut est de 30 minutes (la valeur minimale est 5 et la valeur maximale est de 1440). Facultatif. |
endTime | dateTimeTimeZone | Date, heure et fuseau horaire de fin de la période. |
planifications | Collection String | Collection d’adresses SMTP des utilisateurs, des listes de distribution ou des ressources dont vous souhaitez connaître les informations de disponibilité. |
startTime | dateTimeTimeZone | Date, heure et fuseau horaire de début de la période. |
Réponse
Si elle réussit, cette méthode renvoie un code de réponse 200 OK
et une collection d’objets scheduleInformation pour chaque objet du paramètre schedules
.
Remarque : Lorsque le calendrier de l’utilisateur a un intervalle de temps qui contient plus de 1 000 entrées, un
5006
code de réponse avec le message « Le jeu de résultats contient trop d’entrées de calendrier. La taille autorisée est 1 000 ; la taille réelle est ..." sera retourné. Pour plus d’informations, consultez kb 2962513.
Exemples
Demande
L’exemple suivant récupère les informations de disponibilité de deux utilisateurs en fonction de la date, de l’heure et du fuseau horaire spécifiés.
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
}
Réponse
L’exemple suivant illustre la réponse. Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
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": "000220000",
"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"
}
}
],
"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": "200220010",
"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"
}
},
{
"status": "busy",
"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": "tentative",
"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
}
}
}
}
]
}