Referencia de API de REST de las tareas de Outlook (versión 2.0)

Se aplica a: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com

La API de calendario proporciona acceso a eventos, calendario y datos de grupos de calendario protegidos por Azure Active Directory en Office 365, y a datos similares en cuentas de Microsoft específicamente en estos dominios: Hotmail.com, Live.com, MSN.com, Outlook.com y Passport.com.

Nota

  • La excepción es la API para encontrar horas de reuniones, que se aplica solo a los buzones de Office 365 (en Azure AD) y no a las cuentas de Microsoft.
  • Para simplificar la referencia, en el resto de este artículo se utiliza Outlook.com para englobar a estos dominios de cuentas Microsoft.

¿No está interesado en la versión 2.0 de la API? En el índice de la izquierda, vaya a la sección Referencia de la API de REST de Office 365 y seleccione la versión que desee.

Todas las operaciones de la API de calendario

Operaciones de eventos

Un evento representa una cita o reunión en el calendario del usuario. Un evento puede ser un patrón de serie (para eventos periódicos), una repetición, una instancia única o una excepción.

Operaciones de calendario

Un calendario sirve como un contenedor de eventos. Un usuario puede tener varios calendarios. En Office 365, cada calendario se puede asignar a un grupo de calendarios.

Operaciones de grupos de calendarios

Los grupos de calendarios son una forma de organizar varios calendarios. Los usuarios pueden agregar varios calendarios a un solo grupo de calendarios en Outlook o Outlook Web App. Esto permite a los usuarios ver más fácilmente y de forma rápida todos los calendarios del grupo.

Nota

Outlook.com solo admite el grupo de calendarios predeterminado al que se puede acceder mediante el acceso directo ../me/calendars. No se puede eliminar ese grupo de calendarios ni crear otro.

Vea también

Uso de la API de REST del calendario

Autenticación

Como cualquier otra API REST de Outlook, para cada solicitud a la API de calendario de Outlook, debería incluir un token de acceso válido. Obtener un token de acceso requiere que haya registrado e identificado su aplicación y obtenido la autorización correspondiente.

Puede obtener más información sobre algunas opciones de registro y autorización optimizadas para usted. Tenga esto en cuenta a medida que avance con las operaciones específicas en la API de calendario.

Ámbitos para acceder a calendarios compartidos

Los calendarios de Office 365 y Outlook.com admiten el uso compartido. Un usuario que ha creado un calendario lo puede compartir con otros usuarios. Se requieren los siguientes ámbitos para acceder a un calendario que se ha compartido con ese usuario:

  • Para el acceso de lectura: https://outlook.office.com/calendars.read.shared
  • Acceso de lectura/escritura: https://outlook.office.com/calendars.readwrite.shared

Versión de la API

La API REST de calendario es compatible con todas las versiones de la API REST de Outlook. La funcionalidad puede variar según la versión específica.

Usuario objetivo

Las solicitudes de la API de calendario siempre se realizan en nombre del usuario actual.

Consulte Utilizar la API REST de Outlook para obtener más información común a todos los subconjuntos de la API REST de Outlook.

Obtener eventos

Obtener una colección de eventos o un evento.

Un cuerpo de evento puede estar en texto o HTML.

Puede utilizar el encabezado Prefer: outlook.body-content-type para especificar el formato que desea que se devuelva en la propiedad Body de una solicitud GET:

  • Especifique Prefer: outlook.body-content-type="text" para obtener un cuerpo de evento que se devuelva en formato de texto.
  • Especifique Prefer: outlook.body-content-type="html" o simplemente omita el encabezado para que se devuelva el cuerpo del evento en formato HTML.

Si especifica cualquiera de los dos encabezados, la respuesta incluirá el encabezado Preference-Applied correspondiente como confirmación:

  • Para las solicitudes de formato de texto: Preference-Applied: outlook.body-content-type="text"
  • Para las solicitudes de formato HTML: Preference-Applied: outlook.body-content-type="html"

Todas las operaciones que obtienen eventos de calendario pueden utilizar el encabezado HTTP Prefer: outlook.timezone para especificar la zona horaria para las horas de inicio y finalización en la respuesta. Por ejemplo, el siguiente encabezado Prefer: outlook.timezone establece las horas de inicio y finalización en la respuesta en la Hora estándar del Este.

Prefer: outlook.timezone="Eastern Standard Time"

Si no especifica el encabezado Prefer: outlook.timezone, las horas de inicio y finalización de la respuesta se devuelven en UTC. Consulte en esta lista los nombres de zona horaria admitidos.

Puede utilizar las propiedades OriginalStartTimeZone y OriginalEndTimeZone del recurso Event para averiguar la zona horaria utilizada al crear el evento.

Obtener una vista de calendario

Ámbito mínimo necesario

Uno de los siguientes:

Obtiene las repeticiones, excepciones e instancias únicas de eventos en una vista de calendario definida por un intervalo de tiempo del calendario principal del usuario (../me/calendarview) o de otro calendario.

GET https://outlook.office.com/api/v2.0/me/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
GET https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
Parámetro obligatorio Tipo Descripción
Parámetros del encabezado
Preferido: outlook.timezone La zona horaria predeterminada para eventos en la respuesta.
Parámetros de dirección URL
calendar_id cadena El Id. del calendario, si desea obtener una vista de calendario de un calendario específico.
start_datetime datetimeoffset La fecha y la hora en que comienza el evento.
end_datetime datetimeoffset La fecha y hora en que finaliza el evento.

Utilice el encabezado Prefer: outlook.timezone para especificar la zona horaria que se utilizará para las horas de inicio y finalización del evento en la respuesta. Si el evento se ha creado en una zona horaria distinta, las horas de inicio y finalización se ajustarán a la zona horaria especificada.

Consulte en esta lista los nombres de zona horaria admitidos. Si no se especifica el encabezado Prefer: outlook.timezone, las horas de inicio y finalización se devuelven en UTC.

Nota

De forma predeterminada, cada evento en la respuesta incluye todas sus propiedades. Utilice $select para especificar solo las propiedades que necesita para un mejor rendimiento. La propiedad Id se devuelve siempre. Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

Por ejemplo, obtenga la vista de calendario para el mes de octubre, de manera que se devuelva solo la propiedad Subject para cada evento. Suponiendo que no se incluye el encabezado Prefer: outlook.timezone en la solicitud, la zona horaria será UTC.

GET https://outlook.office.com/api/v2.0/me/calendarview?startDateTime=2014-10-01T01:00:00&endDateTime=2014-10-31T23:00:00&$select=Subject

Tipo de respuesta

Los eventos expandidos en el intervalo de tiempo especificado.

Obtenga patrones de series y eventos individuales

Ámbito mínimo necesario

Uno de los siguientes:

Obtenga una colección de patrones de series y eventos de instancia única del calendario principal del usuario (../me/events) o de un calendario distinto. Para obtener instancias expandidas de eventos, puede obtener la vista de calendario o bien obtener las instancias de un evento.

GET https://outlook.office.com/api/v2.0/me/events
GET https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}/events
Parámetro obligatorio Tipo Descripción
Parámetros del encabezado
Preferido: outlook.timezone La zona horaria predeterminada para eventos en la respuesta.
Parámetros de dirección URL
calendar_id cadena La Id. de calendario, si recibe eventos de un calendario específico.

Utilice el encabezado Prefer: outlook.timezone para especificar la zona horaria que se utilizará para las horas de inicio y finalización del evento en la respuesta. Si el evento se ha creado en una zona horaria distinta, las horas de inicio y finalización se ajustarán a la zona horaria especificada.

Consulte en esta lista los nombres de zona horaria admitidos. Si no se especifica el encabezado Prefer: outlook.timezone, las horas de inicio y finalización se devuelven en UTC.

Nota

Cada evento en la respuesta incluye todas sus propiedades. Utilice $select para especificar solo las propiedades que necesita para un mejor rendimiento. La propiedad Id se devuelve siempre. Vea el ejemplo siguiente. Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

El siguiente ejemplo muestra cómo utilizar $select para especificar que se devuelvan solo las propiedades Subject, Organizer, Start y End de cada evento en la respuesta. Consulte la primera respuesta de ejemplo en Obtener un evento (REST) para obtener una lista completa de las propiedades que se devolverían para un evento si no se utiliza $select.

Solicitud de muestra

GET https://outlook.office.com/api/v2.0/me/events?$select=Subject,Organizer,Start,End

