Referencia de API de REST de correo 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 correo de Outlook le permite leer, crear y enviar mensajes y archivos adjuntos, ver y responder a mensajes de eventos y administrar carpetas que están protegidas por Azure Active Directory en Office 365. También proporciona la misma funcionalidad en las cuentas Microsoft, específicamente en estos dominios: 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.
Todas las operaciones de la API de correo
Operaciones de mensaje
Los mensajes se almacenan en carpetas de buzones, por lo que los extremos de los mensajes suelen incluir la carpeta que contiene el mensaje. Una carpeta es especificada por un identificador o nombre de una carpeta conocida como Inbox
, Drafts
, SentItems
, o DeletedItems
.
- Obtener mensajes
- Sincronizar mensajes
- Crear y enviar mensajes
- Mensaje de Responder o Responder a todos
- Reenviar mensajes nuevos o borradores
- Actualizar mensajes
- Eliminar mensajes
- Mover o copiar mensajes
- Administrar Bandeja de entrada Prioritarios
- Administrar @ menciones (vista previa)
- Administrar reglas (vista previa)
- Anular la suscripción (vista previa)
- Obtener opciones de idioma (vista previa)
- Obtener opciones de zona horaria (vista previa)
- Obtener configuración del buzón
- Obtener la configuración de respuesta automática
- Actualizar la configuración de respuesta automática
- Obtener sugerencias de correo electrónico (vista previa)
- Obtener datos adjuntos
- Crear adjuntos
- Eliminar archivos adjuntos
Operaciones de carpeta
Las carpetas del buzón de correo pueden contener mensajes y otras carpetas. Puede obtener, crear, cambiar, eliminar y administrar carpetas. Puede utilizar los siguientes nombres de carpeta conocidos en lugar del Id. para especificar la carpeta correspondiente: Inbox
, SentItems
, Drafts
o DeletedItems
.
- Obtener carpetas
- Sincronizar carpetas
- Crear carpetas
- Actualizar carpetas
- Eliminar carpetas
- Mover o copiar carpetas
Vea también
Utilizar la API REST de correo
Autenticación
Como cualquier otra API REST de Outlook, para cada solicitud a la API de correo, debería incluir un token de acceso válido. Obtener un token de acceso requiere haber 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 correo.
Versión de la API
La API REST de correo 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
Todas las solicitudes de API de correo se realizan en nombre del usuario con sesión iniciada, a menos que se especifique. Se pueden realizar algunos subconjuntos de API, como la API de Bandeja de entrada priorizada, en el usuario con sesión iniciada, o en un usuario especificado por un Id. de usuario, con los permisos adecuados.
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 mensajes
Puede obtener una colección de mensajes o un mensaje individual desde una carpeta de buzón.
Cada mensaje en la respuesta contiene varias propiedades, incluida la propiedad Body. El cuerpo del mensaje puede ser de texto o HTML. Si el cuerpo es HTML, de forma predeterminada, cualquier HTML potencialmente inseguro (por ejemplo, JavaScript) insertado en la propiedad Body se eliminaría antes de que se devuelva el contenido del cuerpo en una respuesta REST.
Para obtener todo el contenido HTML original, incluya el siguiente encabezado de solicitud HTTP:
Prefer: outlook.allow-unsafe-html
Para especificar el formato que desea que se devuelva en las propiedades Body y UniqueBody de una solicitud GET, utilice el encabezado Prefer: outlook.body-content-type
:
- Especifique
Prefer: outlook.body-content-type="text"
para obtener un cuerpo de mensaje 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 mensaje 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"
Obtener una colección de mensajes
Ámbito mínimo necesario
Uno de los siguientes:
Nota
El comportamiento de las operaciones en esta sección varía según la versión. Obtenga más información eligiendo una versión en la referencia de API de REST de Office 365 en el índice de la izquierda.
Obtenga una colección de mensajes de todo el buzón del usuario que ha iniciado sesión (incluidas las carpetas Elementos eliminados y Otros correos).
GET https://outlook.office.com/api/v2.0/me/messages
También puede especificar una carpeta en el buzón del usuario y obtener la colección de mensajes de esa carpeta.
GET https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/messages
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El Id. de carpeta, o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems , si recibe mensajes de una carpeta específica. Si se especifica AllItems , se devolverán todos los mensajes de todo el buzón |
Nota
De forma predeterminada, cada mensaje 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.
El siguiente ejemplo muestra cómo utilizar $select
para especificar que se devuelvan solo las propiedades Sender y Subject de cada mensaje en la respuesta. Consulte el ejemplo de respuesta en Obtener un contacto para obtener una lista completa de las propiedades que se devolverían para un contacto si no se utiliza $select
.
Solicitud de muestra
GET https://outlook.office.com/api/v2.0/me/MailFolders/sentitems/messages/?$select=Sender,Subject
Respuesta de muestra
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('sentitems')/Messages(Sender,Subject)",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIzAAAA=')",
"@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqS\"",
"Id": "AAMkAGI2TIzAAAA=",
"Subject": "Meeting Notes",
"Sender": {
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIy-AAA=')",
"@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP\"",
"Id": "AAMkAGI2TIy-AAA=",
"Subject": "Contract Signing",
"Sender": {
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
},
{
"@odata.type": "#Microsoft.OutlookServices.EventMessage",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIy9AAA=')",
"@odata.etag": "W/\"CwAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqJ\"",
"Id": "AAMkAGI2TIy9AAA=",
"Subject": "Rob:Alex 1:1",
"Sender": {
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
}
]
}
Tipo de respuesta
La colección de mensajes solicitada.
Obtener un mensaje
Ámbito mínimo necesario
Uno de los siguientes:
Obtener un mensaje por Id.
GET https://outlook.office.com/api/v2.0/me/messages/{message_id}
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | cadena | Id. de mensaje. |
Solicitud de muestra
GET https://outlook.office.com/api/v2.0/me/messages/AAMkAGI2THVSAAA=
Respuesta de muestra
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2THVSAAA=')",
"@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIKz\"",
"Id": "AAMkAGI2THVSAAA=",
"CreatedDateTime": "2014-10-20T00:41:57Z",
"LastModifiedDateTime": "2014-10-20T00:41:57Z",
"ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIKz",
"Categories": [],
"ReceivedDateTime": "2014-10-20T00:41:57Z",
"SentDateTime": "2014-10-20T00:41:53Z",
"HasAttachments": true,
"Subject": "Re: Meeting Notes",
"Body": {
"ContentType": "Text",
"Content": "\n________________________________________\nFrom: Alex D\nSent: Sunday, October 19, 2014 5:28 PM\nTo: Katie Jordan\nSubject: Meeting Notes\n\nPlease send me the meeting notes ASAP\n"
},
"BodyPreview": "________________________________________\nFrom: Alex D\nSent: Sunday, October 19, 2014 5:28 PM\nTo: Katie Jordan\nSubject: Meeting Notes\n\nPlease send me the meeting notes ASAP",
"Importance": "Normal",
"ParentFolderId": "AAMkAGI2AAEMAAA=",
"Sender": {
"EmailAddress": {
"Name": "Katie Jordan",
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
}
},
"From": {
"EmailAddress": {
"Name": "Katie Jordan",
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGI2yEto=",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsRead": false,
"IsDraft": false,
"WebLink": "https://outlook.office365.com/owa/?ItemID=AAMkAGI2THVSAAA%3D&exvsurl=1&viewmodel=ReadMessageItem"
}
Tipo de respuesta
El mensaje solicitado.
Nota
De forma predeterminada, la respuesta incluye todas las propiedades del mensaje especificado. 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 Sender y Subject de cada mensaje en la respuesta.
GET https://outlook.office.com/api/v2.0/me/messages/AAMkAGE1I5MTAAA=?$select=Sender,Subject
Sincronizar mensajes
Ámbito mínimo necesario
Uno de los siguientes:
Puede sincronizar su almacén de datos local con los mensajes en el servidor. La sincronización de mensajes es una operación por carpeta, por ejemplo, puede sincronizar todos los mensajes en su Bandeja de entrada. Para sincronizar los mensajes en una jerarquía de carpetas, necesita sincronizar cada carpeta individualmente.
La API admite tanto la sincronización completa, que recupera todos los mensajes en una carpeta, como la sincronización incremental, que recupera todos los mensajes que han cambiado desde la última sincronización completa.
La sincronización de una carpeta de correo normalmente requiere dos o más solicitudes GET. La creación de la solicitud GET es muy similar a la de obtener mensajes, excepto que incluye ciertos encabezados de solicitud y un deltaToken o skipToken cuando corresponde.
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.Puede especificar el encabezado Prefer: odata.maxpagesize = {x} para establecer el número máximo de mensajes que se devuelven en una solicitud.
A continuación se muestra una ronda típica de sincronización de mensajes:
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 de la carpeta.
Realice una segunda solicitud GET. Especifique el encabezado Prefer: odata.track-changes y el deltaToken devuelto con el primer GET para determinar si hay mas mensajes. La segunda solicitud devolverá mensajes adicionales y un skipToken si hay más mensajes disponibles, o un deltaToken si el último mensaje se ha sincronizado, en cuyo caso la ronda de sincronización se ha completado y no es necesario hacer nada más.
Continúe la sincronización enviando una llamada GET e incluyendo un skipToken devuelto en la llamada anterior. Deténgase cuando obtenga de nuevo una respuesta final que contenga un encabezado @odata.deltaLink con un deltaToken, lo que indica que la sincronización se ha completado.
Guarde en caché el último token recibido en la ronda de sincronización completa. Utilícelo para comenzar una ronda de sincronización incremental.
Esta es una ronda de sincronización incremental:
Realice la solicitud GET inicial con el encabezado Prefer: odata.track-changes obligatorio y el deltaToken en caché recibido en la última respuesta de una ronda de sincronización completa.
El segundo paso y los pasos siguientes siguen el patrón utilizado para una sincronización completa.
Para sincronizar mensajes en una carpeta específica
Solicitud inicial
GET https://outlook.office365.com/api/v2.0/me/MailFolders('{folder_id}')/messages
Segunda solicitud, o primera solicitud de una ronda posterior
GET https://outlook.office365.com/api/v2.0/me/MailFolders('{folder_id}')/messages/?$deltaToken={delta_token}
Tercera solicitud o solicitud posterior de la misma ronda
Continúe enviando la siguiente solicitud de sincronización si la respuesta anterior incluye un skipToken
. Deténgase cuando reciba de nuevo una respuesta que contenga un encabezado @odata.deltaLink
con un deltaToken
.
GET https://outlook.office365.com/api/v2.0/me/MailFolders('{folder_id}')/messages/?$skipToken={skip_token}
Parámetros | 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 dirección URL | ||
folder_id | ||
cadena | El Id. de carpeta, o el nombre conocido de carpeta Inbox , Drafts , SentItems o DeletedItems , que se sincronizará. Necesario. |
|
deltaToken | Cadena | El token que identifica la última solicitud de sincronización para esa carpeta. Se devuelve como parte del valor de @odata.deltaLink en esa respuesta de sincronización anterior. Necesario para la segunda solicitud GET. |
skipToken | Cadena | El token que indica que hay más mensajes para descargar. Necesario si se devuelve como parte del valor de @odata.nextLink en la respuesta de sincronización anterior. |
De forma predeterminada, la sincronización devuelve todas las propiedades y todos los mensajes en una carpeta. Utilice una expresión de consulta $select para especificar solo las propiedades que necesita para obtener el mejor rendimiento. La propiedad Id se devuelve siempre.
La sincronización admite las expresiones de consulta $select, $top, $expand. Se admite con limitaciones $filter y $orderby, y no se admite $search.
- Las únicas expresiones $filter admitidas son "$filter=ReceivedDateTime + ge + {valor}" o "$filter=ReceivedDateTime + gt + {valor}".
- La única expresión $orderby admitida es "$orderby=ReceivedDateTime+desc". Si no incluye ninguna expresión $orderby, no se garantizará el orden de devolución.
Consulte en Parámetros de consulta de OData los parámetros de filtrado, clasificación y paginación.
Tipo de respuesta
Una colección que contiene los mensajes solicitados y un deltaToken o skipToken que utiliza para solicitar páginas adicionales de datos de mensajes del servidor para una sincronización incremental.
Ejemplo
En el ejemplo siguiente se muestra una serie de solicitudes para sincronizar una carpeta específica que contiene 7 mensajes. La primera solicitud de sincronización especifica la devolución de 2 mensajes a la vez (odata.maxpagesize es 2), y solo las propiedades Sender y Subject para cada mensaje
- La respuesta inicial devuelve 2 mensajes, un
deltaLink
ydeltaToken
. - La segunda solicitud utiliza ese
deltaToken
. La segunda respuesta devuelve 2 mensajes, unnextLink
yskipToken
. - Para completar la sincronización, la tercera solicitud y la cuarta utilizan el
skipToken
devuelto con la solicitud de sincronización anterior, hasta que la respuesta de sincronización devuelva undeltaLink
ydeltaToken
, en cuyo caso esta ronda de sincronización se ha completado. Guarde eldeltaToken
para la próxima ronda de sincronización.
Solicitud inicial de ejemplo
GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages?$select=Subject,Sender HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes
Ejemplo de datos de respuesta inicial
La respuesta inicial incluye un encabezado Preference-Applied: odata.track-changes
, lo que indica que esta carpeta admite la sincronización. La respuesta también incluye dos mensajes y un deltaToken
.
Preference-Applied: odata.track-changes
{
"@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)",
"value":[
{
"@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADPAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS9+\"",
"Id":"AAMkAGI5MAAAwXADPAAA=",
"Subject":"Updates from All Company",
"Sender":{
"EmailAddress":{
"Name":"Contoso Demo on Yammer",
"Address":"noreply@yammer.com"
}
}
},
{
"@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADVAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+E\"",
"Id":"AAMkAGI5MAAAwXADVAAA=",
"Subject":"RE: Latin American Ad Campaign - XT Series",
"Sender":{
"EmailAddress":{
"Name":"Alex Darrow",
"Address":"AlexD@contoso.onmicrosoft.com"
}
}
}
],
"@odata.deltaLink":"https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=MfzCBD5nm2dcGAFGk5qypL1PSyEAADFmX28BAAAA"
}
Segunda solicitud de ejemplo
La segunda solicitud especifica el deltaToken
devuelto en la respuesta anterior.
GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=MfzCBD5nm2dcGAFGk5qypL1PSyEAADFmX28BAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes
Ejemplo de datos de segunda respuesta
La segunda respuesta incluye dos mensajes más y un skipToken
, lo que indica que hay más mensajes para sincronizar en la carpeta.
{
"@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
"value":[
{
"@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADQAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS9/\"",
"Id":"AAMkAGI5MAAAwXADQAAA=",
"Subject":"International Launch Planning for XT2000",
"Sender":{
"EmailAddress":{
"Name":"Engineering",
"Address":"engineering@contoso.onmicrosoft.com"
}
}
},
{
"@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADUAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+D\"",
"Id":"AAMkAGI5MAAAwXADUAAA=",
"Subject":"RE: Latin American Ad Campaign - XT Series",
"Sender":{
"EmailAddress":{
"Name":"Anne Wallace",
"Address":"AnneW@contoso.onmicrosoft.com"
}
}
}
],
"@odata.nextLink":"https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28CAAAA"
}
Tercera solicitud de ejemplo
La tercera solicitud incluye el skipToken
devuelto en la respuesta anterior.
GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28CAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Ejemplo de datos de tercera respuesta
La tercera respuesta devuelve dos mensajes más y otro skipToken
, lo que indica que todavía hay mensajes en la carpeta para sincronizar.
{
"@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
"value":[
{
"@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADTAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+C\"",
"Id":"AAMkAGI5MAAAwXADTAAA=",
"Subject":"RE: Latin American Ad Campaign - XT Series",
"Sender":{
"EmailAddress":{
"Name":"Pavel Bansky",
"Address":"PavelB@contoso.onmicrosoft.com"
}
}
},
{
"@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADSAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+B\"",
"Id":"AAMkAGI5MAAAwXADSAAA=",
"Subject":"Latin American Ad Campaign - XT Series",
"Sender":{
"EmailAddress":{
"Name":"Engineering",
"Address":"engineering@contoso.onmicrosoft.com"
}
}
}
],
"@odata.nextLink":"https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28DAAAA"
}
Ejemplo de cuarta solicitud
La cuarta solicitud incluye el skipToken
de la respuesta anterior.
GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28DAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Ejemplo de datos de cuarta y última respuesta
La cuarta respuesta devuelve el único mensaje que queda en la carpeta y un deltaToken
que indica que la sincronización se ha completado para esta carpeta. Guarde el deltaToken
para la próxima ronda de sincronización para esta carpeta.
{
"@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
"value":[
{
"@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADRAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+A\"",
"Id":"AAMkAGI5MAAAwXADRAAA=",
"Subject":"Data sheets for the XT2000 ",
"Sender":{
"EmailAddress":{
"Name":"Engineering",
"Address":"engineering@contoso.onmicrosoft.com"
}
}
}
],
"@odata.deltaLink": "https://outlook.office365.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24deltaToken=0_zCBD5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA"
}
Ejemplo de solicitud de sincronización incremental
La primera solicitud incluye el deltaToken
de la última respuesta de sincronización completa.
GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=0_zCBD5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes
La respuesta a la solicitud de sincronización incremental incluye cualquier cambio del conjunto de mensajes de la carpeta.
Ejemplo de respuesta de sincronización incremental
La respuesta muestra que se ha realizado un cambio en el conjunto de mensajes. Se ha eliminado un mensaje.
{
"@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
"value": [
{
"id": "Messages('AAMkAGY5MDFjNTQyLWI3NzItNGE4My04ZWE4LWQ4YmMwNTJkYTg1YwBGAAAAAAD7fYH1FVR1TayS78jtGGehBwDB1GgBNTpbT6Qe-PzdAR4YAh7cdimCAADwOTzPjXdMTKEex95TwbKkAACLEykWAAA=')",
"reason": "deleted"
}
]
,
"@odata.deltaLink": "https://outlook.office365.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24deltaToken=4_zRDV5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA"
}
Crear y enviar mensajes
Puede enviar un nuevo mensaje al momento, o crear un borrador y luego enviarlo. Puede crear borradores en cualquier carpeta.
Enviar un nuevo mensaje al momento
Ámbito mínimo necesario
Uno de los siguientes:
Envíe el mensaje proporcionado en el cuerpo de la solicitud mediante el método SendMail. Puede incluir uno o más archivos adjuntos en la misma llamada de acción especificándolos en la propiedad de colección Attachments. También puede guardar el mensaje en la carpeta Elementos enviados.
POST https://outlook.office.com/api/v2.0/me/sendmail
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de cuerpo | ||
Mensaje | Mensaje | El mensaje que se enviará. |
SaveToSentItems | valor booleano | Indica si se debe guardar el mensaje en Elementos enviados. El valor predeterminado es true. |
Especifique el parámetro Message con la propiedad ToRecipients necesaria y las propiedades message grabables en el cuerpo de la solicitud. El parámetro SaveToSentItems es necesario solo si es false.
Solicitud de muestra
POST https://outlook.office.com/api/v2.0/me/sendmail
{
"Message": {
"Subject": "Meet for lunch?",
"Body": {
"ContentType": "Text",
"Content": "The new cafeteria is open."
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
}
}
],
"Attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"Name": "menu.txt",
"ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk="
}
]
},
"SaveToSentItems": "false"
}
Respuesta de muestra
Status code: 202
Crear un borrador
Ámbito mínimo necesario
Uno de los siguientes:
Crea un borrador de un mensaje nuevo. Los borradores se pueden crear en cualquier carpeta y, opcionalmente, actualizar antes de enviarlos. Para guardar en la carpeta Borradores, use el acceso directo /me/messages
.
POST https://outlook.office.com/api/v2.0/me/messages
POST https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/messages
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El Id. de la carpeta de destino o el Inbox nombre de la carpeta conocida o Drafts . |
Especifique cualquier propiedad message grabable en el cuerpo de la solicitud.
Solicitud de muestra
POST https://outlook.office.com/api/v2.0/me/MailFolders/inbox/messages
Content-Type: application/json
{
"Subject": "Did you see last night's game?",
"Importance": "Low",
"Body": {
"ContentType": "HTML",
"Content": "They were <b>awesome</b>!"
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
}
}
]
}
Respuesta de muestra
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz7k0AAA=')",
"@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5\"",
"Id": "AAMkAGE0Mz7k0AAA=",
"ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5",
"Categories": [],
"CreatedDateTime": "2014-10-18T20:06:51Z",
"LastModifiedDateTime": "2014-10-18T20:06:51Z",
"Subject": "Did you see last night's game?",
"BodyPreview": "They were awesome!",
"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\nThey were <b>awesome</b>!\r\n</body>\r\n</html>\r\n"
},
"Importance": "Low",
"HasAttachments": false,
"ParentFolderId": "AAMkAGE0MAAEPAAA=",
"From": null,
"Sender": null,
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Katie Jordan"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGE0Mpv2hisc=",
"ReceivedDateTime": "2014-10-18T20:06:51Z",
"SentDateTime": "2014-10-18T20:06:51Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": true,
"IsRead": true
}
Tipo de respuesta
El borrador.
Enviar un borrador
Ámbito mínimo necesario
Uno de los siguientes:
Envíe un nuevo borrador, un Borrador Responder, un borrador Responder a todos o un borrador Reenviar mediante el me´todo Send. A continuación, el mensaje se guarda en la carpeta Elementos enviados.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/send
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | cadena | Id. del borrador que se enviará. |
Solicitud de muestra
POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz7k0AAA=/send
Respuesta de muestra
Status code: 202
Mensaje de Responder o Responder a todos
Nota
El comportamiento de las operaciones en esta sección varía según la versión. Obtenga más información eligiendo una versión en la referencia de API de REST de Office 365 en el índice de la izquierda.
Puede responder con un comentario al momento, o puede primero crear un borrador de respuesta, luego actualizar y enviar el borrador.
Puede responder solo al remitente del mensaje o responder a todos los destinatarios a la vez.
- Responder al remitente al momento
- Responder a todos al momento
- Crear un mensaje de respuesta en borrador
- Crear un borrador Responder a todos
Responder al remitente al momento
Ámbito mínimo necesario
Uno de los siguientes:
Responda al remitente de un mensaje especificando un comentario y mediante el método Reply. A continuación, el mensaje se guarda en la carpeta Elementos enviados.
Opcionalmente, si necesita modificar alguna propiedad actualizable para la respuesta, puede en primer lugar crear un borrador Responder, actualizar las propiedades del mensaje y, a continuación, enviar la respuesta.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/reply
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | cadena | Id. del mensaje que se va a responder. |
Parámetros de cuerpo | ||
Comentario | cadena | Comentario que se va a incluir. Puede ser una cadena vacía. |
Solicitud de muestra
POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8DmAAA=/reply
Content-Type: application/json
{
"Comment": "Sounds great! See you tomorrow."
}
Respuesta de muestra
Status code: 202
Responder a todos al momento
Ámbito mínimo necesario
Uno de los siguientes:
Responda a todos los destinatarios de un mensaje especificando un comentario y mediante el método ReplyAll. A continuación, el mensaje se guarda en la carpeta Elementos enviados.
Opcionalmente, si necesita modificar alguna propiedad actualizable para la respuesta, puede en primer lugar crear un borrador Responder a todos, actualizar las propiedades del mensaje y, a continuación, enviar la respuesta.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/replyall
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | cadena | Id. del mensaje que se va a responder. |
Parámetros de cuerpo | ||
Comentario | cadena | Comentario que se va a incluir. Puede ser una cadena vacía. |
Solicitud de muestra
POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0MSz8DmAAA=/replyall
Content-Type: application/json
{
"Comment": "Thanks for the heads up."
}
Respuesta de muestra
Status code: 202
Crear un mensaje de respuesta en borrador
Ámbito mínimo necesario
Uno de los siguientes:
Cree un borrador para responder al mensaje especificado. A continuación, puede actualizar el borrador para agregar el contenido de la respuesta a la propiedad body o cambiar otras propiedades del mensaje o, simplemente, enviar el borrador.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/createreply
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | cadena | Id. del mensaje que se va a responder. |
Solicitud de muestra
POST https://outlook.office.com/api/v2.0/me/messages/AAMkADA1MTAAAAqldOAAA=/createreply
Respuesta de muestra
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTAAAH5JKoAAA=')",
"@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DO\"",
"Id": "AAMkADA1MTAAAH5JKoAAA=",
"CreatedDateTime": "2016-03-15T08:33:43Z",
"LastModifiedDateTime": "2016-03-15T08:33:43Z",
"ChangeKey": "CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DO",
"Categories": [ ],
"ReceivedDateTime": "2016-03-15T08:33:43Z",
"SentDateTime": "2016-03-15T08:33:43Z",
"HasAttachments": false,
"InternetMessageId": "<DM2PR00MB00571796B16132601E1F286CF7890@DM2PR00MB0057.namprd00.prod.outlook.com>",
"Subject": "RE: Let's start a group",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<body>Fanny, would you name the group if the project is approved, please?\r\n<b>From:</b> Fanny Downs<br>\r\n<b>Sent:</b> Friday, March 4, 2016 12:23:35 AM<br>\r\n<b>To:</b> Admin<br>\r\n<b>Subject:</b> Re: Let's start a group</font>\r\n<p>That's a great idea!<br>\r\n</body>\r\n</html>"
},
"BodyPreview": "Fanny, would you name the group if the project is approved, please?\r\n________________________________\r\nFrom: Fanny Downs\r\nSent: Friday, March 4, 2016 12:23:35 AM\r\nTo: Admin\r\nSubject: Re: Let's start a group\r\n\r\n\r\nThat's a gre",
"Importance": "Normal",
"ParentFolderId": "AQMkADA1MTAAAAIBDwAAAA==",
"Sender": {
"EmailAddress": {
"Name": "Admin",
"Address": "admin@contoso.onmicrosoft.com"
}
},
"From": null,
"ToRecipients": [
{
"EmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@contoso.onmicrosoft.com"
}
}
],
"CcRecipients": [ ],
"BccRecipients": [ ],
"ReplyTo": [ ],
"ConversationId": "AAQkADA1MTVGjIwpLvWmGtIo-aFE=",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsRead": true,
"IsDraft": true,
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADA1MTAAAH5JKoAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"MentionedMe": null,
"AppliedHashtagsPreview": null,
"LikesPreview": null,
"MentionsPreview": null,
"Mentioned": [ ],
"InferenceClassification": "Focused",
"UnsubscribeData": [ ],
"UnsubscribeEnabled": false,
"Flag": { "FlagStatus": "NotFlagged" }
}
Tipo de respuesta
message del borrador Responder con ToRecipient, IsDraft y otras propiedades apropiadas rellenadas previamente.
Crear un borrador Responder a todos
Ámbito mínimo necesario
Uno de los siguientes:
Cree un borrador para responder al remitente y a todos los destinatarios del mensaje especificado. Después, puede actualizar el borrador para agregar el contenido de la respuesta al cuerpo, cambiar otras propiedades del mensaje o, simplemente, enviar el borrador.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/createreplyall
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | cadena | Id. del mensaje que se va a responder. |
Solicitud de muestra
POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8DmAAA=/createreplyall
Respuesta de muestra
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz7k5AAA=')",
"@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AhF\"",
"Id": "AAMkAGE0Mz7k5AAA=",
"ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AhF",
"Categories": [],
"CreatedDateTime": "2014-10-18T21:21:06Z",
"LastModifiedDateTime": "2014-10-18T21:21:06Z",
"Subject": "RE: Check out the new Office 365 APIs",
"BodyPreview": "If the project gets approved, please decide on the name.\r\n_________________________________\r\nFrom: Alex D\r\nSent: Saturday, October 18, 2014 9:18:18 PM\r\nTo: Katie Jordan; Garth Fort\r\nSubj",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n...</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": false,
"ParentFolderId": "AAMkAGE0MAAEPAAA=",
"From": null,
"Sender": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Katie Jordan"
}
},
{
"EmailAddress": {
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Garth Fort"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGE0M3HbTkEU=",
"ReceivedDateTime": "2014-10-18T21:21:06Z",
"SentDateTime": "2014-10-18T21:21:06Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": true,
"IsRead": true
}
Tipo de respuesta
El borrador del mensaje responder a todos con ToRecipient, IsDraft y otras propiedades adecuadas ya rellenadas.
Reenviar mensajes nuevos o borradores
Nota
El comportamiento de las operaciones en esta sección varía según la versión. Obtenga más información eligiendo una versión en la referencia de API de REST de Office 365 en el índice de la izquierda.
Puede reenviar un mensaje directamente, o puede crear un borrador para reenviar, actualizarlo y a continuación enviarlo.
Reenviar un mensaje directamente
Ámbito mínimo necesario
Uno de los siguientes:
Reenvíe un mensaje mediante el método Forward y, opcionalmente, especificando un comentario. A continuación, el mensaje se guarda en la carpeta Elementos enviados.
Opcionalmente, si necesita modificar alguna propiedad actualizable en el mensaje que se reenviará, primero puede crear un borrador Reenviar, actualizar las propiedades del mensaje y, a continuación, enviar la respuesta.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/forward
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | cadena | El Id. del mensaje a reenviar. |
Parámetros de cuerpo | ||
Comentario | cadena | Comentario que se va a incluir. Puede ser una cadena vacía. |
ToRecipients | Colección(destinatario) | La lista de destinatarios. |
Especifque los parámetros Comment y ToRecipients en el cuerpo de la solicitud.
Solicitud de muestra
POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8DmAAA=/forward
Content-Type: application/json
{
"Comment": "FYI",
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
}
},
{
"EmailAddress": {
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
}
}
]
}
Respuesta de muestra
Status code: 202
Crear un borrador para reenviar
Ámbito mínimo necesario
Uno de los siguientes:
Cree un borrador para reenviar el mensaje especificado. A continuación, puede actualizar el borrador para agregar contenido al cuerpo, cambiar otras propiedades del mensaje o, simplemente, enviar el borrador.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/createforward
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | cadena | El Id. del mensaje a reenviar. |
Solicitud de muestra
POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8DmAAA=/createforward
Respuesta de muestra
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz7k6AAA=')",
"@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AhG\"",
"Id": "AAMkAGE0Mz7k6AAA=",
"ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AhG",
"Categories": [],
"CreatedDateTime": "2016-03-15T08:42:10Z",
"LastModifiedDateTime": "2016-03-15T08:42:10Z",
"Subject": "FW: Let's start a group",
"BodyPreview": "Dana, just want to make sure you get this.\r\n________________________________\r\nFrom: Admin\r\nSent: Tuesday, March 15, 2016 6:47:54 AM\r\nTo: Fanny Downs; Randi Welch\r\nSubject: RE: Let's st",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n...</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": false,
"ParentFolderId": "AAMkAGE0MAAEPAAA=",
"From": null,
"Sender": {
"EmailAddress": {
"Address": "'alexd@contoso.onmicrosoft.com'",
"Name": "Alex D"
}
},
"ToRecipients": [],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGE0M3HbTkEU=",
"ReceivedDateTime": "2016-03-15T08:42:10Z",
"SentDateTime": "2016-03-15T08:42:10Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": true,
"IsRead": true
}
Tipo de respuesta
Elborrador Reenviar con IsDraft y otras propiedades apropiadas rellenadas previamente.
Actualizar mensajes
Cambie las propiedades grabables en un mensaje y guarde los cambios.
Actualizar un mensaje
Ámbito mínimo necesario
Uno de los siguientes:
Cambiar las propiedades grabables en un borrador o mensaje existente. Solo se modifican las propiedades que especifique.
PATCH https://outlook.office.com/api/v2.0/me/messages/{message_id}
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | cadena | El Id. del mensaje que se va a actualizar. |
Especifique una o varias propiedades message grabables en el cuerpo de la solicitud.
Solicitud de muestra
PATCH https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8S-AAA=
Content-Type: application/json
{
"Categories": [
"Orange category",
"Green category"
],
"IsRead": true
}
Respuesta de muestra
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8S-AAA=')",
"@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP\"",
"Id": "AAMkAGE0Mz8S-AAA=",
"ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP",
"Categories": [
"Orange category",
"Green category"
],
"CreatedDateTime": "2014-10-17T17:12:15Z",
"LastModifiedDateTime": "2014-10-19T03:24:35Z",
"Subject": "Meeting notes from today",
"BodyPreview": "See attached",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n...</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": true,
"ParentFolderId": "AAMkAGE0MAAEMAAA=",
"From": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"Sender": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Katie Jordan"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGE0Mip-qvhs=",
"ReceivedDateTime": "2014-10-17T17:12:15Z",
"SentDateTime": "2014-10-17T17:12:12Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": false,
"IsRead": true
}
Tipo de respuesta
El mensaje actualizado.
Eliminar mensajes
Nota
Tenga cuidado al eliminar mensajes. Es posible que el contenido eliminado no se pueda recuperar. Para obtener más información, consulte Eliminar elementos.
Eliminar un mensaje
Ámbito mínimo necesario
Uno de los siguientes:
DELETE https://outlook.office.com/api/v2.0/me/messages/{message_id}
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | cadena | Id. del mensaje que se va a eliminar. |
Solicitud de muestra
DELETE https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8TBAAA=
Respuesta de muestra
Status code: 204
Mover o copiar mensajes
Puede mover o copiar un mensaje a una carpeta.
Mover un mensaje
Ámbito mínimo necesario
Uno de los siguientes:
Mueve un mensaje a una carpeta. Se crea una nueva copia del mensaje en la carpeta de destino.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/move
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | cadena | ID. del mensaje a mover. |
Parámetros de cuerpo | ||
DestinationId | cadena | El ID de la carpeta de destino o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
Solicitud de muestra
POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGI2TIy-AAA=/move
Content-Type: application/json
{
"DestinationId": "AAMkAGI2AAEJAAA="
}
Respuesta de muestra
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0MGz_vSAAA=')",
"@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP\"",
"Id": "AAMkAGI2shBhAAA=",
"ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
"Categories": [],
"CreatedDateTime": "2014-10-20T00:13:21Z",
"LastModifiedDateTime": "2014-10-20T00:13:23Z",
"Subject": "Contract Signing",
"BodyPreview": "There will be a detailed legal review of Project Falcon once the contract is ready.",
"Body": {
"ContentType": "Text",
"Content": "There will be a detailed legal review of Project Falcon once the contract is ready."
},
"Importance": "Normal",
"HasAttachments": false,
"ParentFolderId": "AAMkAGI2AAEJAAA=",
"From": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"Sender": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Katie Jordan"
}
},
{
"EmailAddress": {
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Garth Fort"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGI2NGWgitxag=",
"ReceivedDateTime": "2014-10-20T00:13:21Z",
"SentDateTime": "2014-10-20T00:13:21Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": false,
"IsRead": true
}
Tipo de respuesta
El mensaje se ha movido.
Copiar un mensaje
Ámbito mínimo necesario
Uno de los siguientes:
Copia un mensaje a una carpeta.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/copy
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | cadena | Id. del mensaje a copiar. |
Parámetros de cuerpo | ||
DestinationId | cadena | El ID de la carpeta de destino o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
Solicitud de muestra
POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGI2TIy-AAA=/copy
Content-Type: application/json
{
"DestinationId": "inbox"
}
Respuesta de muestra
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8TDAAA=')",
"@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIS\"",
"Id": "AAMkAGI2T8DtAAA=",
"ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
"Categories": [],
"CreatedDateTime": "2014-10-20T00:13:21Z",
"LastModifiedDateTime": "2014-10-20T00:13:23Z",
"Subject": "Contract Signing",
"BodyPreview": "There will be a detailed legal review of Project Falcon once the contract is ready.",
"Body": {
"ContentType": "Text",
"Content": "There will be a detailed legal review of Project Falcon once the contract is ready."
},
"Importance": "Normal",
"HasAttachments": false,
"ParentFolderId": "AAMkAGE0MAAEMAAA=",
"From": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"Sender": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Katie Jordan"
}
},
{
"EmailAddress": {
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Garth Fort"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAQAKjRc0YJSUBJpofjWgitxag=",
"ReceivedDateTime": "2014-10-20T00:13:21Z",
"SentDateTime": "2014-10-20T00:13:21Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": false,
"IsRead": true
}
Tipo de respuesta
La nueva copia del mensaje.
Administrar Bandeja de entrada Prioritarios
La Bandeja de entrada Prioritarios permite ver mensajes importantes en la pestaña Focused
de la Bandeja de entrada y el resto de los mensajes en la pestaña Other
. El sistema de clasificación organiza inicialmente los mensajes de la Bandeja de entrada de manera predeterminada. Puede corregir y entrenar el sistema con el tiempo a través de la interfaz de usuario o mediante programación. Cuanto más se use, el sistema podrá deducir mejor qué mensaje entrante es importante.
En el nivel programático, la API REST de Bandeja de entrada priorizada funciona en los mensajes del usuario especificado, y es compatible con una propiedad InferenceClassification para cada mensaje. Los posibles valores son Focused
y Other
, que indican si el usuario considera ese mensaje, respectivamente, más importante y menos importante. Para corregir y entrenar el sistema de clasificación de mensajes, utilice la operación PATCH en la propiedad InferenceClassification en el nivel del mensaje
La API REST de Bandeja de entrada priorizada también le permite crear reemplazos. Cada reemplazo, que se representa mediante una instancia de InferenceClassificationOverride, es una instrucción para que el sistema de clasificación siempre designe mensajes de un remitente específico de una manera coherente (es decir, siempre como "Priorizado" o siempre como "Otro"), independientemente de cualquier enfoque previamente aprendido. Puede crear, obtener, actualizar y eliminar reemplazos para el usuario especificado. Los reemplazos de ese usuario, si los hay, son accesibles en una propiedad de navegación InferenceClassification, que es una colección de instancias de InferenceClassificationOverride. Los reemplazos permiten que el usuario tenga más control sobre la clasificación de los mensajes entrantes y crea una mayor confianza en el sistema de clasificación.
Tenga en cuenta que el sistema de clasificación aprende y aplica la clasificación solo en los mensajes entrantes en la Bandeja de entrada. De forma predeterminada, los mensajes en otras carpetas están "Priorizados". La configuración de un reemplazo afecta a los mensajes que lleguen en el futuro a la Bandeja de entrada; el reemplazo no modifica la propiedad InferenceClassification de los mensajes existentes de ninguna carpeta, incluida la Bandeja de entrada.
Entrenar el sistema de clasificación de mensajes
Uso de invalidaciones para clasificar de forma coherente según el remitente
- Crear un reemplazo para un remitente
- Obtener todos los reemplazos de usuario
- Actualizar un reemplazo para un remitente
- Eliminar un reemplazo de remitente
Actualizar la clasificación de mensajes
Ámbito mínimo necesario
Uno de los siguientes:
Cambiar la propiedad InferenceClassification del mensaje especificado. Si el mensaje está en la Bandeja de entrada, el usuario verá ese mensaje debajo de la pestaña Focused
o Other
correspondiente. Este tipo de corrección también entrena el sistema de clasificación de mensajes para personalizar la futura clasificación para el usuario especificado.
PATCH https://outlook.office.com/api/v2.0/me/messages('{message_id}')
PATCH https://outlook.office.com/api/v2.0/Users('{user_id}')/messages('{message_id}')
Parámetro | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | cadena | Id. del borrador que se enviará. |
user_id | cadena | La dirección de correo del usuario. |
Tipo de respuesta
El mensaje actualizado.
Solicitud de muestra
Este ejemplo cambia la propiedad InferenceClassification a Other
para el mensaje especificado del usuario con sesión iniciada.
PATCH https://outlook.office.com/api/v2.0/me/messages('AAMkADA1MTQBAAA=')
{
"InferenceClassification": "Other"
}
Respuesta de muestra
El objeto de respuesta que se muestra aquí muestra la propiedad InferenceClassification actualizada y se trunca por motivos de brevedad. Una solicitud PATCH real devuelve todas las propiedades del mensaje.
Status code: 200 OK
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTQBAAA=')",
"@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAffAsD\"",
"Id": "AAMkADA1MTQBAAA=",
"Importance": "Normal",
"Sender": {
"EmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@adatum.onmicrosoft.com"
}
},
"From": {
"EmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@adatum.onmicrosoft.com"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Name": "Admin",
"Address": "admin@adatum.onmicrosoft.com"
}
}
],
"InferenceClassification": "Other"
}
Crear un reemplazo para un remitente
Ámbito mínimo necesario
Uno de los siguientes:
Cree una invalidación para un remitente que se ha identificado mediante una dirección SMTP. Los mensajes futuros de esa dirección SMTP se clasificarán sistemáticamente como se especifica en la invalidación.
Nota
- Si ya existe un reemplazo con la misma dirección SMTP, los campos ClassifyAs y Name de ese reemplazo se actualizan con los valores proporcionados.
- El número máximo de invalidaciones que admite un buzón es de 1000, basado en direcciones SMTP de remitentes únicos.
- La operación POST solo admite la creación de invalidaciones de una en una. Para crear varios reemplazos, puede enviar varias solicitudes POST o procesarlas por lotes.
POST https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides
POST https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides
Parámetro | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
user_id | cadena | La dirección de correo del usuario. |
Tipo de respuesta
La instancia de InferenceClassificationOverride que se acaba de crear o la instancia de InferenceClassificationOverride actualizada si ya existe una con la misma dirección SMTP.
Solicitud de muestra
POST https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides
{
"ClassifyAs": "Focused",
"SenderEmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@adatum.onmicrosoft.com"
}
}
Respuesta de muestra
Status code: 201 Created
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/InferenceClassification/Overrides/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf11a9b9')",
"Id": "98f5bdef-576a-404d-a2ea-07a3cf11a9b9",
"ClassifyAs": "Focused",
"SenderEmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@adatum.onmicrosoft.com"
}
}
Obtener todos los reemplazos de usuario
Ámbito mínimo necesario
Uno de los siguientes:
Obtiene los reemplazos que un usuario ha configurado para clasificar siempre los mensajes de determinados remitentes de forma específica.
Cada reemplazo corresponde a una dirección SMTP de un remitente. Inicialmente, un usuario no tiene ningún reemplazo.
GET https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides
GET https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides
Parámetro | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
user_id | cadena | La dirección de correo del usuario. |
Tipo de respuesta
Una coleccion de instancias de InferenceClassificationOverride. Se devuelve una colección vacía si el usuario no tiene ningún reemplazo configurado.
Solicitud de muestra
GET https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides
Respuesta de muestra
Status code: 200 OK
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/InferenceClassification/Overrides",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf11a9b9')",
"Id": "98f5bdef-576a-404d-a2ea-07a3cf11a9b9",
"ClassifyAs": "Focused",
"SenderEmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@adatum.onmicrosoft.com"
}
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')",
"Id": "98f5bdef-576a-404d-a2ea-07a3cf34af4r",
"ClassifyAs": "Other",
"SenderEmailAddress": {
"Name": "Randi Welch",
"Address": "randiw@adatum.onmicrosoft.com"
}
}
]
}
Actualizar un reemplazo para un remitente
Ámbito mínimo necesario
Uno de los siguientes:
Cambie el campo ClassifyAs de un reemplazo tal y como se especifica.
No puede utilizar PATCH para cambiar ningún otro campo de una instancia de inferenceClassificationOverride.
Si hay un reemplazo para un remitente y este cambia su nombre para mostrar, puede utilizar POST para forzar una actualización en el campo Nombre del reemplazo existente.
Si hay una invalidación para un remitente y este cambia su dirección SMTP, la única forma de "actualizar" la invalidación de este remitente es eliminar la invalidación existente y crear una nueva con la nueva dirección SMTP.
PATCH https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides('{override_id}')
PATCH https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Parámetro | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
override_id | cadena | Id. del reemplazo a actualizar. |
user_id | cadena | La dirección de correo del usuario. |
Tipo de respuesta
La instancia de InferenceClassificationOverride actualizada.
Solicitud de muestra
El siguiente ejemplo cambia un reemplazo para el usuario que ha iniciado sesión. El reemplazo es para el remitente con la dirección SMTP randiw@adatum.onmicrosoft.com, cambiado de Other
a Focused
.
PATCH https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')
{
"ClassifyAs": "Focused"
}
Respuesta de muestra
Status code: 200 OK
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/InferenceClassification/Overrides/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')",
"Id": "98f5bdef-576a-404d-a2ea-07a3cf34af4r",
"ClassifyAs": "Focused",
"SenderEmailAddress": {
"Name": "Randi Welch",
"Address": "randiw@adatum.onmicrosoft.com"
}
}
Eliminar un reemplazo de remitente
Ámbito mínimo necesario
Uno de los siguientes:
Elimina un reemplazo especificado por su identificador.
DELETE https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides('{override_id}')
DELETE https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Parámetro | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
override_id | cadena | Id. del borrador que se enviará. |
user_id | cadena | La dirección de correo del usuario. |
Solicitud de muestra
DELETE https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')
Respuesta de muestra
Status code: 204 No Content
Administrar @-Mentions (versión preliminar)
Esta característica está actualmente disponible en beta. En el índice de la izquierda, vaya a la sección Referencia de la API de REST de Office 365 y seleccione beta.
Administrar reglas (versión preliminar)
Esta característica está actualmente disponible en beta. En el índice de la izquierda, vaya a la sección Referencia de la API de REST de Office 365 y seleccione beta.
Cancelar suscripción (versión preliminar)
Esta característica está actualmente disponible en beta. En el índice de la izquierda, vaya a la sección Referencia de la API de REST de Office 365 y seleccione beta.
Obtener opciones de idioma (versión preliminar)
Actualmente, esta característica solo está disponible en la versión beta. En el índice de la izquierda, vaya a la sección Referencia de la API de REST de Office 365 y seleccione beta.
Obtener opciones de zona horaria (versión preliminar)
Actualmente, esta característica solo está disponible en la versión beta. En el índice de la izquierda, vaya a la sección Referencia de la API de REST de Office 365 y seleccione beta.
Obtener configuración del buzón
Ámbito mínimo necesario
Obtenga la configuración del buzón principal del usuario que ha iniciado sesión. Los ejemplos de configuración incluyen el idioma preferido del usuario y la zona horaria predeterminada, y cualquier configuración de respuesta automática.
GET https://outlook.office.com/api/v2.0/me/MailboxSettings
Tipo de respuesta
Para obtener solo la configuración de idioma preferida entre todas las configuraciones de buzones:
GET https://outlook.office.com/api/beta/me/MailboxSettings/Language
Tipo de respuesta
Para obtener solo la configuración de zona horaria preferida entre todas las configuraciones de buzones:
GET https://outlook.office.com/api/beta/me/MailboxSettings/TimeZone
Tipo de respuesta
Una cadena que representa la zona horaria preferida en el formato de zona horaria de Windows.
También puede obtener específicamente la configuración de respuesta automática.
Solicitud de muestra
El siguiente ejemplo obtiene todas las configuraciones del buzón para el usuario que ha iniciado sesión.
GET https://outlook.office.com/api/v2.0/me/MailboxSettings
Respuesta de muestra
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailboxSettings",
"AutomaticRepliesSetting": {
"Status": "Scheduled",
"ExternalAudience": "All",
"ScheduledStartDateTime": {
"DateTime": "2016-03-14T07:00:00.0000000",
"TimeZone": "UTC"
},
"ScheduledEndDateTime": {
"DateTime": "2016-03-28T07:00:00.0000000",
"TimeZone": "UTC"
},
"InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
"ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
},
"TimeZone": "Pacific Standard Time",
"Language":{
"Locale":"en-US",
"DisplayName":"English (United States)"
}
}
Obtener la configuración de respuesta automática
Ámbito mínimo necesario
Obtenga la configuración de respuesta automática del buzón del usuario que ha iniciado sesión.
Las respuestas automáticas le permiten notificar automáticamente a las personas con un mensaje cuando les envían un correo electrónico. Por ejemplo, puede notificarles cuando no está disponible y no les puede responder.
Dado que las respuestas automáticas forman parte de la configuración del buzón del usuario (que representa MailboxSettings), puede ver la configuración de respuestas automáticas obteniendo todas las configuraciones del buzón, que incluyen configuraciones de respuestas automáticas, u obteniendo específicamente la configuración de respuestas automáticas.
Puede utilizar el encabezado HTTP Prefer: outlook.timezone
para especificar la zona horaria preferida para mostrar los valores ScheduledStartDateTime y ScheduledEndDateTime.
GET https://outlook.office.com/api/v2.0/me/MailboxSettings/AutomaticRepliesSetting
Tipo de respuesta
Solicitud de muestra
GET https://outlook.office.com/api/v2.0/me/MailboxSettings/AutomaticRepliesSetting
Respuesta de muestra
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailboxSettings/AutomaticRepliesSetting",
"Status": "AlwaysEnabled",
"ExternalAudience": "None",
"ScheduledStartDateTime": {
"DateTime": "2016-03-19T02:00:00.0000000",
"TimeZone": "UTC"
},
"ScheduledEndDateTime": {
"DateTime": "2016-03-20T02:00:00.0000000",
"TimeZone": "UTC"
},
"InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
"ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
}
Actualizar la configuración de respuesta automática
Ámbito mínimo necesario
Las respuestas automáticas forman parte de la configuración del buzón del usuario (que representa MailboxSettings) Puede habilitar, configurar o inhabilitar respuestas automáticas actualizando la configuración de buzón correspondiente.
Nota
No puede crear ni eliminar ninguna configuración del buzón.
PATCH https://outlook.office.com/api/v2.0/me/MailboxSettings
Tipo de respuesta
Solicitud de muestra
Siguiendo el ejemplo anterior de obtener la configuración de respuestas automáticas, el siguiente ejemplo cambia el Estado de AlwaysEnabled
a Scheduled
y las fechas de inicio y finalización a un intervalo de fechas distinto.
PATCH https://outlook.office.com/api/v2.0/me/MailboxSettings
Content-Type: application/json
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailboxSettings",
"AutomaticRepliesSetting": {
"Status": "Scheduled",
"ScheduledStartDateTime": {
"DateTime": "2016-03-20T18:00:00.0000000",
"TimeZone": "UTC"
},
"ScheduledEndDateTime": {
"DateTime": "2016-03-28T18:00:00.0000000",
"TimeZone": "UTC"
}
}
}
Respuesta de muestra
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailboxSettings",
"AutomaticRepliesSetting": {
"Status": "Scheduled",
"ExternalAudience": "None",
"ScheduledStartDateTime": {
"DateTime": "2016-03-20T02:00:00.0000000",
"TimeZone": "UTC"
},
"ScheduledEndDateTime": {
"DateTime": "2016-03-28T02:00:00.0000000",
"TimeZone": "UTC"
},
"InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
"ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
},
"TimeZone": "Pacific Standard Time",
"Language":{
"Locale":"en-US",
"DisplayName":"English (United States)"
}
}
Obtener sugerencias de correo electrónico (versión preliminar)
Esta característica está actualmente disponible en beta. En el índice de la izquierda, vaya a la sección Referencia de la API de REST de Office 365 y seleccione beta.
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:
Obtenga los datos adjuntos de un mensaje determinado.
GET https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | cadena | Id. de mensaje. |
Nota
De forma predeterminada, cada elemento de datos adjuntos en la respuesta incluye todas sus propiedades correspondientes a ese tipo de datos adjuntos. 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.
Tipo de respuesta
Una recopilación de datos adjuntos que puede ser del tipo FileAttachment o ItemAttachment.
Ejemplo de solicitudes y respuestas
El siguiente ejemplo muestra cómo utilizar $select
para especificar que se devuelva solo la propiedad Nombre de cada archivo adjunto en la respuesta. Consulte la respuesta de ejemplo en Obtener datos adjuntos para obtener una lista completa de las propiedades que se devolverían para datos adjuntos si no se utiliza $select
.
Solicitud de muestra
GET https://outlook.office.com/api/v2.0/me/messages/AAMkAGI2THVSAAA=/attachments?$select=Name
Respuesta de muestra
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkAGI2THVSAAA%3D')/Attachments(Name)",
"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')/Messages('AAMkAGI2THVSAAA=')/Attachments('AAMkAGI2j4kShdM=')",
"Id": "AAMkAGI2j4kShdM=",
"Name": "minutes.docx"
}
]
}
El siguiente ejemplo muestra cómo obtener el único elemento de datos adjunto que es un elemento de correo de Outlook. La respuesta incluye un Id. de datos adjuntos que también es el Id. del mensaje adjunto.
GET https://outlook.office.com/api/v2.0/me/messages('AAMkADFiNTPAAA=')/attachments
Content-Type: application/json
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkADFiNTPAAA%3D')/Attachments",
"value": [
{
"@odata.type": "#Microsoft.OutlookServices.ItemAttachment",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-20075df800e5@1717622f-1d94-4d0c-9d74-f907ad6677b4')/Messages('AAMkADFiNTPAAA=')/Attachments('AAMkADFiNTAUhhYuYi0=')",
"Id": "AAMkADFiNTAUhhYuYi0=",
"Name": "How to retrieve item attachment using Outlook REST API",
"ContentType": message/rfc822,
"Size": 71094,
"IsInline": false,
"LastModifiedDateTime": "2015-09-24T05:57:59Z",
}
]
}
Recibir datos adjuntos
Ámbito mínimo necesario
Uno de los siguientes:
Obtener datos adjuntos de un mensaje determinado.
GET https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments/{attachment_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 | ||
message_id | cadena | Id. de mensaje. |
attachment_id | cadena | El identificador de los datos adjuntos. |
Nota
De forma predeterminada, la respuesta incluye todas las propiedades de los datos adjuntos. Utilice $select
para especificar solo las propiedades que necesita para un mejor rendimiento. Consulte Obtener una colección de datos adjuntos para ver un ejemplo. La propiedad Id se devuelve siempre. 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/messages/AAMkAGI2THVSAAA=/attachments/AAMkAGI2j4kShdM=
Respuesta de muestra
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkAGI2THVSAAA%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')/Messages('AAMkAGI2THVSAAA=')/Attachments('AAMkAGI2j4kShdM=')",
"Id": "AAMkAGI2j4kShdM=",
"LastModifiedDateTime": "2014-10-20T00:41:52Z",
"Name": "minutes.docx",
"ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"Size": 11585,
"IsInline": false,
"ContentId": null,
"ContentLocation": null,
"ContentBytes": "UEsDBBQABgAIAAAAIQDCAAA4KQAAAAA="
}
Ejemplo de solicitud (referencia adjunta)
El siguiente ejemplo obtiene la referencia adjunta de un mensaje.
GET https://outlook.office.com/api/v2.0/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=
Respuesta de muestra
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
"LastModifiedDateTime": "2016-03-12T06:04:38Z",
"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 datos adjuntos)
El siguiente ejemplo obtiene y expande las 3 referencias adjuntas insertadas en las propiedades del mensaje.
GET https://outlook.office.com/api/v2.0/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/?$expand=attachments
Respuesta de muestra
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages/$entity",
"@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZsPav\"",
"Id": "AAMkAGE1Mbs88AADUv0uFAAA=",
"CreatedDateTime": "2016-03-08T01:01:57Z",
"LastModifiedDateTime": "2016-03-12T06:18:54Z",
"ChangeKey": "CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZsPav",
"Categories": [ ],
"ReceivedDateTime": "2016-03-08T01:01:57Z",
"SentDateTime": "2016-03-08T01:01:51Z",
"HasAttachments": true,
"InternetMessageId": "<SN2SR0101MB00299F0D7D22EE5D380104ED84B20@SN2SR0101MB0029.namsdf01.sdf.exchangelabs.com>",
"Subject": "RE: New year activity",
"Body": {
"ContentType": "html",
"Content": "<html>\r\n<<body>Let's gather to celebrate the new year! </body>\r\n</html>\r\n"
},
"BodyPreview": "What about the tulips?\r\n________________________________\r\nFrom: Dana Swope <danas@contoso.onmicrosoft.com>\r\nSent: Monday, March 7, 2016 10:51:39 PM\r\nTo: Dana Swope; Culinary Expert Group\r\nSubject: RE: New year activity\r\n\r\nLet's gather to celebrate the new year! ",
"Importance": "Normal",
"ParentFolderId": "AQMkAGE1MQN7j5uzzwAAAIBDAAAAA==",
"Sender": {
"EmailAddress": {
"Name": "Dana Swope",
"Address": "danas@contoso.onmicrosoft.com"
}
},
"From": {
"EmailAddress": {
"Name": "Dana Swope",
"Address": "danas@contoso.onmicrosoft.com"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Name": "Dana Swope",
"Address": "danas@contoso.onmicrosoft.com"
}
},
{
"EmailAddress": {
"Name": "Culinary Expert Group",
"Address": "Chefs@contoso.onmicrosoft.com"
}
}
],
"CcRecipients": [ ],
"BccRecipients": [ ],
"ReplyTo": [ ],
"ConversationId": "AAQkAGE1MMM2SaRFsKgx7BKVfig=",
"ConversationIndex": "AQHRaThgdSG4wzZJpEWwqDHsEpV+KJ9OtWGUgAAkYLI=",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsRead": true,
"IsDraft": false,
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADUv0uFAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"InferenceClassification": "Focused",
"UnsubscribeData": [ ],
"UnsubscribeEnabled": false,
"Flag": { "FlagStatus": "NotFlagged" },
"Attachments@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments",
"Attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=",
"LastModifiedDateTime": "2016-03-12T05:54:31Z",
"Name": "Personal pictures",
"ContentType": null,
"Size": 362,
"IsInline": false,
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics",
"ProviderType": "OneDriveBusiness",
"ThumbnailUrl": null,
"PreviewUrl": null,
"Permission": "edit",
"IsFolder": true
},
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
"LastModifiedDateTime": "2016-03-12T06:04:38Z",
"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
},
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAO3wkFiM3KlCpn81m8qS1W0=",
"LastModifiedDateTime": "2016-03-12T06:18:54Z",
"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
}
]
}
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/messages/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 elemento adjunto para un mensaje
Crear un archivo adjunto
Ámbito mínimo necesario
Uno de los siguientes:
Agregue un archivo adjunto a un mensaje.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | cadena | Id. de mensaje. |
Parámetros de cuerpo | ||
@odata.type | cadena | #Microsoft.OutlookServices.FileAttachment |
Nombre | cadena | El nombre de los datos adjuntos. |
ContentBytes | binario | El archivo a adjuntar. |
Especifique los parámetros Name y ContentBytes y cualquier propiedad file attachment grabable en el cuerpo de la solicitud.
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 mensaje.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | cadena | Id. de mensaje. |
Parámetros de cuerpo | ||
@odata.type | cadena | #Microsoft.OutlookServices.ItemAttachment |
Nombre | cadena | El nombre de los datos adjuntos. |
Ítem | Una entidadMessage o Event. | El elemento a adjuntar. |
Especifique los parámetros Name e Item y cualquier propiedad iteme attachment grabable en el cuerpo de la solicitud.
Tipo de respuesta
El nuevo elemento adjunto.
Crear una referencia adjunta
Ámbito mínimo necesario
Uno de los siguientes:
Agregue una referencia adjunta a un mensaje.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | Cadena | Id. de mensaje. |
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
Solicitud de muestra
El siguiente ejemplo agrega una referencia adjunta a un mensaje 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/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments
Content-Type: application/json
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Name": "Koala picture",
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
"ProviderType": "oneDriveBusiness",
"Permission": "Edit",
"IsFolder": "False"
}
Respuesta de muestra
Status code: 201 Created
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
"LastModifiedDateTime": "2016-03-12T06:04:38Z",
"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
}
Solicitud de muestra
El siguiente ejemplo agrega una referencia adjunta en la misma llamada que la creación de un borrador. Los datos adjuntos son un vínculo a un archivo en OneDrive para la Empresa.
POST https://outlook.office.com/api/v2.0/me/messages
Content-Type: application/json
{
"Subject": "Plan for dinner",
"Body": {
"ContentType": "HTML",
"Content": "Office anniversary is coming soon!"
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "randiw@contoso.onmicrosoft.com"
}
}
],
"Attachments": [
{
"@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
Status code: 201 Created
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages/$entity",
"@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZ8qi1\"",
"Id": "AAMkAGE1Mbs88AADZ0CU9AAA=",
"CreatedDateTime": "2016-03-12T09:04:54Z",
"LastModifiedDateTime": "2016-03-12T09:04:54Z",
"ChangeKey": "CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZ8qi1",
"Categories": [ ],
"ReceivedDateTime": "2016-03-12T09:04:54Z",
"SentDateTime": "2016-03-12T09:04:54Z",
"HasAttachments": true,
"InternetMessageId": "<BL2SR0101MB00188944566BDECE6EDE57F384B60@BL2SR0101MB0018.namsdf01.sdf.exchangelabs.com>",
"Subject": "Plan for dinner",
"Body": {
"ContentType": "html",
"Content": "<html>\r\n<body>\r\nOffice anniversary is coming soon!\r\n</body>\r\n</html>\r\n"
},
"BodyPreview": "Office anniversary is coming soon!",
"Importance": "normal",
"ParentFolderId": "AQMkAGE1MQN7j5uzzwAAAIBDwAAAA==",
"Sender": null,
"From": null,
"ToRecipients": [
{
"EmailAddress": {
"Name": "Randi Welch",
"address": "randiw@contoso.onmicrosoft.com"
}
}
],
"CcRecipients": [ ],
"BccRecipients": [ ],
"ReplyTo": [ ],
"ConversationId": "AAQkAGE1MMAAQAJk0cqqggzpKtIHErqyDkcU=",
"ConversationIndex": "AQHRfD4+mTRyqqCDOkq0gcSurIORxQ==",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsRead": true,
"IsDraft": true,
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADZ0CU9AAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"InferenceClassification": "focused",
"UnsubscribeData": [ ],
"UnsubscribeEnabled": false,
"Flag": { "flagStatus": "notFlagged" },
"Attachments@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADZ0CU9AAA%3D')/attachments",
"Attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADZ0CU9AAABEgAQAGe4H1iqXwtLsrCCLLkDxqo=",
"LastModifiedDateTime": null,
"Name": "Hydrangea picture",
"ContentType": null,
"Size": 0,
"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
Ámbito mínimo necesario
Uno de los siguientes:
Elimine los datos adjuntos especificados de un mensaje. Los datos adjuntos pueden ser un archivo adjunto oelemento adjunto.
DELETE https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments/{attachment_id}
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
message_id | cadena | Id. de mensaje. |
attachment_id | cadena | El identificador de los datos adjuntos. |
Solicitud de muestra
DELETE https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8S-AAA=/attachments/AAMkAGE0Mg67gL7o=
Respuesta de muestra
Status code: 204
Obtener carpetas
Puede obtener una colección de carpetas u obtener una carpeta del buzón del usuario.
Obtener una colección de carpetas
Ámbito mínimo necesario
Uno de los siguientes:
Obtenga una colección de carpetas en la carpeta raíz del usuario que ha iniciado sesión (.../me/MailFolders
) o en la carpeta especificada. Puede utilizar el acceso directo .../me/MailFolders
para obtener la colección de carpetas de nivel superior y navegar a otra carpeta.
GET https://outlook.office.com/api/v2.0/me/MailFolders
GET https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/childfolders
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 | ||
folder_id | ||
cadena | El Id. de carpeta, o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems , si recibe mensajes de una carpeta específica. |
Solicitud de muestra
GET https://outlook.office.com/api/v2.0/me/MailFolders
Respuesta de muestra
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEKAAA=')",
"Id": "AAMkAGI2AAEKAAA=",
"DisplayName": "Deleted Items",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 0,
"TotalItemCount": 1
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEPAAA=')",
"Id": "AAMkAGI2AAEPAAA=",
"DisplayName": "Drafts",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 0,
"TotalItemCount": 0
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEMAAA=')",
"Id": "AAMkAGI2AAEMAAA=",
"DisplayName": "Inbox",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 6,
"TotalItemCount": 6
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEeAAA=')",
"Id": "AAMkAGI2AAEeAAA=",
"DisplayName": "Junk Email",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 0,
"TotalItemCount": 0
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAELAAA=')",
"Id": "AAMkAGI2AAELAAA=",
"DisplayName": "Outbox",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 0,
"TotalItemCount": 0
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEJAAA=')",
"Id": "AAMkAGI2AAEJAAA=",
"DisplayName": "Sent Items",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 0,
"TotalItemCount": 3
}
]
}
Tipo de respuesta
La colección de carpetas solicitada.
Obtener una carpeta
Ámbito mínimo necesario
Uno de los siguientes:
Obtenga una carpeta por Id.
GET https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}
Obtenga una carpeta de buzón compartida por un usuario:
GET https://outlook.office.com/api/v2.0/users/{user_id}/mailFolders/{folder_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 | ||
folder_id | ||
cadena | El ID de la carpeta o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
Solicitud de muestra
GET https://outlook.office.com/api/v2.0/me/MailFolders/inbox
Respuesta de muestra
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEMAAA=')",
"Id": "AAMkAGI2AAEMAAA=",
"DisplayName": "Inbox",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 6,
"TotalItemCount": 6
}
Solicitud de muestra
Obtener una carpeta compartida por otro usuario:
GET https://outlook.office.com/api/v2.0/users/8c14ebe1-e4ba-4232cd011db47/mailFolders/AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM
Respuesta de muestra
HTTP/1.1 200 OK
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM')",
"Id": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM",
"DisplayName": "Inbox",
"ParentFolderId": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4QCHGmLqkYhISaO_lSymODLQABa6L5YpAAA=",
"ChildFolderCount": 4,
"UnreadItemCount": 27962,
"TotalItemCount": 64420
}
Tipo de respuesta
La carpeta solicitada.
Sincronizar jerarquía de carpetas
Puede obtener una tabla plana de todas las carpetas de un buzón. Cuando sincronice una jerarquía de carpetas de correo, solicite esta categoría.
Punto de conexión | Categoría de carpeta |
---|---|
Me/MailFolders | Carpetas de correo |
Solo puede sincronizar el nivel superior de cada categoría de carpeta. Por ejemplo, puede solicitar Me/MailFolders pero no Me/MailFolders ('inbox').
La sincronización admite tanto la sincronización completa, que recupera todas las carpetas de una jerarquía, como la sincronización incremental,que recupera todas las carpetas que han cambiado desde la última sincronización completa.
Ámbito mínimo necesario
Uno de los siguientes:
GET https://outlook.office.com/api/v2.0/me/MailFolders
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetro de encabezado | ||
Preferido | odata.trackchanges | Indica que la solicitud es una solicitud de sincronización. |
Parámetros de cuerpo | ||
odata.deltaLink | cadena | El token que indica la última vez que se sincronizó la jerarquía de carpetas. |
Si alguno de los siguientes parámetros de consulta están incluidos en la solicitud, se ignoran: $filter
, $orderby
, $search
, $top
.
Tipo de respuesta
Una lista plana de las carpetas en la categoría solicitada.
Crear carpetas
Agregue una nueva carpeta a una colección de carpetas.
Crear una carpeta
Ámbito mínimo necesario
Uno de los siguientes:
Cree una carpeta secundaria por el nombre especificado en DisplayName. DisplayName es la única propiedad grabable para un carpeta.
POST https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/childfolders
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El ID de la carpeta o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
|
Parámetros de cuerpo | ||
DisplayName | cadena | El nombre para mostrar de la carpeta. |
Solicitud de muestra
POST https://outlook.office.com/api/v2.0/me/MailFolders/inbox/childfolders
Content-Type: application/json
{
"DisplayName": "Company"
}
Respuesta de muestra
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('inbox')/ChildFolders/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
"Id": "AAMkAGE0Mz-l_AAA=",
"ParentFolderId": "AAMkAGE0MAAEMAAA=",
"DisplayName": "Company",
"ChildFolderCount": 0,
"UnreadItemCount": 2,
"TotalItemCount": 27
}
Tipo de respuesta
La nueva carpeta.
Comentarios
No puede crear una carpeta de nivel superior. Solo puede agregar una carpeta a un extremo childfolders
.
Actualizar carpetas
Cambie el nombre de una carpeta.
Actualizar una carpeta
Ámbito mínimo necesario
Uno de los siguientes:
Cambie el nombre de la carpeta al nombre especificado en DisplayName. El nombre es la única propiedad grabable para una carpeta.
PATCH https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El ID de la carpeta o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
|
Parámetros de cuerpo | ||
DisplayName | cadena | El nuevo nombre para mostrar de la carpeta. |
Solicitud de muestra
PATCH https://outlook.office.com/api/v2.0/me/MailFolders/AAMkAGE0Mz-l_AAA=
Content-Type: application/json
{
"DisplayName": "Business"
}
Respuesta de muestra
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
"Id": "AAMkAGE0Mz-l_AAA=",
"ParentFolderId": "AAMkAGE0MAAEMAAA=",
"DisplayName": "Business",
"ChildFolderCount": 0,
"UnreadItemCount": 4,
"TotalItemCount": 38
}
Tipo de respuesta
La carpeta actualizada.
Eliminar carpetas
Elimine una carpeta y todo su contenido.
Nota
Tenga cuidado al eliminar carpetas. Es posible que el contenido eliminado no se pueda recuperar. Para obtener más información, consulte Eliminar elementos.
Eliminar una carpeta
Ámbito mínimo necesario
Uno de los siguientes:
Elimine la carpeta especificada en folder_id.
DELETE https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El ID de la carpeta o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
Solicitud de muestra
DELETE https://outlook.office.com/api/v2.0/me/MailFolders/AAMkAGE0Mz-l_AAA=
Respuesta de muestra
Status code: 204
Mover o copiar carpetas
Puede mover o copiar una carpeta a otra carpeta.
Mover una carpeta
Ámbito mínimo necesario
Uno de los siguientes:
Mueva una carpeta y su contenido a otra carpeta mediante el método Move.
POST https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/move
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El ID de la carpeta o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
|
Parámetros de cuerpo | ||
DestinationId | cadena | El ID de la carpeta de destino o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
Solicitud de muestra
POST https://outlook.office.com/api/v2.0/me/MailFolders/AAMkAGE0Mz-l_AAA=/move
Content-Type: application/json
{
"DestinationId": "AAMkAGE0MyxQ9AAA="
}
Respuesta de muestra
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
"Id": "AAMkAGE0Mz-l_AAA=",
"ParentFolderId": "AAMkAGE0MyxQ9AAA=",
"DisplayName": "Business",
"ChildFolderCount": 0,
"UnreadItemCount": 4,
"TotalItemCount": 38
}
Tipo de respuesta
La carpeta se ha movido.
Copiar una carpeta
Ámbito mínimo necesario
Uno de los siguientes:
Copie una carpeta y su contenido a otra carpeta mediante el método Copy.
Solicitud de muestra
POST https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/copy
Parámetro obligatorio | Tipo | Descripción |
---|---|---|
Parámetros de dirección URL | ||
folder_id | ||
cadena | El ID de la carpeta o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
|
Parámetros de cuerpo | ||
DestinationId | cadena | El ID de la carpeta de destino o el nombre de carpeta conocido Inbox , Drafts , SentItems o DeletedItems . |
POST https://outlook.office.com/api/v2.0/me/MailFolders/AAMkAGE0Mz-l_AAA=/copy
Content-Type: application/json
{
"DestinationId": "inbox"
}
Respuesta de muestra
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-mAAAA=')",
"Id": "AAMkAGE0Mz-mAAAA=",
"ParentFolderId": "AAMkAGE0MAAEMAAA=",
"DisplayName": "Business",
"ChildFolderCount": 0,
"UnreadItemCount": 4,
"TotalItemCount": 38
}
Tipo de respuesta
La nueva copia de la carpeta.
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.
- Comience con las API 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
- Referencia de la API de calendario
- Referencia de la API de contactos
- API REST de tareas (versión preliminar)
- API de OneDrive
- Referencia de operaciones de la API REST del Servicio de detección
- Referencia de recursos para las API REST de correo, calendario, contactos y tareas