Referencia de la 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 REST de tarea de Outlook le permite crear, leer, sincronizar, actualizar y eliminar las tareas de un usuario que están protegidas por Azure Active Directory en Office 365. La cuenta del usuario puede estar en Office 365 o ser una cuenta Microsoft (Hotmail.com, Live.com, MSN.com, Outlook.com y Passport.com).
Nota
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.
Información general
Puede usar una tarea en Outlook para hacer un seguimiento de un elemento de trabajo. Puede anotar sus fechas de inicio, vencimiento o finalización real, su progreso o estado, o si es periódica o requiere recordatorio.
Las tareas están organizadas en carpetas de tareas que a su vez están organizadas en grupos de tareas. Cada buzón tiene una carpeta de tareas predeterminada (con la propiedad Nombre de Tasks
) y un grupo de tareas predeterminado (la propiedad Nombre es My Tasks
).
Uso de la API de REST de tareas
Autenticación
Como cualquier otra API de REST de Outlook, para cada solicitud a la API de tarea, debería incluir un token de acceso válido. Obtener un token de acceso le obliga a registrar e identificar su aplicación y a obtener la autorización correspondiente.
Puede saber más 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 tarea.
Versión de la API
El estado de esta API ha ascendido de versión preliminar a disponibilidad general. Es compatible con las versiones 2.0 y beta de la API de REST de Outlook.
Usuario destino
Las solicitudes de la API de tarea siempre se realizan en nombre del usuario que inició sesión.
Consulte Utilizar la API de REST de Outlook para obtener más información común a todos los subconjuntos de esa API.
Parámetros de URL
Los ejemplos de este artículo utilizan los siguientes marcadores de posición como parámetros de las URL de solicitud de REST.
Parámetro | Tipo | Descripción |
---|---|---|
Parámetros de URL | ||
attachment_id | cadena | El id. numérico de un adjunto, único en el buzón del usuario. |
folder_id | ||
cadena | El nombre de carpeta conocida Tasks predeterminado, o un id. numérico de una carpeta de tareas, único en el buzón del usuario. |
|
group_id | cadena | El id. numérico de un grupo de tareas, único en el buzón del usuario. |
task_id | cadena | El id. de tarea numérico, único en el buzón del usuario. |
Especificar las propiedades StartDateTime y DueDateTime
Al crear una tarea:
- StartDateTime y DueDateTime son opcionales, pero configurar StartDateTime requiere configurar DueDateTime en la misma fecha o posterior.
- ** Si establece ** solo ** StartDateTime, ** DueDateTime ** se establecerá automáticamente en el mismo valor que StartDateTime.**
- Si configura DueDateTime a
null
, entonces StartDateTime también se establecerá automáticamente ennull
.
Si elige establecer StartDateTime o DueDateTime al crear o actualizar una tarea:
- Especifique la información de la fecha y la zona horaria.
- No especifique un tiempo específico en estas propiedades, ya que el método POST (o PATCH) siempre lo ignora y asume la medianoche en la zona horaria especificada.
- De forma predeterminada, el método POST (o PATCH) convierte el valor en UTC y lo devuelve en UTC en la respuesta.
Por ejemplo, si especifica el 26 de abril en hora estándar del este (EST) en StartDateTime:
"StartDateTime": {
"DateTime": "2016-04-26T09:00:00",
"TimeZone": "Eastern Standard Time"
}
POST (o PATCH) ignora la porción de tiempo, convierte 26 de abril a medianoche en EST a UTC y devuelve ese valor en UTC en la respuesta:
"StartDateTime": {
"DateTime": "2016-04-26T04:00:00.0000000",
"TimeZone": "UTC"
}
Puede usar el encabezado Prefer: outlook.timezone
para tener todas las propiedades relacionadas con la fecha en la respuesta representadas en una zona horaria diferente a UTC.
Devolver propiedades relacionadas con la fecha en una zona horaria personalizada
Las propiedades relacionadas con la fecha del recurso Tarea incluyen lo siguiente:
- CompletedDateTime
- CreatedDateTime
- DueDateTime
- LastModifiedDateTime
- ReminderDateTime
- StartDateTime
De forma predeterminada, las operaciones POST, GET, PATCH y Complete devuelven propiedades relacionadas con la fecha en sus respuestas REST en UTC. Puede usar el encabezado Prefer: outlook.timezone
para tener todas las propiedades relacionadas con la fecha en la respuesta representadas en una zona horaria diferente a UTC. El siguiente ejemplo devuelve propiedades relacionadas con la fecha en EST en la respuesta correspondiente:
Prefer: outlook.timezone="Eastern Standard Time"
Consulte Utilizar la API de REST de Outlook para obtener más información común a todos los subconjuntos de la API de REST de Outlook.
Crear tareas
Ámbito mínimo necesario
Crear una tarea. Hay 2 escenarios principales.
Puede crearMy Tasks
una tarea en el grupo de tareas predeterminado () y la carpeta de tareas predeterminada () del buzón del usuario.Tasks
En este caso, no necesita especificar ningún grupo de tareas o carpeta de tareas.
POST https://outlook.office.com/api/v2.0/me/tasks
También puede crear una tarea en una carpeta de tareas específica:
POST https://outlook.office.com/api/v2.0/me/taskfolders('{folder_id}')/tasks
En el cuerpo de la solicitud, proporcione una representación JSON de la tarea que quiere crear.
Más información sobre la configuración StartDateTime y DueDateTime.
Descubra cómo especificar una cierta zona horaria para todas las propiedades relacionadas con la fecha en la respuesta.
Respuesta
Código de estado de éxito: 201 Creado
Cuerpo de la respuesta: la tarea creada.
Solicitud de ejemplo
El primer ejemplo crea una tarea en la carpeta de tareas especificada y expresa StartDateTime y DueDateTime en hora estándar del Pacífico (PST) en el cuerpo de la solicitud.
POST https://outlook.office.com/api/v2.0/me/taskfolders('AAMkADIyAAAhrbPXAAA=')/tasks
Content-Type: application/json
{
"Subject": "Shop for dinner",
"StartDateTime": {
"DateTime": "2016-04-23T18:00:00",
"TimeZone": "Pacific Standard Time"
},
"DueDateTime": {
"DateTime": "2016-04-25T13:00:00",
"TimeZone": "Pacific Standard Time"
}
}
Respuesta de ejemplo
El método POST ignora la porción de tiempo en el cuerpo de la solicitud y asume que la hora es siempre la medianoche en la zona horaria especificada (PST). Luego, de manera predeterminada, el método POST convierte y muestra todas las propiedades relacionadas con la fecha en UTC en la respuesta.
Status code: 201 Created
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/TaskFolders('AAMkADIyAAAhrbPXAAA%3D')/Tasks/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/Tasks('AAMkADIyAAAhrb_PAAA=')",
"@odata.etag": "W/\"hmM7Eb/jgEec8l3+gkJEawAAIbAOlw==\"",
"Id": "AAMkADIyAAAhrb_PAAA=",
"CreatedDateTime": "2016-04-22T05:44:01.2012012Z",
"LastModifiedDateTime": "2016-04-22T05:44:02.9980882Z",
"ChangeKey": "1/KC9Vmu40G3DwB6Lgs7MAAAIOJMxw==",
"Categories": [ ],
"AssignedTo": null,
"Body": {
"ContentType": "Text",
"Content": ""
},
"CompletedDateTime": null,
"DueDateTime": {
"DateTime": "2016-04-25T07:00:00.0000000",
"TimeZone": "UTC"
},
"HasAttachments":false,
"Importance": "Normal",
"IsReminderOn": false,
"Owner": "Administrator",
"ParentFolderId": "AQMkADA1MTkAAAAIBEgAAAA==",
"Recurrence": null,
"ReminderDateTime": null,
"Sensitivity": "Normal",
"StartDateTime": {
"DateTime": "2016-04-23T07:00:00.0000000",
"TimeZone": "UTC"
},
"Status": "NotStarted",
"Subject": "Shop for dinner"
}
Solicitud de ejemplo
Para mostrar cómo funciona el encabezado Prefer: outlook.timezone
, el siguiente ejemplo crea una tarea, expresa StartDateTime y DueDateTime en hora estándar del este (EST), e incluye un encabezado Prefer
de hora estándar del Pacífico (PST).
POST https://outlook.office.com/api/v2.0/me/tasks HTTP/1.1
Content-Type: application/json
Prefer: outlook.timezone="Pacific Standard Time"
{
"Subject": "Shop for children's weekend",
"StartDateTime": {
"DateTime": "2016-05-03T09:00:00",
"TimeZone": "Eastern Standard Time"
},
"DueDateTime": {
"DateTime": "2016-05-05T16:00:00",
"TimeZone": "Eastern Standard Time"
}
}
Respuesta de ejemplo
Al igual que en el último ejemplo, el método POST ignora la porción de tiempo de StartDateTime y DueDateTime en el cuerpo de la solicitud y asume que es siempre la medianoche en la zona horaria especificada (EST).
Debido a que el encabezado Prefer
especifica PST, el método POST expresa todas las propiedades relacionadas con la fecha en la respuesta en PST. En particular, para las propiedades StartDateTime y DueDateTime, el método POST convierte la medianoche en EST a PST y los devuelve en PST en la respuesta.
Status code: 201 Created
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Tasks/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Tasks('AAMkADA1MHgwAAA=')",
"@odata.etag": "W/\"1/KC9Vmu40G3DwB6Lgs7MAAAIW9XXA==\"",
"Id": "AAMkADA1MHgwAAA=",
"CreatedDateTime": "2016-04-22T15:19:18.9526004-07:00",
"LastModifiedDateTime": "2016-04-22T15:19:19.015101-07:00",
"ChangeKey": "1/KC9Vmu40G3DwB6Lgs7MAAAIW9XXA==",
"Categories": [
],
"AssignedTo": null,
"Body": {
"ContentType": "Text",
"Content": ""
},
"CompletedDateTime": null,
"DueDateTime": {
"DateTime": "2016-05-04T21:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"HasAttachments":false,
"Importance": "Normal",
"IsReminderOn": false,
"Owner": "Administrator",
"ParentFolderId": "AQMkADA1MTEgAAAA==",
"Recurrence": null,
"ReminderDateTime": null,
"Sensitivity": "Normal",
"StartDateTime": {
"DateTime": "2016-05-02T21:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"Status": "NotStarted",
"Subject": "Shop for children's weekend"
}
Obtener tareas
Obtener todas las tareas
Ámbito mínimo necesario
Obtener múltiples tareas.
Puede obtener todas las tareas en el buzón del usuario que ha iniciado la sesión.
GET https://outlook.office.com/api/v2.0/me/tasks
O puede obtener todas las tareas en una carpeta específica:
GET https://outlook.office.com/api/v2.0/me/taskfolders('{folder_id}')/tasks
Si hay más de un grupo de tareas y desea obtener todas las tareas en un grupo de tareas específico, primero obtenga todas las carpetas de tareas en ese grupo de tareas, y luego obtenga las tareas en cada una de estas carpetas de tareas.
Respuesta
Código de estado de éxito: 200 Aceptar
Cuerpo de respuesta: una colección de tareas
De forma predeterminada, las propiedades relacionadas con la fecha en la respuesta se expresan en UTC. Descubra cómo especificar una cierta zona horaria para todas las propiedades relacionadas con la fecha en la respuesta.
Solicitud de ejemplo
El siguiente ejemplo obtiene todas las tareas en el buzón del usuario.
GET https://outlook.office.com/api/v2.0/me/tasks
Respuesta de ejemplo
Status code: 200 OK
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Tasks",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Tasks('AAMkADA1MTrfAAA=')",
"@odata.etag": "W/\"1/KC9Vmu40G3DwB6Lgs7MAAAIOJMxw==\"",
"Id": "AAMkADA1MTrfAAA=",
"CreatedDateTime": "2016-04-22T05:44:01.2012012Z",
"LastModifiedDateTime": "2016-04-22T05:44:02.9980882Z",
"ChangeKey": "1/KC9Vmu40G3DwB6Lgs7MAAAIOJMxw==",
"Categories": [ ],
"AssignedTo": null,
"Body": {
"ContentType": "Text",
"Content": ""
},
"CompletedDateTime": null,
"DueDateTime": {
"DateTime": "2016-04-25T07:00:00.0000000",
"TimeZone": "UTC"
},
"HasAttachments":false,
"Importance": "Normal",
"IsReminderOn": false,
"Owner": "Administrator",
"ParentFolderId": "AQMkADA1MTBEgAAAA==",
"Recurrence": null,
"ReminderDateTime": null,
"Sensitivity": "Normal",
"StartDateTime": {
"DateTime": "2016-04-23T07:00:00.0000000",
"TimeZone": "UTC"
},
"Status": "NotStarted",
"Subject": "Shop for dinner"
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Tasks('AAMkADA1MTrgAAA=')",
"@odata.etag": "W/\"1/KC9Vmu40G3DwB6Lgs7MAAAIOJMyQ==\"",
"Id": "AAMkADA1MTrgAAA=",
"CreatedDateTime": "2016-04-22T06:03:35.9279794Z",
"LastModifiedDateTime": "2016-04-22T06:03:35.9436052Z",
"ChangeKey": "1/KC9Vmu40G3DwB6Lgs7MAAAIOJMyQ==",
"Categories": [ ],
"AssignedTo": null,
"Body": {
"ContentType": "Text",
"Content": ""
},
"CompletedDateTime": null,
"DueDateTime": {
"DateTime": "2016-04-27T04:00:00.0000000",
"TimeZone": "UTC"
},
"HasAttachments":false,
"Importance": "Normal",
"IsReminderOn": false,
"Owner": "Administrator",
"ParentFolderId": "AQMkADA1MTBEgAAAA==",
"Recurrence": null,
"ReminderDateTime": null,
"Sensitivity": "Normal",
"StartDateTime": {
"DateTime": "2016-04-26T04:00:00.0000000",
"TimeZone": "UTC"
},
"Status": "NotStarted",
"Subject": "Shop for dinner"
}
]
}
Obtener una tarea
Ámbito mínimo necesario
Obtener una tarea específica.
GET https://outlook.office.com/api/v2.0/me/tasks('{task_id}')
Respuesta
Código de estado de éxito: 200 Aceptar
Cuerpo de respuesta: la tarea solicitada.
De forma predeterminada, las propiedades relacionadas con la fecha en la respuesta se expresan en UTC. Descubra cómo especificar una cierta zona horaria para todas las propiedades relacionadas con la fecha en la respuesta.
Solicitud de ejemplo
GET https://outlook.office.com/api/v2.0/me/tasks('AAMkADA1MTrgAAA=')
Respuesta de ejemplo
Status code: 200 OK
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Tasks/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/Tasks('AAMkADA1MTrgAAA=')",
"@odata.etag": "W/\"hmM7Eb/jgEec8l3+gkJEawAAIa/+kw==\"",
"Id": "AAMkADA1MTrgAAA=",
"CreatedDateTime": "2016-04-22T06:03:35.9279794Z",
"LastModifiedDateTime": "2016-04-22T06:03:35.9436052Z",
"ChangeKey": "1/KC9Vmu40G3DwB6Lgs7MAAAIOJMyQ==",
"Categories": [ ],
"AssignedTo": null,
"Body": {
"ContentType": "Text",
"Content": ""
},
"CompletedDateTime": null,
"DueDateTime": {
"DateTime": "2016-04-27T04:00:00.0000000",
"TimeZone": "UTC"
},
"HasAttachments":false,
"Importance": "Normal",
"IsReminderOn": false,
"Owner": "Administrator",
"ParentFolderId": "AQMkADA1MTBEgAAAA==",
"Recurrence": null,
"ReminderDateTime": null,
"Sensitivity": "Normal",
"StartDateTime": {
"DateTime": "2016-04-26T04:00:00.0000000",
"TimeZone": "UTC"
},
"Status": "NotStarted",
"Subject": "Shop for dinner"
}
Actualizar tareas
Ámbito mínimo necesario
Cambia las propiedades modificables de una tarea.
PATCH https://outlook.office.com/api/v2.0/me/tasks/{task_id}
En el cuerpo de la solicitud, proporcione una representación JSON de las propiedades modificables para actualizar en la tarea.
Más información sobre la configuración StartDateTime y DueDateTime.
La propiedad CompletedDateTime puede ser establecida por la acción Complete, o explícitamente por una operación PATCH. Si usa PATCH para establecer CompletedDateTime, asegúrese de configurar Estado en Completed
también.
De forma predeterminada, las propiedades relacionadas con la fecha en la respuesta se expresan en UTC. Descubra cómo especificar una cierta zona horaria para todas las propiedades relacionadas con la fecha en la respuesta.
Respuesta
Código de estado de éxito: 200 Aceptar
Cuerpo de la respuesta: la tarea actualizada.
Solicitud de ejemplo
El siguiente ejemplo modifica DueDateTime y usa el encabezado Prefer: outlook.timezone
para especificar las propiedades relacionadas con la fecha que se expresarán en hora estándar del este (EST) en la respuesta.
PATCH https://outlook.office.com/api/v2.0/me/tasks('AAMkADA1MTHgwAAA=')
Prefer: outlook.timezone="Eastern Standard Time"
Content-Type: application/json
{
"DueDateTime": {
"DateTime": "2016-05-06T16:00:00",
"TimeZone": "Eastern Standard Time"
}
}
Respuesta de ejemplo
Status code: 200 OK
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Tasks/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/Tasks('AAMkADA1MTHgwAAA=')",
"@odata.etag": "W/\"hmM7Eb/jgEec8l3+gkJEawAAIa/+lg==\"",
"Id": "AAMkADA1MTHgwAAA=",
"CreatedDateTime": "2016-04-22T18:19:18.9526004-04:00",
"LastModifiedDateTime": "2016-04-22T18:38:20.5541528-04:00",
"ChangeKey": "1/KC9Vmu40G3DwB6Lgs7MAAAIW9XXg==",
"Categories": [
],
"AssignedTo": null,
"Body": {
"ContentType": "Text",
"Content": ""
},
"CompletedDateTime": null,
"DueDateTime": {
"DateTime": "2016-05-06T00:00:00.0000000",
"TimeZone": "Eastern Standard Time"
},
"HasAttachments":false,
"Importance": "Normal",
"IsReminderOn": false,
"Owner": "Administrator",
"ParentFolderId": "AQMkADA1MTIBEgAAAA==",
"Recurrence": null,
"ReminderDateTime": null,
"Sensitivity": "Normal",
"StartDateTime": {
"DateTime": "2016-05-03T00:00:00.0000000",
"TimeZone": "Eastern Standard Time"
},
"Status": "NotStarted",
"Subject": "Shop for children's weekend"
}
Eliminar tareas
Ámbito mínimo necesario
Elimina la tarea especificada en el buzón del usuario.
DELETE https://outlook.office.com/api/v2.0/me/tasks('{task_id}')
Respuesta
Código de estado de éxito: 204 Sin contenido
Cuerpo de la respuesta: ninguno
Solicitud de ejemplo
DELETE https://outlook.office365.com/api/v2.0/me/tasks('AAMkADIyAAAhrb_QAAA=')
Respuesta de ejemplo
Status code: 204 No Content
Completar tareas
Ámbito mínimo necesario
Completa una tarea y configura la propiedad CompletedDateTime a la fecha actual, y la propiedad Estado a Completed
.
POST https://outlook.office.com/api/v2.0/me/tasks('{task_id}')/complete
Nota
CompletedDateTime representa la fecha en que la tarea finaliza. La porción de tiempo de CompletedDateTime está configurada a la medianoche UTC de forma predeterminada.
Una aplicación puede especificar una zona horaria personalizada en un encabezado de solicitud Prefer
. El siguiente es un ejemplo para establecer CompletedDateTime a la zona horaria de la hora estándar del Pacífico (PST):
Prefer: outlook.timezone="Pacific Standard Time"
Este encabezado de solicitud establece todas las propiedades relacionadas con la fecha en la respuesta a la zona horaria especificada.
Respuesta
Código de estado de éxito: 200 Aceptar
Cuerpo de la respuesta: la tarea completada en una colección de tareas. Si está completando una tarea en una serie recurrente, la colección de tareas contendrá la tarea completada en la serie y la siguiente tarea de la serie.
Solicitud de ejemplo
El siguiente ejemplo marca la tarea especificada como completa. Debido a que especifica el horario estándar del Pacífico (PST) en el encabezado Prefer: outlook.timezone
, CompletedDateTime y otras propiedades relacionadas con la fecha en la respuesta se expresan en PST.
POST https://outlook.office.com/api/v2.0/me/tasks('AAMkADA1MT15rfAAA=')/complete
Prefer: outlook.timezone="Pacific Standard Time"
Respuesta de ejemplo
Status code: 200 OK
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Tasks",
"value": [
{
"@odata.id": "https://outlook.office365.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/Tasks('AAMkADA1MT15rfAAA=')",
"@odata.etag": "W/\"hmM7Eb/jgEec8l3+gkJEawAAIa/+lw==\"",
"Id": "AAMkADA1MT15rfAAA=",
"CreatedDateTime": "2016-04-21T22:44:01.2012012-07:00",
"LastModifiedDateTime": "2016-04-22T19:28:38.5300447-07:00",
"ChangeKey": "1/KC9Vmu40G3DwB6Lgs7MAAAIW9XYQ==",
"Categories": [
],
"AssignedTo": null,
"Body": {
"ContentType": "Text",
"Content": ""
},
"CompletedDateTime": {
"DateTime": "2016-04-22T00:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"DueDateTime": {
"DateTime": "2016-04-25T00:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"HasAttachments":false,
"Importance": "Normal",
"IsReminderOn": false,
"Owner": "Administrator",
"ParentFolderId": "AQMkADA1MTIBEgAAAA==",
"Recurrence": null,
"ReminderDateTime": null,
"Sensitivity": "Normal",
"StartDateTime": {
"DateTime": "2016-04-21T00:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"Status": "Completed",
"Subject": "Shop for dinner"
}
]
}
Sincronizar tareas o carpetas de tareas
Ámbito mínimo necesario
Puede sincronizar tareas en una carpeta de tareas o carpetas de tareas en el buzón de un usuario. La sincronización de tareas es una operación por carpeta, por ejemplo, puede sincronizar todas las tareas en su carpeta de tareas predeterminada Tasks
. Para sincronizar los mensajes en una jerarquía de carpetas, necesita sincronizar cada carpeta individualmente. Los procesos para sincronizar tareas o carpetas de tareas son similares, por lo general requieren una ronda de dos o más solicitudes de sincronización, cada una de las cuales es una llamada GET.
Use el método GET de forma similar a como obtiene tareas en una carpeta, u obtiene carpetas de tareas en un buzón, excepto por que incluirá ciertos encabezados de solicitud, y un deltaToken o skipToken cuando sea apropiado.
Encabezados de solicitud
- Debe especificar el encabezado
Prefer: odata.track-changes
en todas las solicitudes de sincronización, excepto aquellas que incluyen unskipToken
que se devuelve de una solicitud de sincronización previa. 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 unskipToken
en datos de segunda respuesta de muestra para tareas si está sincronizando tareas, o datos de segunda respuesta de muestra para carpetas de tareas, si está sincronizando carpetas de tareas). - Puede especificar el encabezado
Prefer: odata.maxpagesize={x}
para indicar el número máximo de tareas (o carpetas de tareas, dependiendo de cuál se está sincronizando) que devuelve cada solicitud de sincronización.
A continuación se muestra una ronda típica de sincronización:
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).
Si la primera respuesta devuelve el encabezado Preference-Applied: odata.track-changes, puede continuar con la sincronización del recurso.
Realice una segunda solicitud GET. Especifique el encabezado Prefer: odata.track-changes y el deltaToken devuelto desde el primer GET para determinar si hay instancias adicionales del recurso a sincronizar. La segunda solicitud devolverá instancias adicionales y un skipToken si hay más instancias disponibles, o un deltaToken si la última instancia se ha sincronizado, en ese caso puede detenerse.
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.
Sincronizar tareas en una carpeta de tareas
Solicitud inicial:
GET https://outlook.office.com/api/v2.0/me/TaskFolders('{folder_id}')/Tasks
Segunda solicitud, o primera solicitud de una ronda posterior:
GET https://outlook.office.com/api/v2.0/me/TaskFolders('{folder_id}')/Tasks/?$deltatoken={delta_token}
Tercera solicitud o posterior en la misma ronda; deténgase cuando reciba una respuesta que contenga un encabezado @odata.deltaLink
con un deltaToken
de nuevo:
GET https://outlook.office.com/api/v2.0/me/TaskFolders('{folder_id}')/Tasks/?$skiptoken={skip_token}
Sincronizar carpetas de tareas en un buzón
Solicitud inicial:
GET https://outlook.office.com/api/v2.0/me/TaskFolders
Segunda solicitud, o primera solicitud de una ronda posterior:
GET https://outlook.office.com/api/v2.0/me/TaskFolders/?$deltatoken={delta_token}
Tercera solicitud o posterior en la misma ronda; deténgase cuando reciba una respuesta que contenga un encabezado @odata.deltaLink
con un deltaToken
de nuevo:
GET https://outlook.office.com/api/v2.0/me/TaskFolders/?$skiptoken={skip_token}
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
Parámetros del encabezado | ||
Preferido | odata.track-changes | Indica que la solicitud es una solicitud de sincronización. Necesario para las primeras 2 solicitudes GET de una ronda. |
Preferido | odata.maxpagesize | Establece el número de mensajes que se devolverán en cada respuesta. Opcional. |
Parámetros de URL | ||
deltaToken | cadena | La cadena deltaToken devuelta como parte del valor de @odata.deltaLink en la respuesta de sincronización anterior. |
skipToken | cadena | La cadena skipToken devuelta como parte del valor de @data.nextLink en la respuesta de sincronización anterior. |
Nota
- Cuando se especifica
Prefer: odata.track-changes
en la solicitud inicial, si la respuesta admite la sincronización, la respuesta incluiráPreference-applied: odata.track-changes
en el encabezado. - Si intenta sincronizar un recurso que no se admite, o si esta no es la solicitud de sincronización inicial, no verá el encabezado
Preference-applied
en la respuesta. - Para obtener un mejor tiempo de respuesta, use el parámetro de consulta $select para obtener solo las propiedades útiles para su escenario.
- No puede usar los parámetros de consulta $filter, $orderby, $search y $top.
Cuerpo de la respuesta
Si sincroniza tareas: los objetos tarea solicitados en una colección.
Si sincroniza carpetas de tareas: los objetos TaskFolder solicitados en una colección.
La cantidad de objetos depende del valor establecido en el encabezado de solicitud Prefer: odata.maxpagesize
.
Ejemplo
A continuación, se muestran dos conjuntos de ejemplos:
Cada ejemplo muestra las solicitudes de sincronización inicial y segunda.
- Cada solicitud especifica
Prefer: odata.maxpagesize=1
para devolver solo un objeto (tarea o carpeta de tareas, respectivamente) cada vez. - La respuesta inicial devuelve un objeto sincronizado, un
deltaLink
ydeltaToken
. - La segunda solicitud utiliza ese
deltatoken
. La segunda respuesta devuelve un objeto sincronizado, unnextLink
yskipToken
.
Itere a través del proceso de sincronización y use en la próxima llamada GET el skipToken
devuelto desde la solicitud de sincronización anterior hasta que obtenga una respuesta de sincronización que contenga un deltaLink
y deltaToken
como a continuación:
"@odata.deltaLink": “https://outlook.office.com/api/v2.0/me/TaskFolders('AQMkAGMw80AAAIBEgAAAA==')/Tasks/?%24deltaToken=294a8f04cc0345c5ae093d484629e186”
Cuando esto sucede, esta ronda de sincronización está completa. Guarde el deltaToken
para la próxima ronda de sincronización.
Ejemplo de solicitud inicial (tareas de sincronización)
GET https://outlook.office.com/api/v2.0/me/TaskFolders('AQMkAGMwAAAIBEgAAAA==')/Tasks HTTP/1.1
Prefer: odata.maxpagesize=1
Prefer: odata.track-changes
Ejemplo de datos de respuesta inicial (tareas de sincronización)
HTTP/1.1 200 OK
Preference-Applied: odata.track-changes
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#me/TaskFolders('AQMkAGMwAAAIBEgAAAA%3D%3D')/Tasks",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('47ec4680-f443-4f9c-a3e5-f7660f0aceae@b4ffe6c0-e717-4104-acd1-e9dfe38ff5f9')/Tasks('AAMkAGMwQsKVevNAAAG1VNmAAA=')",
"@odata.etag": "W/\"3JfzyLwJe0mPNcULClXrzQAABtYBDw==\"",
"Id": "AAMkAGMwQsKVevNAAAG1VNmAAA=",
"CreatedDateTime": "2016-02-29T20:51:25.2226052Z",
"LastModifiedDateTime": "2016-02-29T20:51:25.2538576Z",
"ChangeKey": "3JfzyLwJe0mPNcULClXrzQAABtYBDw==",
"Categories": [ ],
"AssignedTo": null,
"Body": {
"ContentType": "Text",
"Content": ""
},
"CompletedDateTime": null,
"DueDateTime": null,
"HasAttachments":false,
"Importance": "Normal",
"IsReminderOn": false,
"Owner": "Administrator",
"ParentFolderId": "AQMkAGMwAAAIBEgAAAA==",
"Recurrence": null,
"ReminderDateTime": null,
"Sensitivity": "Normal",
"StartDateTime": null,
"Status": "NotStarted",
"Subject": "another task"
}
],
"@odata.deltaLink": "https://outlook.office.com/api/v2.0/me/TaskFolders('AQMkAGMwAAAIBEgAAAA==')/Tasks/?%24deltatoken=175e2e04482e431ea96e89145c212f8c"
}
Ejemplo de segunda solicitud (tareas de sincronización)
GET https://outlook.office.com/api/v2.0/me/TaskFolders('AQMkAGMwAAAIBEgAAAA==')/Tasks/?%24deltatoken=175e2e04482e431ea96e89145c212f8c HTTP/1.1
Prefer: odata.maxpagesize=1
Prefer: odata.track-changes
Ejemplo de datos de segunda respuesta (tareas de sincronización)
HTTP/1.1 200 OK
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#me/TaskFolders('AQMkAGMwAAAIBEgAAAA%3D%3D')/Tasks/$delta",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('47ec4680-f443-4f9c-a3e5-f7660f0aceae@b4ffe6c0-e717-4104-acd1-e9dfe38ff5f9')/Tasks('AAMkAGMwQsKVevNAAAG1VNlAAA=')",
"@odata.etag": "W/\"3JfzyLwJe0mPNcULClXrzQAABtYBDQ==\"",
"Id": "AAMkAGMwQsKVevNAAAG1VNlAAA=",
"CreatedDateTime": "2016-02-29T20:51:02.5955351Z",
"LastModifiedDateTime": "2016-02-29T20:51:03.9703679Z",
"ChangeKey": "3JfzyLwJe0mPNcULClXrzQAABtYBDQ==",
"Categories": [ ],
"AssignedTo": null,
"Body": {
"ContentType": "Text",
"Content": ""
},
"CompletedDateTime": null,
"DueDateTimeTime": null,
"HasAttachments":false,
"Importance": "Normal",
"IsReminderOn": false,
"Owner": "Administrator",
"ParentFolderId": "AQMkAGMwAAAIBEgAAAA==",
"Recurrence": null,
"ReminderDateTime": null,
"Sensitivity": "Normal",
"StartDateTime": null,
"Status": "NotStarted",
"Subject": "another task"
}
],
"@odata.nextLink": "https://outlook.office.com/api/v2.0/me/TaskFolders('AQMkAGMw80AAAIBEgAAAA==')/Tasks/?%24skipToken=0fbce2031e844a2f9d13d8bee5ebe2c6"
}
Continúe sincronizando tareas y use en la próxima llamada GET el skiptoken
devuelto en @odata.nextLink
de la respuesta anterior, hasta que la respuesta final contenga un @odata.deltaLink
y un deltaToken
. Guarde el deltaToken
para la próxima ronda de sincronización.
Ejemplo de solicitud inicial (sincronizar carpetas de tareas)
GET https://outlook.office.com/api/v2.0/me/TaskFolders HTTP/1.1
Prefer: odata.maxpagesize=1
Prefer: odata.track-changes
Ejemplo de datos de respuesta inicial (sincronizar carpetas de tareas)
HTTP/1.1 200 OK
Preference-Applied: odata.track-changes
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#me/TaskFolders",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('5bcd7334-a6c5-4f95-a370-319e077dfe10@e288a0d0-ab74-431b-9699-a3721aabb08f')/TaskFolders('AAMkAGJiAAAAAAESAAA=')",
"Id": "AAMkAGJiAAAAAAESAAA=",
"ChangeKey": "PG2a661l00Cy9qH3YxmDfwAAAAAAPA==",
"Name": "Tasks",
"IsDefaultFolder":true,
"ParentGroupKey": "0006f0b7-0000-0000-c000-000000000046"
}
],
"@odata.deltaLink": "https://outlook.office.com/api/v2.0/me/TaskFolders/?%24deltatoken=OyZKBDxtmuutZdNAsvah92MZg38AAAAAZwkBAAAA"
}
Ejemplo de segunda solicitud (sincronizar carpetas de tareas)
GET https://outlook.office.com/api/v2.0/me/TaskFolders/?%24deltatoken=OyZKBDxtmuutZdNAsvah92MZg38AAAAAZwkBAAAA HTTP/1.1
Prefer: odata.maxpagesize=1
Prefer: odata.track-changes
Ejemplo de datos de segunda respuesta (sincronizar carpetas de tareas)
HTTP/1.1 200 OK
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#me/TaskFolders/$delta",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('5bcd7334-a6c5-4f95-a370-319e077dfe10@e288a0d0-ab74-431b-9699-a3721aabb08f')/TaskFolders('AAMkAGI5AAAunDbWAAA=')",
"Id": "AAMkAGI5AAAunDbWAAA=",
"ChangeKey": "PmebZ1wYAUaTmrKkvU9LIQAALqEkaw==",
"Name": "Bingo",
"IsDefaultFolder":false,
"ParentGroupKey": "db0823f2-93bd-4db6-8038-98bbc5f39a45"
}
],
"@odata.nextLink": "https://outlook.office.com/api/v2.0/me/TaskFolders/?%24skipToken=x_zCAz5nm2dcGAFGk5qypL1PSyEAAC6cRncCAAAA"
}
Continúe sincronizando tareas y use en la próxima llamada GET el skiptoken
devuelto en @odata.nextLink
de la respuesta anterior, hasta que la respuesta final contenga un @odata.deltaLink
y un deltaToken
. En este ejemplo, la tercera solicitud devuelve un deltaToken
y la sincronización está completa para esta ronda.
Ejemplo de tercera solicitud (sincronizar carpetas de tareas)
GET https://outlook.office.com/api/v2.0/me/TaskFolders/?%24skipToken=x_zCAz5nm2dcGAFGk5qypL1PSyEAAC6cRncCAAAA HTTP/1.1
Prefer: odata.maxpagesize=1
Ejemplo de datos de tercera respuesta (sincronizar carpetas de tareas)
HTTP/1.1 200 OK
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#me/TaskFolders/$delta",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('5bcd7334-a6c5-4f95-a370-319e077dfe10@e288a0d0-ab74-431b-9699-a3721aabb08f')/TaskFolders('AAMkAGI5AAAunDbVAAA=')",
"Id": "AAMkAGI5AAAunDbVAAA=",
"ChangeKey": "PmebZ1wYAUaTmrKkvU9LIQAALqEkZA==",
"Name":"Volunteer",
"IsDefaultFolder":false,
"ParentGroupKey": "db0823f2-93bd-4db6-8038-98bbc5f39a45"
}
],
"@odata.deltaLink":"https://outlook.office.com/api/v2.0/me/taskfolders/?%24deltaToken=x_zCBD5nm2dcGAFGk5qypL1PSyEAAC6cRncEAAAA"
}
Obtener datos adjuntos
Obtener una colección de datos adjuntos
Ámbito mínimo necesario
Obtener los archivos adjuntos de una tarea en particular.
GET https://outlook.office.com/api/v2.0/me/tasks('{task_id}')/attachments
Tipo de respuesta
Una recopilación de datos adjuntos que puede ser del tipo FileAttachment o ItemAttachment.
Solicitud de ejemplo
El siguiente ejemplo devuelve todos los datos adjuntos de la tarea especificada, que incluyen un archivo y un elemento de evento.
GET https://outlook.office.com/api/v2.0/me/tasks('AAMkADNkN3qGAAA=')/attachments
Respuesta de ejemplo
Código de estado: 200
{
"@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/Tasks('AAMkADNkN3qGAAA%3D')/Attachments",
"value":[
{
"@odata.type":"#Microsoft.OutlookServices.FileAttachment",
"@odata.id":"https://outlook.office.com/api/v2.0/Users('fdcbcf34-2505-4d07-be5b-0a55b699d157@41a5b830-45ac-4f1b-9bfc-baafa3b7db2e')/Tasks('AAMkADNkN3qGAAA=')/Attachments('AAMkADNkNRT6JOBs=')",
"Id":"AAMkADNkNRT6JOBs=",
"LastModifiedDateTime":"2016-11-22T02:24:21Z",
"Name":"Holiday notice",
"ContentType":"application/octet-stream",
"Size":244,
"IsInline":false,
"ContentId":null,
"ContentLocation":null,
"ContentBytes":"bWFjIGFuZCBjaGVlc2U="
},
{
"@odata.type":"#Microsoft.OutlookServices.ItemAttachment",
"@odata.id":"https://outlook.office.com/api/v2.0/Users('fdcbcf34-2505-4d07-be5b-0a55b699d157@41a5b830-45ac-4f1b-9bfc-baafa3b7db2e')/Tasks('AAMkADNkNS3qGAAA=')/Attachments('AAMkADNkNJVnQIe9r0=')",
"Id":"AAMkADNkNJVnQIe9r0=",
"LastModifiedDateTime":"2016-12-01T22:27:13Z",
"Name":"Holiday event",
"ContentType":null,
"Size":2473,
"IsInline":false
}
]
}
Obtener datos adjuntos
Ámbito mínimo necesario
Obtiene datos adjuntos en una tarea en particular.
GET https://outlook.office.com/api/v2.0/me/tasks('{task_id}')/attachments('{attachment_id}')
Tipo de respuesta
El archivo adjunto o elemento adjunto solicitado.
Ejemplo de solicitud (archivo adjunto)
El siguiente ejemplo obtiene un recurso adjunto específico en una tarea, el cual es un archivo adjunto.
GET https://outlook.office.com/api/v2.0/me/tasks('AAMkADNkN3qGAAA=')/attachments('AAMkADNkNRT6JOBs=')
Respuesta de ejemplo
Código de estado: 200
{
"@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/Tasks('AAMkADNkN3qGAAA%3D')/Attachments/$entity",
"@odata.type":"#Microsoft.OutlookServices.FileAttachment",
"@odata.id":"https://outlook.office.com/api/v2.0/Users('fdcbcf34-2505-4d07-be5b-0a55b699d157@41a5b830-45ac-4f1b-9bfc-baafa3b7db2e')/Tasks('AAMkADNkN3qGAAA=')/Attachments('AAMkADNkNRT6JOBs=')",
"Id":"AAMkADNkNRT6JOBs=",
"LastModifiedDateTime":"2016-11-22T02:24:21Z",
"Name":"Holiday notice",
"ContentType":"application/octet-stream",
"Size":244,
"IsInline":false,
"ContentId":null,
"ContentLocation":null,
"ContentBytes":"bWFjIGFuZCBjaGVlc2U="
}
Ejemplo de solicitud (elemento adjunto)
El siguiente ejemplo obtiene un recurso adjunto específico en una tarea, que es un elemento de evento.
GET https://outlook.office.com/api/v2.0/me/tasks('AAMkADNkNS3qGAAA=')/attachments('AAMkADNkNJVnQIe9r0=')
Respuesta de ejemplo
Código de estado: 200
{
"@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/Tasks('AAMkADNkNS3qGAAA%3D')/Attachments/$entity",
"@odata.type":"#Microsoft.OutlookServices.ItemAttachment",
"@odata.id":"https://outlook.office.com/api/v2.0/Users('fdcbcf34-2505-4d07-be5b-0a55b699d157@41a5b830-45ac-4f1b-9bfc-baafa3b7db2e')/Tasks('AAMkADNkNS3qGAAA=')/Attachments('AAMkADNkNJVnQIe9r0=')",
"Id":"AAMkADNkNJVnQIe9r0=",
"LastModifiedDateTime":"2016-12-01T22:27:13Z",
"Name":"Holiday event",
"ContentType":null,
"Size":2473,
"IsInline":false
}
Agregar datos adjuntos
Puede agregar un archivo, elemento (mensaje, evento o contacto) o un vínculo a un archivo como un dato adjunto a una tarea.
Agregar un archivo adjunto
Ámbito mínimo necesario
Agrega un archivo como un dato adjunto a una tarea.
POST https://outlook.office.com/api/v2.0/me/tasks('{task_id}')/attachments
Parámetro de cuerpo obligatorio | Tipo | Descripción |
---|---|---|
@odata.type | cadena | #Microsoft.OutlookServices.FileAttachment |
Nombre | cadena | El nombre de los datos adjuntos. |
ContentBytes | binario | El contenido del archivo para adjuntar, en codificación base64. |
Tipo de respuesta
El nuevo archivo adjunto.
Solicitud de ejemplo
POST https://outlook.office.com/api/v2.0/me/tasks('AAMkADNkN3qGAAA=')/attachments
Content-Type: application/json
{
"@odata.type": "#Microsoft.OutlookServices.FileAttachment"",
"Name": "Holiday notice",
"ContentBytes": "bWFjIGFuZCBjaGVlc2U="
}
Respuesta de ejemplo
Código de estado: 201 Creado
{
"@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/Tasks('AAMkADNkN3qGAAA%3D')/Attachments/$entity",
"@odata.type":"#Microsoft.OutlookServices.FileAttachment",
"@odata.id":"https://outlook.office.com/api/v2.0/Users('fdcbcf34-2505-4d07-be5b-0a55b699d157@41a5b830-45ac-4f1b-9bfc-baafa3b7db2e')/Tasks('AAMkADNkN3qGAAA=')/Attachments('AAMkADNkNRT6JOBs=')",
"Id":"AAMkADNkNRT6JOBs=",
"LastModifiedDateTime":"2016-11-22T02:24:21Z",
"Name":"Holiday notice",
"ContentType":"application/octet-stream",
"Size":244,
"IsInline":false,
"ContentId":null,
"ContentLocation":null,
"ContentBytes":"bWFjIGFuZCBjaGVlc2U="
}
Agregar un elemento adjunto
Ámbito mínimo necesario
Agrega un elemento (mensaje, evento o contacto) como un dato adjunto a una tarea.
POST https://outlook.office.com/api/v2.0/me/tasks('{task_id}')/attachments
Parámetro de cuerpo obligatorio | Tipo | Descripción |
---|---|---|
@odata.type | cadena | # Microsoft.OutlookServices.ItemAttachment |
Name | cadena | El nombre de los datos adjuntos. |
Item | Una entidad Mensaje, Evento o Contacto. | El elemento para adjuntar. |
Tipo de respuesta
El nuevo elemento adjunto.
Solicitud de ejemplo
POST https://outlook.office.com/api/v2.0/me/tasks('AAMkADNkN3qGAAA=')/attachments
Content-Type: application/json
{
"@odata.type": "#Microsoft.OutlookServices.ItemAttachment",
"Name": "Holiday event",
"Item": {
"@odata.type": "Microsoft.OutlookServices.Event",
"Subject": "Discuss gifts for children",
"Body": {
"ContentType": "HTML",
"Content": "Let's look for funding!"
},
"Start": {
"DateTime": "2016-12-02T18:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-12-02T19:00:00",
"TimeZone": "Pacific Standard Time"
}
}
}
Respuesta de ejemplo
Código de estado: 201 Creado
{
"@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/Tasks('AAMkADNkN3qGAAA%3D')/Attachments/$entity",
"@odata.type":"#Microsoft.OutlookServices.ItemAttachment",
"@odata.id":"https://outlook.office.com/api/v2.0/Users('fdcbcf34-2505-4d07-be5b-0a55b699d157@41a5b830-45ac-4f1b-9bfc-baafa3b7db2e')/Tasks('AAMkADNkN23qGAAA=')/Attachments('AAMkADNkN2Jp5JVnQIe9r0=')",
"Id":"AAMkADNkNJp5JVnQIe9r0=",
"LastModifiedDateTime":"2016-12-01T22:27:13Z",
"Name":"Holiday event",
"ContentType":null,
"Size":2473,
"IsInline":false
}
Agregar una referencia adjunta
Ámbito mínimo necesario
Agrega un vínculo a un archivo como una referencia adjunta a una tarea.
POST https://outlook.office.com/api/v2.0/me/tasks('{task_id}')/attachments
Parámetro de cuerpo obligatorio | Tipo | Descripción |
---|---|---|
@odata.type | Cadena | #Microsoft.OutlookServices.ReferenceAttachment |
Name | Cadena | Nombre para mostrar de los datos adjuntos. Obligatorio. |
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. Obligatorio. |
Especifique los parámetros Name y SourceUrl y cualquier parámetro reference attachment editable en el cuerpo de la solicitud.
Tipo de respuesta
Solicitud de ejemplo
El siguiente ejemplo agrega una referencia adjunta a una tarea existente. Los datos adjuntos son un vínculo a un archivo en OneDrive para la Empresa.
POST https://outlook.office.com/api/v2.0/me/tasks('AAMkADNkN3qGAAA=')/attachments
Content-Type: application/json
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Name": "Hydrangea picture",
"SourceUrl": "https://contoso-my.sharepoint.com/personal/admin_contoso_onmicrosoft_com/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fadmin%5Fcontoso%5Fonmicrosoft%5Fcom%2FDocuments%2FHydrangeas%2Ejpg&parent=%2Fpersonal%2Fadmin%5Fcontoso%5Fonmicrosoft%5Fcom%2FDocuments",
"ProviderType": "oneDriveBusiness",
"Permission": "Edit",
"IsFolder": "False"
}
Respuesta de ejemplo
Código de estado: 201 Creado
{
"@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/Tasks('AAMkADNkN3qGAAA%3D')/Attachments/$entity",
"@odata.type":"#Microsoft.OutlookServices.ReferenceAttachment",
"@odata.id":"https://outlook.office.com/api/v2.0/Users('fdcbcf34-2505-4d07-be5b-0a55b699d157@41a5b830-45ac-4f1b-9bfc-baafa3b7db2e')/Tasks('AAMkADNkN3qGAAA=')/Attachments('AAMkADNkNQG1Lnn5-o=')",
"Id":"AAMkADNkNQG1Lnn5-o=",
"LastModifiedDateTime":"2016-11-22T02:32:44Z",
"Name":"Hydrangea picture",
"ContentType":null,
"Size":850,
"IsInline":true,
"SourceUrl":"https://contoso-my.sharepoint.com/personal/admin_contoso_onmicrosoft_com/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fadmin%5Fcontoso%5Fonmicrosoft%5Fcom%2FDocuments%2FHydrangeas%2Ejpg&parent=%2Fpersonal%2Fadmin%5Fcontoso%5Fonmicrosoft%5Fcom%2FDocuments",
"ProviderType":"OneDriveBusiness",
"ThumbnailUrl":null,
"PreviewUrl":null,
"Permission":"Edit",
"IsFolder":false
}
Eliminar archivos adjuntos
Eliminar un dato adjunto de una tarea
Eliminar un dato adjunto de una tarea
Ámbito mínimo necesario
Elimine los datos adjuntos especificados de una tarea. Los datos adjuntos pueden ser un archivo adjunto o elemento adjunto.
DELETE https://outlook.office.com/api/v2.0/me/tasks('{task_id}')/attachments('{attachment_id}')
Solicitud de ejemplo
DELETE https:/outlook.office.com/api/v2.0/me/tasks('AAMkADNkN3qGAAA=')/attachments('AAMkADNkNQG1Lnn5-o=')
Respuesta de ejemplo
Status code: 204
Crear carpetas de tareas
Ámbito mínimo necesario
Creae una carpeta de tareas.
Puede crear una carpeta de tareas en el grupo de tareas predeterminado (My Tasks
) del buzón del usuario:
POST https://outlook.office.com/api/v2.0/me/taskfolders
O puede crear una carpeta de tareas bajo un grupo de tareas especificado:
POST https://outlook.office.com/api/v2.0/me/taskgroups('{group_id}')/taskfolders
En el cuerpo de la solicitud, proporcione una representación JSON de la TaskFolder que quiere crear.
Respuesta
Código de estado de éxito: 201 Creado
Cuerpo de respuesta: la TaskFolder creado.
Solicitud de ejemplo
El siguiente ejemplo crea una carpeta de tareas llamada Volunteer
en el grupo de tareas predeterminado (My Tasks
) del buzón del usuario.
POST https://outlook.office.com/api/v2.0/me/taskfolders
Content-Type: application/json
{
"Name": "Volunteer"
}
Respuesta de ejemplo
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/TaskFolders/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskFolders('AAMkADIyAAAhrbPWAAA=')",
"Id": "AAMkADIyAAAhrbPWAAA=",
"ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAIbAGig==",
"IsDefaultFolder": false,
"Name": "Volunteer",
"ParentGroupKey": "0006f0b7-0000-0000-c000-000000000046"
}
Solicitud de ejemplo
El siguiente ejemplo crea una carpeta de tareas llamada Cooking
en el grupo de tareas especificado.
POST https://outlook.office.com/api/v2.0/me/taskgroups('AAMkADIyAAAhrbe-AAA')/taskfolders
Content-Type: application/json
{
"Name": "Cooking"
}
Respuesta de ejemplo
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/TaskGroups('AAMkADIyAAAhrbe-AAA%3D')/TaskFolders/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskFolders('AAMkADIyAAAhrbPXAAA=')",
"Id": "AAMkADIyAAAhrbPXAAA=",
"ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAIbAOlA==",
"IsDefaultFolder": false,
"Name": "Cooking",
"ParentGroupKey": "63d640cf-946f-4734-9c29-60dda7b76acb"
}
Obtener carpetas de tareas
Ámbito mínimo necesario
Obtiene múltiples carpetas de tareas.
Puede obtener todas las carpetas de tareas en el buzón del usuario:
GET https://outlook.office.com/api/v2.0/me/taskfolders
O puede obtener carpetas de tareas en un grupo de tareas específico:
GET https://outlook.office365.com/api/v2.0/me/taskgroups('{group_id}')/taskfolders
Respuesta
Código de estado de éxito: 200 Aceptar
Cuerpo de respuesta: una colección de carpetas de tareas.
Solicitud de ejemplo
El siguiente ejemplo obtiene todas las carpetas de tareas en el buzón del usuario.
GET https://outlook.office.com/api/v2.0/me/taskfolders
Respuesta de ejemplo
Status code: 200 OK
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/TaskFolders",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskFolders('AAMkADIyAAAAABrJAAA=')",
"Id": "AAMkADIyAAAAABrJAAA=",
"ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAAAAeAA==",
"IsDefaultFolder": false,
"Name": "Monthly tasks",
"ParentGroupKey": "0006f0b7-0000-0000-c000-000000000046"
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskFolders('AAMkADIyAAAAAAESAAA=')",
"Id": "AAMkADIyAAAAAAESAAA=",
"ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAAAAAPA==",
"IsDefaultFolder": true,
"Name": "Tasks",
"ParentGroupKey": "0006f0b7-0000-0000-c000-000000000046"
}
]
}
El siguiente ejemplo obtiene todas las carpetas de tareas en el grupo de tareas especificado.
GET https://outlook.office365.com/api/v2.0/me/taskgroups('AAMkADIyAAAhrbe-AAA=')/taskfolders
Respuesta de ejemplo
Status code: 200 OK
{
"@odata.context": "https://outlook.office365.com/api/v2.0/$metadata#Me/TaskGroups('AAMkADIyAAAhrbe-AAA%3D')/TaskFolders",
"value": [
{
"@odata.id": "https://outlook.office365.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskFolders('AAMkADIyAAAhrbPXAAA=')",
"Id": "AAMkADIyAAAhrbPXAAA=",
"ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAIbAOlA==",
"IsDefaultFolder": false,
"Name": "Cooking",
"ParentGroupKey": "63d640cf-946f-4734-9c29-60dda7b76acb"
}
]
}
Actualizar carpetas de tareas
Ámbito mínimo necesario
Actualiza las propiedades editables de una carpeta de tareas.
No puede cambiar el valor de la propiedad Name de la carpeta de tareas predeterminada, Tasks
.
Un id. de carpeta de tareas es único en el buzón del usuario.
PATCH https://outlook.office.com/api/v2.0/me/taskfolders('{folder_id}')
En el cuerpo de la solicitud, proporcione una representación JSON de las propiedades editables para actualizar en el TaskFolder.
Respuesta
Código de estado de éxito: 200 Aceptar
Cuerpo de la respuesta: el TaskFolder actualizado.
Solicitud de ejemplo
El siguiente ejemplo cambia el nombre de la carpeta de tareas a Charity work
.
PATCH https://outlook.office.com/api/v2.0/me/taskfolders('AAMkADIyAAAhrbPWAAA=')
Content-Type: application/json
{
"Name": "Charity work"
}
Respuesta de ejemplo
Status code: 200 OK
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/TaskFolders/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskFolders('AAMkADIyAAAhrbPWAAA=')",
"Id": "AAMkADIyAAAhrbPWAAA=",
"ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAIbAKfQ==",
"IsDefaultFolder": false,
"Name": "Charity work",
"ParentGroupKey": "0006f0b7-0000-0000-c000-000000000046"
}
Eliminar carpetas de tareas
Ámbito mínimo necesario
Elimina la carpeta de tareas especificada.
Intentar eliminar la carpeta de tareas predeterminada Tasks
devolvería HTTP 400 Solicitud incorrecta.
DELETE https://outlook.office.com/api/v2.0/me/taskfolders('{folder_id}')
Respuesta
Código de estado de éxito: 204 Sin contenido
Cuerpo de la respuesta: ninguno.
Solicitud de ejemplo
DELETE https://outlook.office365.com/api/v2.0/me/taskfolders('AAMkADIyAAAhrbPXAAA=')
Respuesta de ejemplo
Status code: 204
Crear grupos de tareas
Ámbito mínimo necesario
Crea un grupo de tareas en el buzón del usuario.
POST https://outlook.office.com/api/v2.0/me/taskgroups
En el cuerpo de la solicitud, proporcione una representación JSON del TaskGroup que quiere crear.
Respuesta
Código de estado de éxito: 201 Creado
Cuerpo de respuesta: el TaskGroup creado.
Solicitud de ejemplo
POST https://outlook.office.com/api/v2.0/me/taskgroups
Content-Type: application/json
{
"Name": "Leisure tasks"
}
Respuesta de ejemplo
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/TaskGroups/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskGroups('AAMkADIyAAAhrbe-AAA=')",
"Id": "AAMkADIyAAAhrbe-AAA=",
"ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAIbAGjg==".
"IsDefaultGroup": false,
"Name": "Leisure tasks",
"GroupKey": "63d640cf-946f-4734-9c29-60dda7b76acb"
}
Obtener grupos de tareas
Ámbito mínimo necesario
Obtenga todos los grupos de tareas en el buzón del usuario.
La respuesta siempre incluye el grupo de tareas predeterminado My Tasks
y cualquier otro grupo de tareas que se haya creado en el buzón.
GET https://outlook.office.com/api/v2.0/me/taskgroups
Respuesta
Código de estado de éxito: 200 Aceptar
Cuerpo de respuesta: una colección de TaskGroup.
Solicitud de ejemplo
GET https://outlook.office.com/api/v2.0/me/taskgroups
Respuesta de ejemplo
Status code: 200
{
"@odata.context": "https://outlook.office365.com/api/v2.0/$metadata#Me/TaskGroups",
"value": [
{
"@odata.id": "https://outlook.office365.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskGroups('AAMkADIyAAADJ5pYAAA=')",
"Id": "AAMkADIyAAADJ5pYAAA=",
"ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAInHxLA==",
"IsDefaultGroup": true,
"Name": "My Tasks",
"GroupKey": "0006f0b7-0000-0000-c000-000000000046"
},
{
"@odata.id": "https://outlook.office365.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskGroups('AAMkADIyAAAhrbe-AAA=')",
"Id": "AAMkADIyAAAhrbe-AAA=",
"ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAInHxKw==",
"IsDefaultGroup": false,
"Name": "Leisure Tasks",
"GroupKey": "63d640cf-946f-4734-9c29-60dda7b76acb"
}
]
}
Actualizar grupos de tareas
Ámbito mínimo necesario
Actualiza las propiedades editables de un grupo de tareas.
PATCH https://outlook.office.com/api/v2.0/me/taskgroups('{group_id}')
En el cuerpo de la solicitud, proporcione una representación JSON de las propiedades editables para actualizar en el TaskGroup, como la propiedad Name.
Respuesta
Código de estado de éxito: 200 Aceptar
Cuerpo de la respuesta: la tarea actualizada.
Solicitud de ejemplo
El siguiente ejemplo cambia el nombre de un grupo de tareas a "Tareas personales". Tenga en cuenta que no puede modificar el nombre del grupo de tareas predeterminado "Mis tareas".
PATCH https://outlook.office.com/api/v2.0/me/taskgroups('AAMkADIyAAAhrbe-AAA=')
Content-Type: application/json
{
"Name": "Personal Tasks"
}
Respuesta de ejemplo
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/TaskGroups/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('dc2d952a-78ff-4609-b3ae-eb66271747bf@8638a6dc-2d66-40dc-aecb-b2436ec47fc0')/TaskGroups('AAMkADIyAAAhrbe-AAA=')",
"Id": "AAMkADIyAAAhrbe-AAA=",
"ChangeKey": "hmM7Eb/jgEec8l3+gkJEawAAIbAGjw==",
"IsDefaultGroup": false,
"Name": "Personal Tasks",
"GroupKey": "63d640cf-946f-4734-9c29-60dda7b76acb"
}
Eliminar grupos de tareas
Ámbito mínimo necesario
Elimine el grupo de tareas especificado.
Intentar eliminar el grupo de tareas predeterminado My Tasks
devolvería HTTP 400 Solicitud incorrecta.
DELETE https://outlook.office.com/api/v2.0/me/taskgroups('{group_id}')
Respuesta
Código de estado de éxito: 204 Sin contenido
Cuerpo de la respuesta: la tarea actualizada.
Solicitud de ejemplo
DELETE https://outlook.office365.com/api/v2.0/me/taskgroups('AAMkADIyAAAhrbe-AAA=')
Respuesta de ejemplo
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.
- Empezar a trabajar con las API de REST de correo, calendario y contactos.
- ¿Desea ver ejemplos? Los tenemos.
O bien, obtenga más información sobre el uso de la plataforma de Office 365:
- API REST de Outlook en el Centro de desarrollo de Outlook
- Información general del desarrollo en la plataforma de Office 365
- Autenticación de aplicaciones y autorización de recursos de Office 365
- Registre manualmente su aplicación con Azure AD para poder acceder a las API de Office 365
- Utilizar la API de REST de Outlook
- Referencia de las API de REST de correo
- Referencia de las API de REST de calendario
- Referencia de las API de REST de contactos
- Referencia de recursos para las API de REST de correo, calendario, contactos y tareas