Respuesta de muestra

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events(Subject,Organizer,Start,End)",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI28tEyDAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAA/LpDWw==\"",
            "Id": "AAMkAGI28tEyDAAA=",
            "Subject": "Scrum",
            "Start": {
                "DateTime": "2015-11-02T17:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "End": {
                "DateTime": "2015-11-02T17:30:00",
                "TimeZone": "Pacific Standard Time"
            },
            "Organizer": {
                "EmailAddress": {
                    "Name": "user0TestUser",
                    "Address": "user0@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI28tEyCAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAA/LpDWg==\"",
            "Id": "AAMkAGI28tEyCAAA=",
            "Subject": "team lunch",
            "Start": {
                "DateTime": "2015-11-02T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "End": {
                "DateTime": "2015-11-03T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "Organizer": {
                "EmailAddress": {
                    "Name": "user0TestUser",
                    "Address": "user0@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2ADTG93AAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x49w==\"",
            "Id": "AAMkAGI2G93AAA=",
            "Subject": "Weekly Meeting on Contoso Project",
            "Start": {
                "DateTime": "2014-10-13T21:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "End": {
                "DateTime": "2014-10-13T22:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG92AAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x49g==\"",
            "Id": "AAMkAGI2TG92AAA=",
            "Subject": "Daily Team Meeting",
            "Start": {
                "DateTime": "2014-10-13T18:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "End": {
                "DateTime": "2014-10-13T18:30:00",
                "TimeZone": "Pacific Standard Time"
            },
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG91AAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x47Q==\"",
            "Id": "AAMkAGI2TG91AAA=",
            "Subject": "Rob:Alex 1:1",
            "Start": {
                "DateTime": "2014-10-15T16:30:00",
                "TimeZone": "Pacific Standard Time"
            },
            "End": "2014-10-15T17:30:00Z",
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG90AAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x46g==\"",
            "Id": "AAMkAGI2TG90AAA=",
            "Subject": "Thanksgiving Holiday",
            "Start": {
                "DateTime": "2015-11-26T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "End": {
                "DateTime": "2015-11-27T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9zAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x46Q==\"",
            "Id": "AAMkAGI2TG9zAAA=",
            "Subject": "Thanksgiving Holiday",
            "Start": {
                "DateTime": "2014-11-27T00:00:00"
                "TimeZone": "Pacific Standard Time"
            },
            "End": {
                "DateTime": "2014-11-28T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9yAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x49Q==\"",
            "Id": "AAMkAGI2TG9yAAA=",
            "Subject": "New Year's Day Holiday",
            "Start": {
                "DateTime": "2015-01-01T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "End": {
                "DateTime": "2015-01-02T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x45w==\"",
            "Id": "AAMkAGI2TG9xAAA=",
            "Subject": "Christmas Holiday",
            "Start": {
                "DateTime": "2014-12-25T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "End": {
                "DateTime": "2014-12-26T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        }
    ]
}

Obtener instancias de evento

Ámbito mínimo necesario

Uno de los siguientes:

Puede obtener las instancias (repeticiones) de un evento para un intervalo de tiempo especificado. Si el evento es un tipo SeriesMaster, esto devuelve las repeticiones y excepciones del evento en el intervalo de tiempo especificado.

GET https://outlook.office.com/api/v2.0/me/events/{event_id}/instances?startDateTime={start_datetime}&endDateTime={end_datetime}
Parámetro obligatorio Tipo Descripción
Parámetros del encabezado
Preferido: outlook.timezone La zona horaria predeterminada para eventos en la respuesta.
Parámetros de dirección URL
event_id cadena Id. de evento.
start_datetime datetimeoffset La fecha y la hora UTC en que comienza el evento.
end_datetime datetimeoffset La fecha y hora UTC en que finaliza el evento.

Utilice el encabezado Prefer: outlook.timezone para especificar la zona horaria que se utilizará para las horas de inicio y finalización del evento en la respuesta. Si el evento se ha creado en una zona horaria distinta, las horas de inicio y finalización se ajustarán a la zona horaria especificada.

Consulte en esta lista los nombres de zona horaria admitidos. Si no se especifica el encabezado Prefer: outlook.timezone, las horas de inicio y finalización se devuelven en UTC.

Tipo de respuesta

La colección de eventos solicitada.

Nota

De forma predeterminada, cada evento en la respuesta incluye todas sus propiedades. Utilice $select para especificar solo las propiedades que necesita para un mejor rendimiento. La propiedad Id se devuelve siempre. Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

Por ejemplo, obtener las instancias de un evento determinado para el mes de octubre, incluir solo las propiedades Subject, Start y End de cada instancia:

GET https://outlook.office.com/api/v2.0/me/events/AAMkAGE0MGM1Y2M5LWEAAA=/instances?startDateTime=2014-10-01T01:00:00Z&endDateTime=2014-10-31T23:00:00Z&$select=Subject,Start,End

Obtener un evento

Ámbito mínimo necesario

Uno de los siguientes:

Obtener un evento por Id.

GET https://outlook.office.com/api/v2.0/me/events/{event_id}
Parámetro obligatorio Tipo Descripción
Parámetros del encabezado
Preferido: outlook.timezone La zona horaria predeterminada para eventos en la respuesta.
Parámetros de dirección URL
event_id cadena Id. de evento.

Utilice el encabezado Prefer: outlook.timezone para especificar la zona horaria que se utilizará para las horas de inicio y finalización del evento en la respuesta. Si el evento se ha creado en una zona horaria distinta, las horas de inicio y finalización se ajustarán a la zona horaria especificada.

Consulte en esta lista los nombres de zona horaria admitidos. Si no se especifica el encabezado Prefer: outlook.timezone, las horas de inicio y finalización se devuelven en UTC.

Solicitud de muestra

GET https://outlook.office.com/api/v2.0/me/events/AAMkAGI2TG93AAA=

Respuesta de muestra

    {
        "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
        "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG93AAA=')",
        "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x48w==\"",
        "Id": "AAMkAGI2TG93AAA=",
        "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x48w==",
        "Categories": [],
        "CreatedDateTime": "2014-10-19T23:13:47.3959685Z",
        "LastModifiedDateTime": "2014-10-19T23:13:47.6772234Z",
        "Subject": "Weekly Meeting on Contoso Project",
        "BodyPreview": "Setting up some time to review the budget and planning on the Contoso Project",
        "Body": {
            "ContentType": "HTML",
            "Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nSetting up some time to review the budget and planning on the Contoso Project\r\n</body>\r\n</html>\r\n"
        },
        "Importance": "Normal",
        "HasAttachments": false,
        "Start": {
            "DateTime": "2014-10-13T21:00:00",
            "TimeZone": "Pacific Standard Time"
        },
        "End": {
            "DateTime": "2014-10-13T22:00:00",
            "TimeZone": ""Pacific Standard Time"
        },        
        "Location": {
            "DisplayName": "Alex's Office",
            "Address": null
        },
        "ShowAs": "Busy",
        "IsAllDay": false,
        "IsCancelled": false,
        "IsOrganizer": true,
        "ResponseRequested": true,
        "Type": "SeriesMaster",
        "SeriesMasterId": null,
        "Attendees": [
            {
                "EmailAddress": {
                    "Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
                    "Name": "Janet Schorr"
                },
                "Status": {
                    "Response": "None",
                    "Time": "0001-01-01T00:00:00Z"
                },
                "Type": "Required"
            },
            {
                "EmailAddress": {
                    "Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
                    "Name": "Pavel Bansky"
                },
                "Status": {
                    "Response": "None",
                    "Time": "0001-01-01T00:00:00Z"
                },
                "Type": "Required"
            }
        ],
        "Recurrence": {
            "Pattern": {
                "Type": "Weekly",
                "Interval": 1,
                "Month": 0,
                "Index": "First",
                "FirstDayOfWeek": "Sunday",
                "DayOfMonth": 0,
                "DaysOfWeek": [
                    "Monday"
                ]
            },
            "RecurrenceTimeZone": "Pacific Standard Time",
            "Range": {
                "Type": "NoEnd",
                "StartDate": "2014-10-13",
                "EndDate": "2014-11-13",
                "NumberOfOccurrences": 0
            }
        },
        "OriginalEndTimeZone": "Pacific Standard Time",
        "OriginalStartTimeZone": "Pacific Standard Time",
        "Organizer": {
            "EmailAddress": {
                "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
                "Name": "Alex D"
            },
        "OnlineMeetingUrl": null
        }
    }

Tipo de respuesta

El evento solicitado.

Nota

De forma predeterminada, la respuesta incluye todas las propiedades del evento. Utilice $select para especificar solo las propiedades que necesita para un mejor rendimiento. La propiedad Id se devuelve siempre. Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

El siguiente ejemplo muestra cómo utilizar $select para especificar que se devuelvan solo las propiedades Subject, Organizer, Start y End de cada evento de la respuesta.

Solicitud de muestra

GET https://outlook.office.com/api/v2.0/me/events/AAMkAGI2TG93AAA=?$select=Subject,Organizer,Start,End

Respuesta de muestra

    {
        "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
        "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG93AAA=')",
        "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x48w==\"",
        "Id": "AAMkAGI2TG93AAA=",
        "Subject": "Weekly Meeting on Contoso Project",
        "Start": {
            "DateTime": "2014-10-13T21:00:00",
            "TimeZone": "Pacific Standard Time"
        },
        "End": {
            "DateTime": "2014-10-13T22:00:00",
            "TimeZone": ""Pacific Standard Time"
        }, 
        "Organizer": {
            "EmailAddress": {
                "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
                "Name": "Alex D"
            }
        }
    }

Sincronizar eventos

Ámbito mínimo necesario

Uno de los siguientes:

Sincronice y obtenga eventos nuevos, actualizados o eliminados en un intervalo de tiempo específico del calendario principal del usuario (../me/calendarview) o de un calendario distinto. Un conjunto de eventos de este tipo en un intervalo de tiempo también se conoce como una vista de calendario. Los eventos devueltos pueden incluir repeticiones y excepciones de una serie periódica e instancias únicas.

La sincronización de una vista de calendario generalmente requiere una ronda de dos o más solicitudes de sincronización, cada una de las cuales es una llamada GET. Para sincronizar una vista de calendario, utilice el método GET de la misma forma en que obtiene una vista de calendario, con la excepción de que debe incluir determinados encabezados de solicitud, y deltaToken o skipToken cuando corresponda.

Encabezados de solicitud

  • Debe especificar el encabezado "Prefer: odata.track-changes" en todas las solicitudes de sincronización, excepto aquellas que incluyen un skipToken que se devuelve de una solicitud de sincronización anterior. En la primera respuesta, busque el encabezado Preference-Applied: odata.track-changes para confirmar que el recurso admite la sincronización antes de continuar. (Más información sobre un skipToken en los datos de la segunda respuesta de ejemplo a continuación.)

  • Puede especificar el encabezado "Prefer: odata.maxpagesize = {x}" para indicar el número máximo de eventos que devuelve la solicitud de sincronización.

A continuación se muestra una ronda típica de eventos de sincronización en una vista de calendario:

  1. Realice la solicitud GET inicial con el encabezado Prefer: odata.track-changes obligatorio. La respuesta inicial a una solicitud de sincronización siempre devuelve un deltaToken. (La segunda solicitud GET y las solicitudes posteriores difieren de la primera solicitud GET al incluir un deltaToken o un skipToken recibido en una respuesta anterior).

  2. Si la primera respuesta devuelve el encabezado Preference-Applied: odata.track-changes, puede continuar con la sincronización.

    • Haga una segunda solicitud GET. Especifque el encabezado Preferar: odata.track-changes y el deltaToken devuelto con el primer GET para determinar si hay mas eventos. La segunda solicitud devolverá eventos adicionales, y un skipToken si hay más eventos disponibles, o un deltaToken si se ha sincronizado el último evento, en cuyo caso puede detenerlo.

    • Continúe la sincronización enviando una llamada GET e incluyendo un skipToken devuelto en la llamada anterior. Deténgase cuando obtenga una respuesta final que contenga un encabezado _@odata.deltaLink_ con un deltaToken de nuevo, lo que indica que la sincronización se ha completado.

Eche un vistazo a la sintaxis de las llamadas iniciales y posteriores en una ronda de sincronización.

Para sincronizar el calendario predeterminado

Solicitud inicial:

GET https://outlook.office.com/api/v2.0/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}

Segunda solicitud, o primera solicitud de una ronda posterior:

GET https://outlook.office.com/api/v2.0/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$deltatoken={delta_token}

Tercera solicitud o solicitud posterior de la misma ronda:

GET https://outlook.office.com/api/v2.0/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$skiptoken={skip_token}

Para sincronizar un calendario específico

Solicitud inicial:

GET https://outlook.office.com/api/v2.0/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}

Segunda solicitud, o primera solicitud de una ronda posterior:

GET https://outlook.office.com/api/v2.0/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$deltatoken={delta_token}

Tercera solicitud o solicitud posterior de la misma ronda:

GET https://outlook.office.com/api/v2.0/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$skiptoken={skip_token}

Parámetros

Parámetro Tipo Descripción
Parámetros de dirección URL
user_context cadena El contexto del usuario. Puede utilizar el valor de 'me' para indicar el contexto del usuario actual. También puede utilizar el formato users / {upn} donde upn es el nombre principal del usuario que generalmente es la dirección de correo electrónico del usuario.
calendar_id cadena El Id. del calendario, si desea obtener una vista de calendario de un calendario específico.
start_datetime datetimeoffset La fecha y la hora en que comienza el evento.
end_datetime datetimeoffset La fecha y hora en que finaliza el evento.
delta_token cadena La cadena deltaToken devuelta como parte del valor de @odata.deltaLink en la respuesta de sincronización anterior.
skip_token cadena La cadena skipToken devuelta como parte del valor de @data.nextLink en la respuesta de sincronización anterior.

Nota

  • Al especificar "Prefer:odata.track-changes" en la solicitud inicial, si la respuesta admite la sincronización, la respuesta incluiría el encabezado "Preference-applied: odata.track-changes".
  • Si intenta sincronizar un recurso que no es compatible, o si esta no es la solicitud de sincronización inicial, no verá el encabezado "Preference-applied" en la respuesta.
  • Puede modificar la ventana de tiempo de cambio cambiando los parámetros de consulta startdatetime y enddatetime.
  • Cada evento en la respuesta incluye todas sus propiedades.
  • Para una serie periódica, una respuesta de sincronización incluye todo el evento para eventos de excepción y de patrón periódicos.
  • Las instancias de una serie periódica se abrevian y contienen solo las propiedades Start y End. Puede capturar el resto de la información del evento de repetición del evento de patrón periódico. Consulte en Recurso de evento la información de referencia.
  • No se pueden usar los parámetros de consulta $filter, $count, $select, $skip, $top ni $search.

Tipo de respuesta

Los eventos expandidos y los eventos abreviados en el intervalo de tiempo especificado.

Ejemplo

El ejemplo siguiente muestra la solicitud de sincronización inicial y la segunda solicitud de sincronización para sincronizar el calendario predeterminado del usuario. Cada solicitud especifica devolver solo un evento completo cada vez:

  • La respuesta inicial devuelve un evento, un deltaLink y deltaToken.
  • La segunda solicitud utiliza ese deltatoken. La segunda respuesta devuelve un evento, un nextLink y skipToken.

Para completar la sincronización, utilice el skipToken devuelto con la solicitud de sincronización anterior hasta que la respuesta de sincronización devuelva un deltaLink y deltaToken, en cuyo caso esta ronda de sincronización se ha completado. Guarde el deltaToken para la próxima ronda de sincronización.

Para obtener más información, consulte Sincronizar eventos en una vista de calendario de Outlook.

Solicitud inicial de ejemplo

    GET https://outlook.office.com/api/v2.0/me/calendarview?startdatetime=2015-01-01T00:00:00Z&enddatetime=2015-04-10T00:00:00Z HTTP/1.1
    Authorization: Bearer <token>
    Prefer: odata.track-changes
    Prefer: odata.maxpagesize=1

Muestra de datos de respuesta inicial

Preference-Applied: odata.track-changes

    {
        "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarView",
        "value": [
            {
                "@odata.id": "https://outlook.office.com/api/v2.0/Users('user0@contoso.com')/Events('asdas==')",
                "@odata.etag": "W/\"L8Z+4Y4u7k+97uRKg==\"",
                "Id": "AQMkANJAAAAA==",
                "ChangeKey": "L8Z+AAAAARKg==",
                "Categories": [
                ],
                "DateTimeCreated": "2015-04-10T17:54:49.2725912Z",
                "DateTimeLastModified": "2015-04-10T17:54:49.3038538Z",
                "Subject": "Discuss the Calendar REST API",
                "BodyPreview": "I think it will meet our requirements!",
                "Body": {
                    "ContentType": "HTML",
                    "Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nI think it will meet our requirements!\r\n</body>\r\n</html>\r\n"
                },
                "Importance": "Normal",
                "HasAttachments": false,
                "Start": {
                    "DateTime": "2015-04-05T18:00:00",
                    "TimeZone": "Pacific Standard Time"
                }
                "End": {
                    "DateTime": "2015-04-05T19:00:00",
                    "TimeZone": "Pacific Standard Time"
                }
                "ReminderMinutesBeforeStart": "15",
                "IsReminderOn": "true",
                "Location": {
                    "DisplayName": "",
                    "Address": null
                },
                "ResponseStatus": {
                    "Response": "Organizer",
                    "Time": "0001-01-01T00:00:00Z"
                },
                "ShowAs": "Busy",
                "IsAllDay": false,
                "IsCancelled": false,
                "IsOrganizer": true,
                "ResponseRequested": true,
                "Type": "SingleInstance",
                "SeriesMasterId": null,
                "Attendees": [
                ],
                "Recurrence": null,
                "OriginalEndTimeZone": "Pacific Standard Time",
                "OriginalStartTimeZone": "Pacific Standard Time",
                "Organizer": {
                    "EmailAddress": {
                        "Address": "user0@contoso.com",
                        "Name": "user0"
                    }
                },
                "iCalUId": "040000008200E9888E07599CCFA23",
                "WebLink": "https://outlook.office.com/owa/?ItemID=AAAINJAAAAA%3D%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
                "OnlineMeetingUrl": null
            }
        ],
        "@odata.deltaLink": "https://outlook.office.com/api/v2.0/me/calendarview/?startdatetime=2015-01-01T00%3a00%3a00Z&enddatetime=2015-04-10T00%3a00%3a00Z&%24deltatoken=v2%2cH4roCAAA%3d%2c1.0%2cFalse%2cA00%2c"
    }

Segunda solicitud de muestra

    GET https://outlook.office.com/api/v2.0/me/calendarview?startdatetime=2015-01-01T00:00:00Z&enddatetime=2015-04-10T00:00:00Z&$deltatoken=v2%2cH4roCAAA%3d%2c1.0%2cFalse%2cA00%2c
    Authorization: Bearer <token>
    Prefer: odata.track-changes
    Prefer: odata.maxpagesize=1

Muestra de datos de segunda respuesta

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarView/$delta",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('user0@contoso.com')/Events('AAMkAD0jAAA=')",
            "@odata.etag": "W/\"P2fd7QAAAAAVFA==\"",
            "Id": "AAMkADNkNmVlOTITVAAAAAA0jAAA=",
            "ChangeKey": "P2fdmIU1QAAAAAVFA==",
            "Categories": [
            ],
            "DateTimeCreated": "2015-04-15T18:59:11.0226221Z",
            "DateTimeLastModified": "2015-04-15T18:59:11.0694979Z",
            "Subject": "1 hour",
            "BodyPreview": "\u200b",
            "Body": {
                "ContentType": "HTML",
                "Content": "<html><body>content</body></html>"
            },
            "Importance": "Normal",
            "HasAttachments": false,
            "Start": {
                "DateTime": "2015-04-16T18:00:00",
                "TimeZone": "Pacific Standard Time"
            }
            "End": {
                "DateTime": "2015-04-16T19:00:00",
                "TimeZone": Pacific Standard Time"
            }
            "ReminderMinutesBeforeStart": "15",
            "IsReminderOn": "true",
            "Location": {
                "DisplayName": "",
                "Address": {
                    "Street": "",
                    "City": "",
                    "State": "",
                    "CountryOrRegion": "",
                    "PostalCode": ""
                }
             },
            "ResponseStatus": {
                "Response": "Organizer",
                "Time": "0001-01-01T00:00:00Z"
            },
            "ShowAs": "Busy",
            "IsAllDay": false,
            "IsCancelled": false,
            "IsOrganizer": true,
            "ResponseRequested": true,
            "Type": "SingleInstance",
            "SeriesMasterId": null,
            "Attendees": [
            ],
            "Recurrence": null,
            "OriginalEndTimeZone": "Pacific Standard Time",
            "OriginalStartTimeZone": "Pacific Standard Time",
            "Organizer": {
                "EmailAddress": {
                    "Address": "user0@contoso.com",
                    "Name": "user0"
                }
            },
            "iCalUId": "040000008200E09BB89A316862",
            "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADNkNmVlOAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
            "OnlineMeetingUrl": null
        }
    ],
    "@odata.nextLink": "https://outlook.office.com/api/v2.0/me/calendarview/?startdatetime=2015-01-01T00%3a00%3a00Z&enddatetime=2015-08-10T00%3a00%3a00Z&%24skipToken=530c9d02ae1a4d96804538bd4d381546"
}

API de búsqueda de horas para reuniones

Ámbito mínimo necesario

Uno de los siguientes:

Busque sugerencias de hora de la reunión en función de la disponibilidad del organizador y los asistentes, y restricciones de hora o de ubicación especificadas como parámetros.

Esta operación se aplica solo a los buzones de Office 365 (en Azure AD) y no a las cuentas de Microsoft.

POST https://outlook.office.com/api/{version}/me/findmeetingtimes

Todos los parámetros compatibles se enumeran a continuación. Dependiendo de su escenario, especifique los parámetros necesarios en el cuerpo de la solicitud de la acción FindMeetingTimes.

Parámetro Tipo Descripción Obligatorio
Asistentes Colección(AttendeeBase) Asistentes o recursos para la reunión. Una colección vacía hace que FindMeetingTimes busque franjas horarias libres solo para el organizador. Opcional
IsOrganizerOptional Edm.Boolean Especifique true si el organizador no tiene necesariamente que asistir. El valor predeterminado es false. Opcional
LocationConstraint LocationConstraint Los requisitos del organizador sobre la ubicación de la reunión, por ejemplo si se requiere una sugerencia para una ubicación de la reunión o si hay ubicaciones específicas en las que únicamente pueda tener lugar la reunión. Opcional
MaxCandidates Edm.Int32 El número máximo de sugerencias de reuniones que se devolverá en la respuesta. Opcional
MeetingDuration Edm.Duration La duración de la reunión expresada en formato ISO 8601 para duraciones, por ejemplo, PT1H representa 1 hora. Si no se especifica la duración de la reunión, FindMeetingTimes utiliza el valor predeterminado de 30 minutos. Opcional
MinimumAttendeePercentage Edm.Double La confianza mínima necesaria para que se devuelva un intervalo de tiempo en la respuesta. Es un valor de porcentaje (%) comprendido entre 0 y 100. Opcional
ReturnSuggestionReasons Edm.Boolean Especifque true para que se devuelva un motivo para cada sugerencia de reunión en la propiedad SuggestionReason. El valor predeterminado es false para que no se devuelva esa propiedad. Opcional
TimeConstraint TimeConstraint Cualquier restricción de tiempo para una reunión, que puede incluir la naturaleza de la reunión (ActivityDomain) y posibles períodos de reunión (TimeSlots). FindMeetingTimes supone ActivityDomain como Work si no especifica este parámetro Opcional

FindMeetingTimes comprueba el estado de disponibilidad en los calendarios principales del organizador y los asistentes. En función de los parámetros especificados, la acción sugiere las mejores horas de reunión posibles. En la tabla siguiente se describen las restricciones que puede especificar en el parámetro TimeConstraint.

Valor ActivityDomain en TimeConstraint Sugerencias de hora de reunión
Trabajo Las sugerencias se encuentran dentro de las horas laborales del usuario, que se definen en la configuración del calendario del usuario y que puede personalizar el usuario o administrador. El horario de trabajo predeterminado es de lunes a viernes de 8 a.m. a 5 p.m. en la configuración de zona horaria para el buzón. Este es el valor predeterminado si no se especifica ActivityDomain.
Personal Las sugerencias están dentro del horario laboral del usuario, y los sábados y domingos. El valor predeterminado es de lunes a domingo, de 8 a. m. a 5 p. m., en la zona horaria establecida para el buzón.
Sin restricciones Las sugerencias pueden pertenecer a cualquier hora del día, todos los días de la semana.
Desconocido No utilice este valor, ya que estará obsoleto en el futuro. Actualmente su comportamiento es igual al de Trabajo. Cambie cualquier código existente para utilizar Trabajo, Personal o Sin restricciones, según corresponda.

Tipo de respuesta

Un MeetingTimeSuggestionsResult que incluye una colección de sugerencias para reuniones, cada una de tipo MeetingTimeSuggestion, y una propiedad EmptySuggestionsReason.

Cada sugerencia se define como un MeetingTimeSuggestion, con asistentes que tienen de forma predeterminada un nivel de confianza del 50 % de asistencia, o un % específico que ha especificado en el parámetro MinimumAttendeePercentage.

De forma predeterminada, cada sugerencia de hora de la reunión se devuelve en formato UTC. Aplique el encabezado de solicitud Prefer: outlook.timezone para que se reajusten las sugerencias de horas para reuniones en una zona horaria distinta, por ejemplo:

Prefer: outlook.timezone="Pacific Standard Time"

Si FindMeetingTimes no puede devolver ninguna sugerencia de reunión, la respuesta indicaría un motivo en la propiedad EmptySuggestionsReason. En función de este valor, puede ajustar mejor los parámetros y llamar de nuevo a FindMeetingTimes.

Nota

Actualmente, FindMeetingTimes supone que cualquier Asistente que es una persona (a diferencia de un recurso) es un asistente necesario. Por lo tanto, especifique Required para una persona y Resource para un recurso en la propiedad Type correspondiente, como parte del parámetro de colección Attendees.

A continuación, cada ejemplo llama a FindMeetingTimesy varía según las restricciones de disponibilidad (de hora y de ubicación) de los asistentes:

Buscar horario y ubicación de reunión con asistentes específicos

Buscar horarios y ubicaciones de reunión especificando los siguientes parámetros en el cuerpo de la solicitud:

  • Asistentes
  • TimeConstraint
  • MeetingDuration

Solicitud de muestra

El siguiente ejemplo sugiere horarios y ubicaciones de reunión teniendo en cuenta la disponibilidad del organizador y del asistente durante las horas laborales del intervalo de tiempo de reunión solicitado, y el período de tiempo solicitado.

POST https://outlook.office.com/api/v2.0/me/findmeetingtimes

Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json 

{ 
  "Attendees": [ 
    { 
      "Type": "Required",  
      "EmailAddress": { 
        "Name": "Fanny",
        "Address": "fannyd@prosewareltd.onmicrosoft.com" 
      } 
    } 
  ],  
  "TimeConstraint": { 
    "ActivityDomain":"Work",
    "Timeslots": [ 
       { 
        "Start": { 
          "DateTime": "2016-05-20T07:00:00",  
          "TimeZone": "Pacific Standard Time" 
        },  
        "End": { 
          "DateTime": "2016-05-20T17:00:00",  
          "TimeZone": "Pacific Standard Time" 
        } 
      } 
    ] 
  },  
  "MeetingDuration": "PT1H" 
} 

Respuesta de muestra

Código de estado: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
    "MeetingTimeSuggestions": [
        {
            "MeetingTimeSlot": {
                "Start": {
                    "DateTime": "2016-05-20T10:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                },
                "End": {
                    "DateTime": "2016-05-20T11:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                }
            },
            "Confidence": 100.0,
            "OrganizerAvailability": "Free",
            "AttendeeAvailability": [
                {
                    "Attendee": {
                        "Type": "Required",
                        "EmailAddress": {
                            "Name": "Fanny",
                            "Address": "fannyd@prosewareltd.onmicrosoft.com"
                        }
                    },
                    "Availability": "Free"
                }
            ],
            "Locations": [
               {
                    "DisplayName": "Tokyo conference room",
                    "LocationEmailAddress": "",
                    "LocationUri": "",
                    "Address": null,
                    "Coordinates": null
                }
            ]
        },
        {
            "MeetingTimeSlot": {
                "Start": {
                    "DateTime": "2016-05-20T11:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                },
                "End": {
                    "DateTime": "2016-05-20T12:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                }
            },
            "Confidence": 100.0,
            "OrganizerAvailability": "Free",
            "AttendeeAvailability": [
                {
                    "Attendee": {
                        "Type": "Required",
                        "EmailAddress": {
                            "Name": "Fanny",
                            "Address": "fannyd@prosewareltd.onmicrosoft.com"
                        }
                    },
                    "Availability": "Free"
                }
            ],
            "Locations": [
               {
                    "DisplayName": "Paris conference room",
                    "LocationEmailAddress": "",
                    "LocationUri": "",
                    "Address": null,
                    "Coordinates": null
                }
            ]
        }
    ],
    "EmptySuggestionsReason": ""
}

Buscar horario de reunión en una ubicación conocida y recibir un motivo para cada sugerencia

Encontrar un horario de reunión en una ubicación predeterminada y solicitar un motivo para cada sugerencia, especificando los siguientes parámetros en el cuerpo de la solicitud:

  • Asistentes
  • LocationConstraint
  • TimeConstraint
  • MeetingDuration
  • ReturnSuggestionReasons

Al establecer el parámetro ReturnSuggestionReasons, también recibe una explicación en la propiedad SuggestionReason de cada sugerencia, si FindMeetingTimes devuelve alguna sugerencia.

Solicitud de muestra

POST https://outlook.office.com/api/v2.0/me/findmeetingtimes

Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json 

{ 
  "Attendees": [ 
    { 
      "Type": "Required",  
      "EmailAddress": { 
        "Name": "Fanny",
        "Address": "fannyd@prosewareltd.onmicrosoft.com" 
      } 
    } 
  ],  
  "LocationConstraint": { 
    "IsRequired": "false",  
    "SuggestLocation": "false",  
    "Locations": [ 
      { 
        "ResolveAvailability": "false",
        "DisplayName": "Conf room Hood" 
      } 
    ] 
  },  
  "TimeConstraint": { 
    "ActivityDomain":"Work",
    "Timeslots": [ 
      { 
        "Start": { 
          "DateTime": "2016-05-20T07:00:00",  
          "TimeZone": "Pacific Standard Time" 
        },  
        "End": { 
          "DateTime": "2016-05-20T17:00:00",  
          "TimeZone": "Pacific Standard Time" 
        } 
      } 
    ] 
  },  
  "MeetingDuration": "PT2H",
  "ReturnSuggestionReasons": "true"
} 

Respuesta de muestra

Código de estado: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
    "MeetingTimeSuggestions": [
        {
            "MeetingTimeSlot": {
                "Start": {
                    "DateTime": "2016-05-20T10:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                },
                "End": {
                    "DateTime": "2016-05-20T12:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                }
            },
            "Confidence": 100.0,
            "OrganizerAvailability": "Free",
            "AttendeeAvailability": [
                {
                    "Attendee": {
                        "Type": "Required",
                        "EmailAddress": {
                            "Name": "Fanny",
                            "Address": "fannyd@prosewareltd.onmicrosoft.com"
                        }
                    },
                    "Availability": "Free"
                }
            ],
            "Locations": [
                {
                    "DisplayName": "Conf room Hood"
                }
            ],
            "SuggestionReason": "Suggested because it is one of the nearest times when all attendees are available."
        }
    ],
    "EmptySuggestionsReason": ""
}

Buscar horario de reunión pero no hay asistentes disponibles

Encontrar un horario de reunión en una ubicación predeterminada, especificando los siguientes parámetros en el cuerpo de la solicitud:

  • Asistentes
  • LocationConstraint
  • TimeConstraint
  • MeetingDuration

En este ejemplo, según los parámetros especificados y la disponibilidad de asistentes, FindMeetingTimes no puede devolver ninguna sugerencia, y en su lugar devuelve un motivo AttendeesUnavailable en la propiedad EmptySuggestionsReason.

Consulte otros posibles motivos por los que no se devuelven sugerencias de reunión.

Solicitud de muestra

POST https://outlook.office.com/api/v2.0/me/findmeetingtimes

Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json 

{ 
  "Attendees": [ 
    { 
      "Type": "Required",  
      "EmailAddress": { 
        "Name": "Fanny",
        "Address": "fannyd@prosewareltd.onmicrosoft.com" 
      } 
    } 
  ],  
  "LocationConstraint": { 
    "IsRequired": "false",  
    "SuggestLocation": "false",  
    "Locations": [ 
      { 
        "ResolveAvailability": "false",
        "DisplayName": "Conf room Hood" 
      } 
    ] 
  },  
  "TimeConstraint": { 
    "Timeslots": [ 
      { 
        "Start": { 
          "DateTime": "2016-05-20T7:00:00",  
          "TimeZone": "Pacific Standard Time" 
        },  
        "End": { 
          "DateTime": "2016-05-20T14:00:00",  
          "TimeZone": "Pacific Standard Time" 
        } 
      } 
    ] 
  },  
  "MeetingDuration": "PT2H" 
}

Respuesta de muestra

Código de estado: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
    "MeetingTimeSuggestions": [
    ],
    "EmptySuggestionsReason": "AttendeesUnavailable"
}

Buscar horario de reunión pero solo algunos asistentes están disponibles

Encontrar un horario de reunión en una ubicación predeterminada, especificando los siguientes parámetros en el cuerpo de la solicitud:

  • Asistentes
  • LocationConstraint
  • TimeConstraint
  • MeetingDuration
  • ReturnSuggestionReasons
  • MinimumAttendeePercentage

En este ejemplo, solo uno de los dos asistentes está disponible. Cada sugerencia de reunión que devuelve FindMeetingTimes incluye:

  • La disponibilidad de cada asistente
  • Una Confianza de reunión calculada que es el % de posibilidades de que asistan de los asistentes. Este valor debe cumplir con el requisito del 60% especificado en MinimumAttendeePercentage.
  • UnSuggestionHint, ya que se ha establecido el parámetro ReturnSuggestionReasons.

Buscar más información sobre la confianza de una reunión.

Solicitud de muestra

POST https://outlook.office.com/api/v2.0/me/findmeetingtimes

Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json 

{ 
  "Attendees": [ 
    { 
      "Type": "Required",  
      "EmailAddress": { 
        "Name": "Fanny",
        "Address": "fannyd@prosewareltd.onmicrosoft.com" 
      } 
    },
   { 
      "Type": "Optional",  
      "EmailAddress": { 
        "Name": "Dana",
        "Address": "danas@prosewareltd.onmicrosoft.com" 
      } 
    } 
  ],  
  "LocationConstraint": { 
    "IsRequired": "false",  
    "SuggestLocation": "false",  
    "Locations": [ 
      { 
        "ResolveAvailability": "false",
        "DisplayName": "Conf room Hood" 
      } 
    ] 
  },  
  "TimeConstraint": { 
    "ActivityDomain":"Work",
    "Timeslots": [ 
      { 
        "Start": { 
          "DateTime": "2016-05-20T09:00:00",  
          "TimeZone": "Pacific Standard Time" 
        },  
        "End": { 
          "DateTime": "2016-05-20T17:00:00",  
          "TimeZone": "Pacific Standard Time" 
        } 
      } 
    ] 
  },  
  "MeetingDuration": "PT1H",
  "ReturnSuggestionReasons": "true",
  "MinimumAttendeePercentage": "60"
}

Respuesta de muestra

Código de estado: 200

{
   "@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
   "MeetingTimeSuggestions":[
      {
         "MeetingTimeSlot":{
            "Start":{
               "DateTime":"2016-05-20T10:00:00.0000000",
               "TimeZone":"Pacific Standard Time"
            },
            "End":{
               "DateTime":"2016-05-20T11:00:00.0000000",
               "TimeZone":"Pacific Standard Time"
            }
         },
         "Confidence":100.0,
         "OrganizerAvailability":"Free",
         "AttendeeAvailability":[
            {
               "Attendee":{
                  "Type":"Required",
                  "EmailAddress":{
                     "Name": "Fanny",
                     "Address":"fannyd@prosewareltd.onmicrosoft.com"
                  }
               },
               "Availability":"Free"
            },
            {
               "Attendee":{
                  "Type":"Required",
                  "EmailAddress":{
                     "Name": "Dana",
                     "Address":"danas@prosewareltd.onmicrosoft.com"
                  }
               },
               "Availability":"Free"
            }
         ],
         "Locations":[
            {
               "DisplayName":"Conf room Hood"
            }
         ],
         "SuggestionReason":"Suggested because it is one of the nearest times when most attendees are available."
      },
      {
         "MeetingTimeSlot":{
            "Start":{
               "DateTime":"2016-05-20T11:00:00.0000000",
               "TimeZone":"Pacific Standard Time"
            },
            "End":{
               "DateTime":"2016-05-20T12:00:00.0000000",
               "TimeZone":"Pacific Standard Time"
            }
         },
         "Confidence":74.5,
         "OrganizerAvailability":"Free",
         "AttendeeAvailability":[
            {
               "Attendee":{
                  "Type":"Required",
                  "EmailAddress":{
                     "Name": "Fanny",
                     "Address":"fannyd@prosewareltd.onmicrosoft.com"
                  }
               },
               "Availability":"Free"
            },
            {
               "Attendee":{
                  "Type":"Required",
                  "EmailAddress":{
                     "Name": "Dana",
                     "Address":"danas@prosewareltd.onmicrosoft.com"
                  }
               },
               "Availability":"Unknown"
            }
         ],
         "Locations":[
            {
               "DisplayName":"Conf room Hood"
            }
         ],
         "SuggestionReason":"Suggested because it is one of the nearest times when most attendees are available."
      }
   ],
   "EmptySuggestionsReason":""
}

Buscar franjas horarias libres solo para el usuario que ha iniciado sesión

Buscar franjas horarias libres en el calendario principal del usuario que ha iniciado sesión en cualquier momento de la semana dentro de un intervalo de fechas, especificando los siguientes parámetros en el cuerpo de la solicitud:

  • TimeConstraint
  • MeetingDuration

Solicitud de muestra

Este ejemplo busca franjas horarias libres de una hora, según lo especificado en MeetingDuration, en el calendario principal del usuario que ha iniciado sesión en cualquier momento de la semana dentro de un intervalo de fechas especificado por TimeConstraint.

POST https://outlook.office.com/api/v2.0/me/findmeetingtimes

Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json 

{ 
  "Attendees": [],
  "TimeConstraint": { 
    "ActivityDomain": "Unrestricted",
    "Timeslots": [ 
      { 
        "Start": { 
          "DateTime": "2016-05-20T06:00:00",  
          "TimeZone": "Pacific Standard Time" 
        },  
        "End": { 
          "DateTime": "2016-05-22T23:00:00",  
          "TimeZone": "Pacific Standard Time" 
        } 
      } 
    ] 
  },  
  "MeetingDuration": "PT1H"
}

Respuesta de muestra

Código de estado: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
    "MeetingTimeSuggestions": [
        {
            "MeetingTimeSlot": {
                "Start": {
                    "DateTime": "2016-05-20T06:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                },
                "End": {
                    "DateTime": "2016-05-20T07:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                }
            },
            "Confidence": 100.0,
            "OrganizerAvailability": "Free",
            "AttendeeAvailability": [
            ],
            "Locations": [
            ]
        },
        {
            "MeetingTimeSlot": {
                "Start": {
                    "DateTime": "2016-05-21T09:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                },
                "End": {
                    "DateTime": "2016-05-21T10:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                }
            },
            "Confidence": 100.0,
            "OrganizerAvailability": "Free",
            "AttendeeAvailability": [
            ],
            "Locations": [
            ]
        },
        {
            "MeetingTimeSlot": {
                "Start": {
                    "DateTime": "2016-05-22T19:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                },
                "End": {
                    "DateTime": "2016-05-22T20:00:00.0000000",
                    "TimeZone": "Pacific Standard Time"
                }
            },
            "Confidence": 100.0,
            "OrganizerAvailability": "Free",
            "AttendeeAvailability": [
            ],
            "Locations": [
            ]
        }
    ],
    "EmptySuggestionsReason": ""
}

Obtener salas de reuniones (versión preliminar)

Esta característica está actualmente disponible en beta. Acceda a la sección Referencia de la API de REST de Office 365 en el índice de la izquierda y seleccione beta para obtener más información.

Crear eventos

Crear un evento de calendario

Ámbito mínimo necesario

Uno de los siguientes:

Cree un evento en el calendario principal del usuario o en un calendario específico publicando en el extremo events del calendario. Cuando se crea el evento, el servidor envía invitaciones a todos los asistentes.

POST https://outlook.office.com/api/v2.0/me/events
POST https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}/events
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
calendar_id cadena Id. de calendario

Solicitud de muestra

POST https://outlook.office.com/api/v2.0/me/events
Content-Type: application/json
{
  "Subject": "Discuss the Calendar REST API",
  "Body": {
    "ContentType": "HTML",
    "Content": "I think it will meet our requirements!"
  },
  "Start": {
      "DateTime": "2014-02-02T18:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "End": {
      "DateTime": "2014-02-02T19:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "Attendees": [
    {
      "EmailAddress": {
        "Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Janet Schorr"
      },
      "Type": "Required"
    }
  ]
}

Respuesta de muestra

Código de estado: 201

{
  "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
  "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE4v1RAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeNheA==\"",
  "Id": "AAMkAGE4v1RAAA=",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeNheA==",
  "Categories": [],
  "CreatedDateTime": "2014-01-22T20:56:10.1058291Z",
  "LastModifiedDateTime": "2014-01-22T20:56:10.3402186Z",
  "Subject": "Discuss the Calendar REST API",
  "BodyPreview": "I think it will meet our requirements!",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nI think it will meet our requirements!\r\n</body>\r\n</html>\r\n"
  },
  "Importance": "Normal",
  "HasAttachments": false,
  "Start": {
      "DateTime": "2014-02-02T18:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "End": {
      "DateTime": "2014-02-02T19:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "Location": {
    "DisplayName": "",
    "Address": null
  },
  "ShowAs": "Busy",
  "IsAllDay": false,
  "IsCancelled": false,
  "IsOrganizer": true,
  "ResponseRequested": true,
  "Type": "SingleInstance",
  "SeriesMasterId": null,
  "Attendees": [
    {
      "EmailAddress": {
        "Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Janet Schorr"
      },
      "Status": {
        "Response": "None",
        "Time": "0001-01-01T00:00:00Z"
      },
      "Type": "Required"
    }
  ],
  "Recurrence": null,
  "OriginalEndTimeZone": "Pacific Standard Time",
  "OriginalStartTimeZone": "Pacific Standard Time",
  "Organizer": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "alexd"
    }
  },
  "OnlineMeetingUrl": null
}

Tipo de respuesta

El nuevo evento.

De forma predeterminada, la respuesta incluye todas las propiedades del nuevo evento. Utilice $select para especificar solo las propiedades que necesita para un mejor rendimiento. La propiedad Id se devuelve siempre.

El siguiente es un ejemplo para incluir solo las propiedades Start y End del nuevo evento en la respuesta.

POST https://outlook.office.com/api/v2.0/me/events?$Select=Start,End

Actualizar eventos

Actualizar un evento de calendario

Ámbito mínimo necesario

Uno de los siguientes:

Cambiar un evento Solo se modifican las propiedades que especifique. Si el usuario es el organizador, el servidor envía las actualizaciones de la reunión a todos los asistentes.

PATCH https://outlook.office.com/api/v2.0/me/events/{event_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
event_id cadena Id. de evento.

Especifique cualquier propiedad event grabable en el cuerpo de la solicitud.

Solicitud de muestra

PATCH https://outlook.office.com/api/v2.0/me/events/AAMkAGE0M4v1OAAA=
Content-Type: application/json

{
  "Location": {
    "DisplayName": "Your office",
    "Address": null
  }
}

Respuesta de muestra

Código de estado: 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Events/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE0M4v1OAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeNheQ==\"",
  "Id": "AAMkAGE0M4v1OAAA=",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeNheQ==",
  "Categories": [],
  "CreatedDateTime": "2014-01-22T20:49:05.5657528Z",
  "LastModifiedDateTime": "2014-01-22T21:14:17.4886416Z",
  "Subject": "Discuss the Calendar REST API",
  "BodyPreview": "I think it will meet our requirements!",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nI think it will meet our requirements!\r\n</body>\r\n</html>\r\n"
  },
  "Importance": "Normal",
  "HasAttachments": false,
  "Start": {
      "DateTime": "2014-02-02T18:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "End": {
      "DateTime": "2014-02-02T19:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "Location": {
    "DisplayName": "Your office",
    "Address": null
  },
  "ShowAs": "Busy",
  "IsAllDay": false,
  "IsCancelled": false,
  "IsOrganizer": true,
  "ResponseRequested": true,
  "Type": "SingleInstance",
  "SeriesMasterId": null,
  "Attendees": [],
  "Recurrence": null,
  "OriginalEndTimeZone": "Pacific Standard Time",
  "OriginalStartTimeZone": "Pacific Standard Time",
  "Organizer": {
    "EmailAddress": {
      "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "alexd"
    }
  },
  "OnlineMeetingUrl": null
}

Tipo de respuesta

El evento actualizado. Si el usuario es el organizador, el servidor envía las actualizaciones de la reunión a todos los asistentes.

De forma predeterminada, la respuesta incluye todas las propiedades del evento actualizado. Utilice $select para especificar solo las propiedades que necesita para un mejor rendimiento. La propiedad Id se devuelve siempre.

PATCH https://outlook.office.com/api/v2.0/me/events/AAMkAGE1MFKPQWAAA=?$select=Location

Responder a eventos

Aceptar evento

Ámbito mínimo necesario

Uno de los siguientes:

Acepta el evento especificado.

POST https://outlook.office.com/api/v2.0/me/events/{event_id}/accept
Parámetro Tipo Descripción
Parámetros de dirección URL
event_id cadena Id. de evento. Necesario.
Parámetros de cuerpo
Comentario cadena Texto incluido en la respuesta. Opcional.
SendResponse booleano true si se va a enviar una respuesta al organizador; de lo contrario, false. Opcional. El valor predeterminado es true.

Solicitud de muestra

POST https://outlook.office.com/api/v2.0/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/accept

Content-Type: application/json

{
  "Comment": "Great idea!",
  "SendResponse": "true"
}

Respuesta

Una respuesta correcta se indica mediante un código de respuesta HTTP 202 Accepted.

Aceptar provisionalmente evento

Ámbito mínimo necesario

Uno de los siguientes:

Acepta provisionalmente el evento especificado.

POST https://outlook.office.com/api/v2.0/me/events/{event_id}/tentativelyaccept
Parámetro Tipo Descripción
Parámetros de dirección URL
event_id cadena Id. de evento. Necesario.
Parámetros de cuerpo
Comentario cadena Texto incluido en la respuesta. Opcional.
SendResponse booleano true si se va a enviar una respuesta al organizador; de lo contrario, false. Opcional. El valor predeterminado es true.

Solicitud de muestra

POST https://outlook.office.com/api/v2.0/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/tentativelyaccept

Content-Type: application/json

{
  "Comment": "I'll confirm later!",
  "SendResponse": "true"
}

Respuesta

Una respuesta correcta se indica mediante un código de respuesta HTTP 202 Accepted.

Rechazar evento

Ámbito mínimo necesario

Uno de los siguientes:

Rechaza la invitación al evento especificado.

POST https://outlook.office.com/api/v2.0/me/events/{event_id}/decline
Parámetro Tipo Descripción
Parámetros de dirección URL
event_id cadena Id. de evento. Necesario.
Parámetros de cuerpo
Comentario cadena Texto incluido en la respuesta. Opcional.
SendResponse booleano true si se va a enviar una respuesta al organizador; de lo contrario, false. Opcional. El valor predeterminado es true.

Solicitud de muestra

POST https://outlook.office.com/api/v2.0/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/decline

Content-Type: application/json

{
  "Comment": "Sorry, maybe next time!",
  "SendResponse": "true"
}

Respuesta

Una respuesta correcta se indica mediante un código de respuesta HTTP 202 Accepted.

Reenviar eventos (versión preliminar)

Esta característica está actualmente disponible solo en la versión beta. Acceda a la sección Referencia de la API de REST de Office 365 en el índice de la izquierda y seleccione beta para obtener más información.

Eliminar eventos

Eliminar un evento del calendario

Ámbito mínimo necesario

Uno de los siguientes:

Mover un evento a la carpeta Elementos eliminados del usuario que ha iniciado sesión. Si el evento es una reunión y el usuario que ha iniciado sesión es el organizador, el servidor envía cancelaciones a todos los asistentes.

DELETE https://outlook.office.com/api/v2.0/me/events/{event_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
event_id cadena Id. de evento.

Solicitud de muestra

DELETE https://outlook.office.com/api/v2.0/me/events/AAMkAGE0M4v1OAAA=

Respuesta de muestra

Status code: 204

Cancelar eventos (versión preliminar)

Esta característica está actualmente disponible solo en la versión beta. Acceda a la sección Referencia de la API de REST de Office 365 en el índice de la izquierda y seleccione beta para obtener más información.

Obtener datos adjuntos

Puede obtener una colección de datos adjuntos o recibir datos adjuntos.

Recibir una recopilación de datos adjuntos

Ámbito mínimo necesario

Uno de los siguientes:

Reciba los datos adjuntos de un evento determinado.

Nota

Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

GET https://outlook.office.com/api/v2.0/me/events/{event_id}/attachments
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
event_id cadena Id. de evento.

Tipo de respuesta

Una recopilación de datos adjuntos que puede ser del tipo FileAttachment o ItemAttachment.

Solicitud de muestra

GET https://outlook.office.com/api/v2.0/me/events/AAMkAGI2NGTG9yAAA=/attachments

Respuesta de muestra

Código de estado: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Events('AAMkAGI2NG9yAAA%3D')/Attachments",
    "value": [
        {
            "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2NGTG9yAAA=')/Attachments('AAMkAGI2NGLwydGuOzcHf1FBlo=')",
            "Id": "AAMkAGI2NGLwydGuOzcHf1FBlo=",
            "LastModifiedDateTime": "2014-10-22T00:30:26Z",
            "Name": "Company Party.docx",
            "ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
            "Size": 11647,
            "IsInline": false,
            "ContentId": null,
            "ContentLocation": null,
            "ContentBytes": "UEsDBBQABgAIAAAAIQDfpNJs...AAF4pAAAAAA=="
        }
    ]
}

Recibir datos adjuntos

Ámbito mínimo necesario

Uno de los siguientes:

Recibir datos adjuntos de un evento determinado.

GET https://outlook.office.com/api/v2.0/me/events/{event_id}/attachments/{attachment_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
event_id cadena Id. de evento.
attachment_id cadena El identificador de los datos adjuntos.

Nota

Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

Tipo de respuesta

El archivo adjunto o elemento adjunto solicitado.

Solicitud de muestra

GET https://outlook.office.com/api/v2.0/me/events/AAMkAGI2WRAAADTG9yAAA=/attachments/AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=

Respuesta de muestra

Código de estado: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Events('AAMkAGI2WRAAADTG9yAAA%3D')/Attachments/$entity",
    "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2WRAAADTG9yAAA=')/Attachments('AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=')",
    "Id": "AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=",
    "LastModifiedDateTime": "2014-10-22T00:30:26Z",
    "Name": "Company Party.docx",
    "ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
    "Size": 11647,
    "IsInline": false,
    "ContentId": null,
    "ContentLocation": null,
    "ContentBytes": "UEsDBBQABgAIAAAAIQD...AAF4pAAAAAA=="
}

Ejemplo de solicitud ($expand en datos adjuntos)

El siguiente ejemplo recibe y expande las 2 referencias adjuntas insertadas con las propiedades del evento.

GET https://outlook.office.com/api/v2.0/me/events('AAMkAGE1Mbs88AADggYEcAAA=')?$expand=attachments

Respuesta de muestra

Código de estado: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events/$entity",
    "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAA4KZrtA==\"",
    "id": "AAMkAGE1Mbs88AADggYEcAAA=",
    "createdDateTime": "2016-03-22T22:19:58.1359352Z",
    "lastModifiedDateTime": "2016-03-22T22:39:09.9335289Z",
    "changeKey": "mODEKWhc/Um6lA3uPm7PPAAA4KZrtA==",
    "categories": [
    ],
    "originalStartTimeZone": "Pacific Standard Time",
    "originalEndTimeZone": "Pacific Standard Time",
    "responseStatus": {
        "response": "organizer",
        "time": "0001-01-01T00:00:00Z"
    },
    "iCalUId": "040000008200E00074C5B7101A82E008000000005895FCF78884D10100000000000000001000000099DD7CA6BCF37C4F9F7DAACCADDD6B89",
    "reminderMinutesBeforeStart": 15,
    "isReminderOn": true,
    "hasAttachments": true,
    "subject": "Plan Easter egg hunt!",
    "body": {
        "contentType": "html",
        "content": "<html>\r\n<body>\r\nLet's get organized for this weekend's gathering.\r\n</body>\r\n</html>\r\n"
    },
    "bodyPreview": "Let's get organized for this weekend's gathering.",
    "importance": "normal",
    "sensitivity": "normal",
    "start": {
        "dateTime": "2016-03-26T17:00:00.0000000",
        "timeZone": "UTC"
    },
    "end": {
        "dateTime": "2016-03-26T18:00:00.0000000",
        "timeZone": "UTC"
    },
    "location": {
        "displayName": "",
        "locationType": "default",
        "address": {
            "type": "unknown"
        },
        "coordinates": {
        }
    },
    "locations": [

    ],
    "isAllDay": false,
    "isCancelled": false,
    "isOrganizer": true,
    "recurrence": null,
    "responseRequested": true,
    "seriesMasterId": null,
    "showAs": "busy",
    "type": "singleInstance",
    "attendees": [
        {
            "status": {
                "response": "none",
                "time": "0001-01-01T00:00:00Z"
            },
            "type": "required",
            "emailAddress": {
                "name": "Randi Welch",
                "address": "randiw@contoso.onmicrosoft.com"
            }
        }
    ],
    "organizer": {
        "emailAddress": {
            "name": "Dana Swope",
            "address": "danas@contoso.onmicrosoft.com"
        }
    },
    "webLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADggYEcAAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
    "onlineMeetingUrl": null,
    "attachments@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events('AAMkAGE1Mbs88AADggYEcAAA%3D')/attachments",
    "attachments": [
        {
            "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
            "id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=",
            "lastModifiedDateTime": "2016-03-22T22:27:20Z",
            "name": "Hydrangea picture",
            "contentType": null,
            "size": 412,
            "isInline": false,
            "sourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
            "providerType": "oneDriveBusiness",
            "thumbnailUrl": null,
            "previewUrl": null,
            "permission": "edit",
            "isFolder": false
        },
        {
            "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
            "id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAE1rHHth7YNLlR9WsgnODy0=",
            "lastModifiedDateTime": "2016-03-22T22:39:09Z",
            "name": "Koala picture",
            "contentType": null,
            "size": 382,
            "isInline": false,
            "sourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
            "providerType": "oneDriveBusiness",
            "thumbnailUrl": null,
            "previewUrl": null,
            "permission": "edit",
            "isFolder": false
        }
    ]
}

Ejemplo de solicitud ($expand en elementos adjuntos anidados)

El siguiente ejemplo recibe un elemento adjunto anidado.

GET https://outlook-sdf.office.com/api/v2.0/me/events/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=$expand=Microsoft.OutlookServices.ItemAttachment/Item

Respuesta de muestra

Status code: 200

{
    "Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=",
    "LastModifiedDateTime": "2017-04-25T20:05:55Z",
    "Name": "RE: Changes to GetConditionMetadata handler",
    "ContentType": null,
    "Size": 78927,
    "IsInline": false,
    "Item": {
        "Id": "", 
        "Name": "How to retrieve item attachment using Outlook REST API",
        "ContentType": message/rfc822,
        "Size": 71094,
        "IsInline": false,
        "LastModifiedDateTime": "2015-09-24T05:57:59Z",
    }
}

Crear adjuntos

Puede crear un archivo adjunto o crear un archivo adjunto para un evento.

Crear un archivo adjunto

Ámbito mínimo necesario

Uno de los siguientes:

Agregue un archivo adjunto a un evento.

POST https://outlook.office.com/api/v2.0/me/events/{event_id}/attachments
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
event_id cadena Id. de evento.
Parámetros de cuerpo
@odata.type cadena #Microsoft.OutlookServices.FileAttachment
Nombre cadena El nombre de los datos adjuntos.
ContentBytes binario El archivo para adjuntar.

Tipo de respuesta

El nuevo archivo adjunto.

Crear un elemento adjunto

Ámbito mínimo necesario

Uno de los siguientes:

Agregue un elemento adjunto a un evento.

POST https://outlook.office.com/api/v2.0/me/events/{event_id}/attachments
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
event_id cadena Id. de evento.
Parámetros de cuerpo
@odata.type cadena # Microsoft.OutlookServices.ItemAttachment
Nombre cadena El nombre de los datos adjuntos.
Elemento Una entidad Mensaje, Evento o Contacto. El elemento para adjuntar.

Tipo de respuesta

El nuevo elemento adjunto.

Crear una referencia adjunta

Ámbito mínimo necesario

https://outlook.office.com/calendars.readwrite

Agregue una referencia adjunta a un evento.

POST https://outlook.office.com/api/v2.0/me/events/{event_id}/attachments
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
event_id Cadena Id. de evento.
Parámetros de cuerpo
@odata.type Cadena #Microsoft.OutlookServices.ReferenceAttachment
Nombre Cadena Nombre para mostrar de los datos adjuntos. Necesario.
SourceUrl Cadena URL para obtener el contenido del archivo adjunto. Si se trata de una URL a una carpeta, para que la carpeta se muestre correctamente en Outlook o Outlook en la web, configure IsFolder en true. Necesario.

Especifique los parámetros Name y SourceUrl y cualquier parámetro reference attachment grabable en el cuerpo de la solicitud.

Tipo de respuesta

La referencia adjunta.

Solicitud de muestra

El siguiente ejemplo agrega una referencia adjunta a un evento existente. El archivo adjunto es un vínculo a un archivo en OneDrive para la Empresa.

POST https://outlook.office.com/api/v2.0/me/events('AAMkAGE1Mbs88AADggYEcAAA=')/attachments
Content-Type: application/json

{
    "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment", 
    "Name": "Hydrangea picture", 
    "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg", 
    "ProviderType": "oneDriveBusiness", 
    "Permission": "Edit", 
    "IsFolder": "False" 
 }

Respuesta de muestra

Código de estado: 201 - Creado

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events('AAMkAGE1Mbs88AADggYEcAAA%3D')/attachments/$entity",
    "@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
    "Id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=",
    "LastModifiedDateTime": "2016-03-22T22:27:20Z",
    "Name": "Hydrangea picture",
    "ContentType": null,
    "Size": 412,
    "IsInline": false,
    "SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
    "ProviderType": "oneDriveBusiness",
    "ThumbnailUrl": null,
    "PreviewUrl": null,
    "Permission": "edit",
    "IsFolder": false
}

Eliminar archivos adjuntos

Eliminar un archivo adjunto de evento

Ámbito mínimo necesario

Uno de los siguientes:

Elimine el archivo adjunto especificado de un evento. El archivo adjunto puede ser un archivo adjunto o elemento adjunto.

DELETE https://outlook.office.com/api/v2.0/me/events/{event_id}/attachments/{attachment_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
event_id cadena Id. de evento.
attachment_id cadena El identificador de los datos adjuntos.

Solicitud de muestra

DELETE https:/outlook.office.com/api/v2.0/me/events/AAMkAGE0MG4v1OAAA=/attachments/AAMkAGITG9yAAA=

Respuesta de muestra

Status code: 204

Recibir recordatorios

Reciba una lista de recordatorios de eventos entre dos fechas y horas de un calendario.

Ámbito mínimo necesario

Uno de los siguientes:

GET https://outlook.office.com/api/v2.0/me/ReminderView(StartDateTime='{DateTime}',EndDateTime='{DateTime}')
Parámetro obligatorio Tipo Descripción
Parámetros del encabezado
Preferido: outlook.timezone La zona horaria predeterminada para los eventos en la respuesta.
Parámetros de dirección URL
StartDateTime cadena La fecha y hora de inicio de los recordatorios devueltos.
EndDateTime cadena La fecha y hora de finalización de los recordatorios devueltos.

Utilice el encabezado Prefer: outlook.timezone para especificar la zona horaria que se utilizará para las horas de inicio y finalización del evento en la respuesta. Si el evento se ha creado en una zona horaria distinta, las horas de inicio y finalización se ajustarán a la zona horaria especificada.

Consulte en esta lista los nombres de zona horaria admitidos. Si no se especifica el encabezado Prefer: outlook.timezone, la zona horaria se establece en UTC.

Posponer recordatorios

Posponga un recordatorio para posponer el recordatorio hasta un nuevo horario.

Ámbito mínimo necesario

Uno de los siguientes:

POST https://outlook.office.com/api/v2.0/me/Events('{id}')/SnoozeReminder
Parámetros necesarios Tipo Descripción
Parámetros de dirección URL
id. cadena El identificador del evento.
Parámetros de cuerpo
NewReminderTime DateTimeTimeZone Nueva fecha y hora para desencadenar el aviso.

Descartar recordatorios

Descarta un recordatorio que se ha desencadenado.

Ámbito mínimo necesario

Uno de los siguientes:

POST https://outlook.office.com/api/v2.0/me/Events({id})/DismissReminder
Parámetros necesarios Tipo Descripción
Parámetros de dirección URL
id. cadena El identificador del evento.

Obtener calendarios

Puede obtener una colección de calendarios u obtener un calendario.

Obtener una colección de calendarios

Ámbito mínimo necesario

Uno de los siguientes:

Obtenga todos los calendarios del usuario (calendars) u obtenga los calendarios de un grupo de calendarios específico.

GET https://outlook.office.com/api/v2.0/me/calendars
GET https://outlook.office.com/api/v2.0/me/calendargroups/{calendar_group_id}/calendars

Nota

Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
calender_group_id cadena Id. del grupo de calendarios.

Solicitud de muestra

https://outlook.office.com/api/v2.0/me/calendars

Respuesta de muestra

Código de estado: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Calendars",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGI2TGuLAAA=')",
            "Id": "AAMkAGI2TGuLAAA=",
            "Name": "Calendar",
            "Color": "Auto",
            "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
            "CanShare":true,
            "CanViewPrivateItems":true,
            "CanEdit":true,
            "Owner":{
              "Name":"Fanny Downs",
              "Address":"fannyd@adatum.onmicrosoft.com"
            }
        }
    ]
}

Obtener un calendario

Ámbito mínimo necesario

Uno de los siguientes:

Obtenga un calendario por ID. Puede obtener el calendario principal del usuario usando el extremo ../me/calendar.

GET https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}

Nota

Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
calendar_id cadena Id. de calendario

Solicitud de muestra

GET https://outlook.office.com/api/v2.0/me/calendars/AAMkAGI2TGuLAAA=

Respuesta de muestra

Código de estado: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Calendars/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGI2TGuLAAA=')",
    "Id": "AAMkAGI2TGuLAAA=",
    "Name": "Calendar",
    "Color": "Auto",
    "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
    "CanShare":true,
    "CanViewPrivateItems":true,
    "CanEdit":true,
    "Owner":{
      "Name":"Fanny Downs",
      "Address":"fannyd@adatum.onmicrosoft.com"
    }
}

Tipo de respuesta

El calendario solicitado.

Crear calendarios

Crear un calendario

Ámbito mínimo necesario

Uno de los siguientes:

Cree un calendario en el grupo de calendarios predeterminado usando el acceso directo ../me/calendars, o en un grupo de calendarios determinado publicando en el extremo calendars del grupo.

POST https://outlook.office.com/api/v2.0/me/calendars
POST https://outlook.office.com/api/v2.0/me/calendargroups/{calendar_group_id}/calendars
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
calender_group_id cadena El Id. del grupo de calendarios, si obtiene calendarios de un grupo específico.
Parámetros de cuerpo
Nombre cadena Nombre del nuevo calendario.

Solicitud de muestra

POST https://outlook.office.com/api/v2.0/me/calendars
Content-Type: application/json

{
  "Name": "Social"
}

Respuesta de muestra

Código de estado: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Calendars/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGE4xLHAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SQ==\"",
  "Id": "AAMkAGE4xLHAAA=",
  "Name": "Social",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SQ==",
  "CanShare":true,
  "CanViewPrivateItems":true,
  "CanEdit":true,
  "Owner":{
    "Name":"Fanny Downs",
    "Address":"fannyd@adatum.onmicrosoft.com"
  }
}

Tipo de respuesta

El nuevo calendario.

Actualizar calendarios

Actualizar un calendario

Ámbito mínimo necesario

Uno de los siguientes:

Cambie las propiedades grabables de un calendario.

PATCH https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
calendar_id cadena Id. de calendario

Solicitud de muestra

PATCH https://outlook.office.com/api/v2.0/me/calendars/AAMkAGE4xLIAAA=
Content-Type: application/json

{
  "Name": "Social events"
}

Respuesta de muestra

Código de estado: 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Calendars/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGE4xLIAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Sw==\"",
  "Id": "AAMkAGE4xLIAAA=",
  "Name": "Social events",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Sw==",
  "CanShare":true,
  "CanViewPrivateItems":true,
  "CanEdit":true,
  "Owner":{
    "Name":"Fanny Downs",
    "Address":"fannyd@adatum.onmicrosoft.com"
  }
}

Tipo de respuesta

El calendario actualizado.

Eliminar calendarios

Eliminar un calendario

Ámbito mínimo necesario

Uno de los siguientes:

DELETE https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
calendar_id cadena Id. de calendario

Solicitud de muestra

DELETE https://outlook.office.com/api/v2.0/me/calendars/AAMkAGE4xLIAAA=

Respuesta de muestra

Status code: 204

Obtener grupos de calendarios

Puede obtener una colección de grupo de calendarios u obtener un grupo de calendarios.

Nota

Outlook.com solo admite el grupo de calendarios predeterminado al que se puede acceder mediante el acceso directo ../me/calendars.

Obtener una colección de grupos de calendarios

Ámbito mínimo necesario

Uno de los siguientes:

Obtenga los grupos de calendarios en un buzón.

GET https://outlook.office.com/api/v2.0/me/calendargroups

Nota

Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

Solicitud de muestra

GET https://outlook.office.com/api/v2.0/me/calendargroups

Respuesta de muestra

Código de estado: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarGroups",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuKAAA=')",
            "Id": "AAMkAGI2TGuKAAA=",
            "Name": "My Calendars",
            "ClassId": "0006f0b7-0000-0000-c000-000000000046",
            "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+g=="
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuMAAA=')",
            "Id": "AAMkAGI2TGuMAAA=",
            "Name": "Other Calendars",
            "ClassId": "0006f0b8-0000-0000-c000-000000000046",
            "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0/A=="
        }
    ]
}

Tipo de respuesta

La colección de grupos de calendarios solicitada.

Obtener un grupo de calendarios

Ámbito mínimo necesario

Uno de los siguientes:

Obtenga un grupo de calendarios por ID.

GET https://outlook.office.com/api/v2.0/me/calendargroups/{calendar_group_id}

Nota

Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.

Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
calendar_group_id cadena Id. del grupo de calendarios.

Solicitud de muestra

GET https://outlook.office.com/api/v2.0/me/calendargroups/AAMkAGI2TGuKAAA=

Respuesta de muestra

Código de estado: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarGroups/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuKAAA=')",
    "Id": "AAMkAGI2TGuKAAA=",
    "Name": "My Calendars",
    "ClassId": "0006f0b7-0000-0000-c000-000000000046",
    "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+g=="
}

Tipo de respuesta

El grupo de calendarios solicitado.

Crear grupos de calendarios

Crear un grupo de calendarios. Name es la única propiedad grabable para un grupo de calendarios.

Nota

Outlook.com solo admite el grupo de calendarios predeterminado al que se puede acceder mediante el acceso directo ../me/calendars. No puede crear otro grupo de calendarios en Outlook.com.

Crear un grupo de calendarios

Ámbito mínimo necesario

Uno de los siguientes:

POST https://outlook.office.com/api/v2.0/me/calendargroups
Parámetro obligatorio Tipo Descripción
Parámetro URL
Parámetros de cuerpo
Nombre cadena El nombre del grupo de calendarios.

Solicitud de muestra

POST https://outlook.office.com/api/v2.0/me/calendargroups
Content-Type: application/json

{
  "Name": "Birthdays"
}

Respuesta de muestra

Código de estado: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarGroups/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGE0M4xLGAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Rw==\"",
  "Id": "AAMkAGE0M4xLGAAA=",
  "Name": "Birthdays",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Rw==",
  "ClassId": "4d969bba-8942-42a0-ae33-c7d4410d1e11"
}

Tipo de respuesta

El nuevo grupo de calendarios.

Actualizar grupos de calendarios

Actualizar un grupo de calendarios

Ámbito mínimo necesario

Uno de los siguientes:

Cambie el nombre de un grupo de calendarios. Name es la única propiedad grabable de grupo de calendarios.

PATCH https://outlook.office.com/api/v2.0/me/calendargroups/{calendar_group_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
calendar_group_id cadena Id. del grupo de calendarios.
Parámetros de cuerpo
Nombre cadena El nombre del grupo de calendarios actualizado.

Solicitud de muestra

PATCH https://outlook.office.com/api/v2.0/me/calendargroups/AAMkAGE0M4xLGAAA=
Content-Type: application/json

{
  "Name": "Holidays"
}

Respuesta de muestra

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarGroups/$entity",
  "@odata.id": "https://https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGE0MGM4xLGAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SA==\"",
  "Id": "AAMkAGE0MGM4xLGAAA=",
  "Name": "Holidays",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SA==",
  "ClassId": "4d969bba-8942-42a0-ae33-c7d4410d1e11"
}

Tipo de respuesta

El grupo de calendarios actualizado.

Eliminar grupos de calendarios

Nota

Outlook.com solo admite el grupo de calendarios predeterminado al que se puede acceder mediante el acceso directo ../me/calendars. No elimine este grupo de calendarios.

Eliminar un grupo de calendarios

Ámbito mínimo necesario

Uno de los siguientes:

DELETE https://outlook.office.com/api/v2.0/me/calendargroups/{calendar_group_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
calendar_group_id cadena Id. del grupo de calendarios.

Solicitud de muestra

DELETE https://outlook.office.com/api/v2.0/me/calendargroups/AAMkAGE0MGM4xLGAAA=

Respuesta de muestra

Status code: 204

Pasos siguientes

Tanto si está listo para empezar a compilar una aplicación como si simplemente desea obtener más información, tenemos todo lo que necesita.

O bien, obtenga más información sobre el uso de la plataforma de Office 365: