Table of contents
TOC
Collapse the table of content
Expand the table of content
Última actualización: 20/06/2018

Referencia de la API de REST de propiedades extendidas de Outlook

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

Esta versión de la documentación cubre una versión preliminar de la API de REST de propiedades extendidas de Outlook. Las características en versión preliminar pueden cambiar antes de su versión final y hacer que falle el código que las utilice. Por ello, en general, debe utilizar solo una versión de producción de una API en su código de producción. Si está disponible, v2.0 es actualmente la versión preferida.

La API de REST de propiedades extendidas de Outlook permite a las aplicaciones almacenar datos personalizados y les proporciona un mecanismo Fallback para acceder a datos personalizados de propiedades MAPI de Outlook cuando estas propiedades ya no están expuestas en los metadatos de la API de REST de Outlook. Puede usar la API de propiedades extendidas para almacenar u obtener dichos datos personalizados en un mensaje, carpeta de correo, evento, calendario, contacto,
carpeta de contacto, tarea o carpeta de tareas de la cuenta del usuario que esté conectado. La cuenta puede estar en Office 365 o ser una cuenta Microsoft (Hotmail.com, Live.com, MSN.com, Outlook.com y Passport.com).

Nota: para simplificar la referencia, en el resto de este artículo se utiliza "Outlook.com" para englobar a estos dominios de cuenta Microsoft.

¿No le interesa la versión beta de la API? Utilice el control de la esquina superior derecha para seleccionar la versión que desee.

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

La API de REST de propiedades extendidas de Outlook permite a las aplicaciones almacenar datos personalizados y les proporciona un mecanismo Fallback para acceder a datos personalizados de propiedades MAPI de Outlook cuando estas propiedades ya no están expuestas en los metadatos de la API de REST de Outlook. Puede usar la API de propiedades extendidas para almacenar u obtener dichos datos personalizados en un mensaje, carpeta de correo, evento, calendario, contacto,
carpeta de contacto, tarea o carpeta de tareas de la cuenta del usuario que esté conectado. La cuenta puede estar en Office 365 o ser una cuenta Microsoft (Hotmail.com, Live.com, MSN.com, Outlook.com y Passport.com).

Nota: para simplificar la referencia, en el resto de este artículo se utiliza "Outlook.com" para englobar a estos dominios de cuenta Microsoft.

¿No le interesa la versión 2.0 de la API? Utilice el control de la parte superior derecha para seleccionar la versión que desee.

Usar la API de REST de propiedades extendidas

¿Propiedades extendidas o extensiones de datos?

Utilice las propiedades extendidas y esta API de REST solo si necesita acceder a datos personalizados de las propiedades MAPI de Outlook que aún no estén expuestos a través de los metadatos de la API de REST de Outlook. En la mayoría de los escenarios, debe usar extensiones de datos de Office 365 y su API de REST para almacenar datos personalizados de elementos del buzón del usuario y acceder a ellos. Puede verificar qué propiedades exponen los metadatos en https://outlook.office.com/api/{version}/$metadata, sustituyendo {version} por v2.0, beta, etc., según la versión que corresponda en su caso.

Utilice las propiedades extendidas y esta API de REST solo si necesita acceder a datos personalizados de las propiedades MAPI de Outlook que aún no estén expuestos a través de los metadatos de la API de REST de Outlook. En la mayoría de los escenarios, debe usar extensiones de datos de Office 365 y su API de REST para almacenar datos personalizados de elementos del buzón del usuario y acceder a ellos. Puede verificar qué propiedades exponen los metadatos en https://outlook.office.com/api/{version}/$metadata, sustituyendo {version} por v2.0, beta, etc., según la versión que corresponda en su caso.

Autenticación

Como en cualquier otra API de REST de Outlook, debe incluir un token de acceso válido para cada solicitud a la API de propiedades extendidas. 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 simplificadas para usted. Tenga esto en cuenta a medida que avance con las operaciones específicas de la API de propiedades extendidas.

Como en cualquier otra API de REST de Outlook, debe incluir un token de acceso válido para cada solicitud a la API de propiedades extendidas. 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 simplificadas para usted. Tenga esto en cuenta a medida que avance con las operaciones específicas de la API de propiedades extendidas.

Versión de la API

El estado de esta API ha ascendido de versión preliminar a disponibilidad general. Es compatible con las versiones 2.0 y beta de la API de REST de Outlook.

El estado de esta API ha ascendido de versión preliminar a disponibilidad general. Es compatible con las versiones 2.0 y beta de la API de REST de Outlook.

Recursos de REST admitidos

Puede crear propiedades extendidas para instancias de los siguientes recursos:

El recurso debe estar en el buzón del usuario conectado a Office 365 o Outlook.com.

Puede crear propiedades extendidas para instancias de los siguientes recursos:

El recurso debe estar en el buzón del usuario conectado a Office 365 o Outlook.com.

Parámetros de la URL

Los ejemplos de este artículo utilizan los siguientes marcadores de posición de id. en parámetros de las URL de solicitud de REST. Debe especificar el id. de la instancia de recurso para la que desee crear una extensión.

ParámetroTipoDescripción
Parámetros de la URL
calendar_idcadenaId. de calendario
contact_idcadenaId. de contacto.
contactFolder_idcadenaId. de carpeta de contactos.
event_idcadenaId. de evento.
mailFolder_idcadenaId. de carpeta de correo.
message_idcadenaId. de mensaje.
propertyId_valuecadenaUn valor PropertyId en alguno de los formatos admitidos.
property_valuecadenaEl valor de una propiedad extendida.
task_idcadenaId. de tarea.
taskFolder_idcadenaId. de carpeta de tareas.

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

Los ejemplos de este artículo utilizan los siguientes marcadores de posición de id. en parámetros de las URL de solicitud de REST. Debe especificar el id. de la instancia de recurso para la que desee crear una extensión.

ParámetroTipoDescripción
Parámetros de la URL
calendar_idcadenaId. de calendario
contact_idcadenaId. de contacto.
contactFolder_idcadenaId. de carpeta de contactos.
event_idcadenaId. de evento.
mailFolder_idcadenaId. de carpeta de correo.
message_idcadenaId. de mensaje.
propertyId_valuecadenaUn valor PropertyId en alguno de los formatos admitidos.
property_valuecadenaEl valor de una propiedad extendida.
task_idcadenaId. de tarea.
taskFolder_idcadenaId. de carpeta de tareas.

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


Información general

Puede crear y almacenar datos dinámicamente en una propiedad extendida de una instancia de la entidad. Dependiendo de si pretende almacenar un único valor o múltiples valores (del mismo tipo), puede crear la propiedad extendida como una SingleValueLegacyExtendedProperty o una MultiValueLegacyExtendedProperty.

Cada uno de esos tipos identifica la propiedad por su PropertyId y almacena datos en Value.

Puede utilizar el PropertyId para obtener una instancia de la entidad específica junto con esa propiedad extendida, o filtrar una propiedad extendida de valor único para obtener todas las instancias que tengan esa propiedad.

Nota: no puede utilizar la API de REST para obtener todas las propiedades extendidas de una instancia específica en una sola llamada.

Puede crear y almacenar datos dinámicamente en una propiedad extendida de una instancia de la entidad. Dependiendo de si pretende almacenar un único valor o múltiples valores (del mismo tipo), puede crear la propiedad extendida como una SingleValueLegacyExtendedProperty o una MultiValueLegacyExtendedProperty.

Cada uno de esos tipos identifica la propiedad por su PropertyId y almacena datos en Value.

Puede utilizar el PropertyId para obtener una instancia de la entidad específica junto con esa propiedad extendida, o filtrar una propiedad extendida de valor único para obtener todas las instancias que tengan esa propiedad.

Nota: no puede utilizar la API de REST para obtener todas las propiedades extendidas de una instancia específica en una sola llamada.

Formatos de PropertyId

Al crear una propiedad extendida de valor único o con múltiples valores, puede especificar su PropertyId en uno de dos formatos, mediante un nombre de cadena o bien con un identificador numérico, y en el tipo real del valor o valores de la propiedad. En las siguientes dos tablas, se describen los formatos admitidos para especificar propiedades extendidas de valor único o de múltiples valores. {type} representa el tipo de valor o valores de la propiedad. En los ejemplos se muestran una cadena, un número entero y matrices de esos tipos.

Por simplicidad, y dado que las propiedades extendidas interoperan en la mayoría de los casos con propiedades MAPI definidas que no están expuestas en los metadatos de la API de REST de Outlook, el formato que elija debe reflejar si la propiedad MAPI correspondiente usa una cadena de caracteres o un valor numérico en su identificador de propiedad MAPI. En [MS-OXPROPS] Microsoft Corporation, "Lista completa de propiedades de los protocolos de Exchange Server", encontrará información útil si necesita asignar una propiedad extendida a una propiedad MAPI existente, como el identificador de la propiedad o el GUID.

Nota: tras elegir un formato para el PropertyId, deberá acceder a la propiedad extendida usando solo ese formato.

Formatos de PropertyId válidos para propiedades extendidas de valor único

FormatoEjemploDescripción
“{type} {guid} Nombre {name}”"String {8ECCC264-6880-4EBE-992F-8888D2EEAA1D} Name TestProperty"Identifica una propiedad mediante el espacio de nombres (GUID) al que pertenece y mediante un nombre.
“{type} {guid} Id. {id}”"Integer {8ECCC264-6880-4EBE-992F-8888D2EEAA1D} Id 0x8012"Identifica una propiedad mediante el espacio de nombres (el GUID) al que pertenece y un identificador.

Formatos de PropertyId válidos para propiedades extendidas de múltiples valores

FormatoEjemploDescripción
“{type} {guid} Nombre {name}”"StringArray {8ECCC264-6880-4EBE-992F-8888D2EEAA1D} Name TestProperty"Identifica una propiedad mediante un espacio de nombres (GUID) y un nombre.
“{type} {guid} Id. {id}”"IntegerArray {8ECCC264-6880-4EBE-992F-8888D2EEAA1D} Id 0x8013"Identifica una propiedad mediante un espacio de nombres (el GUID) y un identificador.

Al crear una propiedad extendida de valor único o con múltiples valores, puede especificar su PropertyId en uno de dos formatos, mediante un nombre de cadena o bien con un identificador numérico, y en el tipo real del valor o valores de la propiedad. En las siguientes dos tablas, se describen los formatos admitidos para especificar propiedades extendidas de valor único o de múltiples valores. {type} representa el tipo de valor o valores de la propiedad. En los ejemplos se muestran una cadena, un número entero y matrices de esos tipos.

Por simplicidad, y dado que las propiedades extendidas interoperan en la mayoría de los casos con propiedades MAPI definidas que no están expuestas en los metadatos de la API de REST de Outlook, el formato que elija debe reflejar si la propiedad MAPI correspondiente usa una cadena de caracteres o un valor numérico en su identificador de propiedad MAPI. En [MS-OXPROPS] Microsoft Corporation, "Lista completa de propiedades de los protocolos de Exchange Server", encontrará información útil si necesita asignar una propiedad extendida a una propiedad MAPI existente, como el identificador de la propiedad o el GUID.

Nota: tras elegir un formato para el PropertyId, deberá acceder a la propiedad extendida usando solo ese formato.

Formatos de PropertyId válidos para propiedades extendidas de valor único

FormatoEjemploDescripción
“{type} {guid} Nombre {name}”"String {8ECCC264-6880-4EBE-992F-8888D2EEAA1D} Name TestProperty"Identifica una propiedad mediante el espacio de nombres (GUID) al que pertenece y mediante un nombre.
“{type} {guid} Id. {id}”"Integer {8ECCC264-6880-4EBE-992F-8888D2EEAA1D} Id 0x8012"Identifica una propiedad mediante el espacio de nombres (el GUID) al que pertenece y un identificador.

Formatos de PropertyId válidos para propiedades extendidas de múltiples valores

FormatoEjemploDescripción
“{type} {guid} Nombre {name}”"StringArray {8ECCC264-6880-4EBE-992F-8888D2EEAA1D} Name TestProperty"Identifica una propiedad mediante un espacio de nombres (GUID) y un nombre.
“{type} {guid} Id. {id}”"IntegerArray {8ECCC264-6880-4EBE-992F-8888D2EEAA1D} Id 0x8013"Identifica una propiedad mediante un espacio de nombres (el GUID) y un identificador.

Operaciones de propiedad extendida

Crear una propiedad extendida en un elemento existente | Crear una propiedad extendida en un nuevo elemento |

Hacer que un elemento se expanda con la propiedad extendida | Filtro para una propiedad extendida de valor único

Crear una propiedad extendida en un elemento existente | Crear una propiedad extendida en un nuevo elemento |

Hacer que un elemento se expanda con la propiedad extendida | Filtro para una propiedad extendida de valor único

Crear una propiedad extendida en un elemento existente

Cree una o más propiedades extendidas para la instancia especificada de un recurso compatible. Cada propiedad extendida puede ser de un solo valor o tener múltiples valores.

PATCH https://outlook.office.com/api/beta/me/messages('{message_id}')
PATCH https://outlook.office.com/api/beta/me/events('{event_id}')
PATCH https://outlook.office.com/api/beta/me/contacts('{contact_id}')
PATCH https://outlook.office.com/api/beta/me/tasks('{task_id}')
PATCH https://outlook.office.com/api/beta/me/mailfolders('{mailFolder_id}')
PATCH https://outlook.office.com/api/beta/me/calendars('{calendar_id}')
PATCH https://outlook.office.com/api/beta/me/contactfolders('{contactFolder_id}')
PATCH https://outlook.office.com/api/beta/me/taskfolders('{taskFolder_id}')

Ámbito mínimo requerido: uno de los siguientes ámbitos de lectura/escritura correspondientes al recurso de destino:

ParámetroTipoDescripción
Parámetros del cuerpo
SingleValueExtendedPropertiesColección (SingleValueLegacyExtendedProperty)Una matriz de una o más propiedades extendidas de valor único.
PropertyIdcadenaEspecifique esto para cada propiedad de la colección SingleValueExtendedProperties con el fin de identificar la propiedad. Debe estar conforme a alguno de los formatos compatibles para propiedades extendidas de valor único. Obligatorio.
ValuecadenaEspecifique el valor de propiedad para cada propiedad de la colección SingleValueExtendedProperties. Obligatorio.
MultiValueExtendedPropertiesColección (MultiValueLegacyExtendedProperty)Una matriz de una o más propiedades extendidas de múltiples valores.
PropertyIdcadenaEspecifique esto para cada propiedad de la colección MultiValueExtendedProperties con el fin de identificar la propiedad. Debe estar conforme a alguno de los formatos compatibles para propiedades extendidas de múltiples valores. Obligatorio.
ValueColección (cadena)Especifique los valores de la propiedad para cada propiedad de la colección MultiValueExtendedProperties. Obligatorio.

Solicitud de muestra

El primer ejemplo crea una propiedad extendida de valor único para el mensaje especificado. Esa propiedad extendida es el único elemento de la matriz SingleValueExtendedProperties. El cuerpo de la solicitud incluye lo siguiente en relación con la propiedad extendida:

  • PropertyId especifica el tipo de propiedad como string, el GUID y la propiedad denominada Color.
  • Value especifica Green como el valor de la propiedad Color.
PATCH https://outlook.office.com/api/beta/me/messages('AAMkAGE1M2_bs88AACHsLqWAAA=')

Content-Type: application/json

{
  "SingleValueExtendedProperties": [
      {
         "PropertyId":"String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color",
         "Value":"Green"
      }
    ]
}

Respuesta de muestra

Una respuesta correcta se indica mediante un código de respuesta HTTP 200 OK e incluye el mensaje especificado en el cuerpo de la respuesta. Es similar a la respuesta al actualizar un mensaje. El cuerpo de la respuesta no incluye la propiedad extendida recién creada.

Solicitud de muestra

El segundo ejemplo crea una propiedad extendida de múltiples valores para el mensaje especificado. Esa propiedad es el único elemento de la matriz MultiValueExtendedProperties. El cuerpo de la solicitud incluye:

  • PropertyId, que define la propiedad como una matriz de cadenas con el GUID especificado y el nombre Palette.
  • Value, que define Palette como una matriz de tres valores de cadena, ["Green", "Aqua", "Blue"].
PATCH https://outlook.office.com/api/beta/me/messages('AAMkAGE1M2_as77AACHsLrBBBA=')

Content-Type: application/json

{
  "MultiValueExtendedProperties": [
      {
         "PropertyId":"StringArray {66f5a359-4659-4830-9070-00049ec6ac6e} Name Palette",
         "Value":["Green", "Aqua", "Blue"]
      }
    ]
}

Respuesta de muestra

Una respuesta correcta se indica mediante un código de respuesta HTTP 200 OK e incluye el mensaje especificado en el cuerpo de la respuesta. Es similar a la respuesta al actualizar un mensaje. El cuerpo de la respuesta no incluye la propiedad extendida recién creada.

Para ver la propiedad extendida recién creada, expanda el mensaje con ella.

Cree una o más propiedades extendidas para la instancia especificada de un recurso compatible. Cada propiedad extendida puede ser de un solo valor o tener múltiples valores.

PATCH https://outlook.office.com/api/v2.0/me/messages('{message_id}')
PATCH https://outlook.office.com/api/v2.0/me/events('{event_id}')
PATCH https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')
PATCH https://outlook.office.com/api/v2.0/me/tasks('{task_id}')
PATCH https://outlook.office.com/api/v2.0/me/mailfolders('{mailFolder_id}')
PATCH https://outlook.office.com/api/v2.0/me/calendars('{calendar_id}')
PATCH https://outlook.office.com/api/v2.0/me/contactfolders('{contactFolder_id}')
PATCH https://outlook.office.com/api/v2.0/me/taskfolders('{taskFolder_id}')

Ámbito mínimo requerido: uno de los siguientes ámbitos de lectura/escritura correspondientes al recurso de destino:

ParámetroTipoDescripción
Parámetros del cuerpo
SingleValueExtendedPropertiesColección (SingleValueLegacyExtendedProperty)Una matriz de una o más propiedades extendidas de valor único.
PropertyIdcadenaEspecifique esto para cada propiedad de la colección SingleValueExtendedProperties con el fin de identificar la propiedad. Debe estar conforme a alguno de los formatos compatibles para propiedades extendidas de valor único. Obligatorio.
ValuecadenaEspecifique el valor de propiedad para cada propiedad de la colección SingleValueExtendedProperties. Obligatorio.
MultiValueExtendedPropertiesColección (MultiValueLegacyExtendedProperty)Una matriz de una o más propiedades extendidas de múltiples valores.
PropertyIdcadenaEspecifique esto para cada propiedad de la colección MultiValueExtendedProperties con el fin de identificar la propiedad. Debe estar conforme a alguno de los formatos compatibles para propiedades extendidas de múltiples valores. Obligatorio.
ValueColección (cadena)Especifique los valores de la propiedad para cada propiedad de la colección MultiValueExtendedProperties. Obligatorio.

Solicitud de muestra

El primer ejemplo crea una propiedad extendida de valor único para el mensaje especificado. Esa propiedad extendida es el único elemento de la matriz SingleValueExtendedProperties. El cuerpo de la solicitud incluye lo siguiente en relación con la propiedad extendida:

  • PropertyId especifica el tipo de propiedad como string, el GUID y la propiedad denominada Color.
  • Value especifica Green como el valor de la propiedad Color.
PATCH https://outlook.office.com/api/v2.0/me/messages('AAMkAGE1M2_bs88AACHsLqWAAA=')

Content-Type: application/json

{
  "SingleValueExtendedProperties": [
      {
         "PropertyId":"String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color",
         "Value":"Green"
      }
    ]
}

Respuesta de muestra

Una respuesta correcta se indica mediante un código de respuesta HTTP 200 OK e incluye el mensaje especificado en el cuerpo de la respuesta. Es similar a la respuesta al actualizar un mensaje. El cuerpo de la respuesta no incluye la propiedad extendida recién creada.

Solicitud de muestra

El segundo ejemplo crea una propiedad extendida de múltiples valores para el mensaje especificado. Esa propiedad es el único elemento de la matriz MultiValueExtendedProperties. El cuerpo de la solicitud incluye:

  • PropertyId, que define la propiedad como una matriz de cadenas con el GUID especificado y el nombre Palette.
  • Value, que define Palette como una matriz de tres valores de cadena, ["Green", "Aqua", "Blue"].
PATCH https://outlook.office.com/api/v2.0/me/messages('AAMkAGE1M2_as77AACHsLrBBBA=')

Content-Type: application/json

{
  "MultiValueExtendedProperties": [
      {
         "PropertyId":"StringArray {66f5a359-4659-4830-9070-00049ec6ac6e} Name Palette",
         "Value":["Green", "Aqua", "Blue"]
      }
    ]
}

Respuesta de muestra

Una respuesta correcta se indica mediante un código de respuesta HTTP 200 OK e incluye el mensaje especificado en el cuerpo de la respuesta. Es similar a la respuesta al actualizar un mensaje. El cuerpo de la respuesta no incluye la propiedad extendida recién creada.

Para ver la propiedad extendida recién creada, expanda el mensaje con ella.


Crear una propiedad extendida en un nuevo elemento

Cree una o más propiedades extendidas al tiempo que crea una nueva instancia de un recurso compatible; todo ello en la misma llamada POST. Incluya la propiedad o propiedades extendidas en el cuerpo de la solicitud POST.

POST https://outlook.office.com/api/beta/me/messages
POST https://outlook.office.com/api/beta/me/events
POST https://outlook.office.com/api/beta/me/contacts
POST https://outlook.office.com/api/beta/me/tasks
POST https://outlook.office.com/api/beta/me/mailfolders
POST https://outlook.office.com/api/beta/me/calendars
POST https://outlook.office.com/api/beta/me/contactfolders
POST https://outlook.office.com/api/beta/me/taskfolders

Ámbito mínimo requerido: uno de los siguientes ámbitos de lectura/escritura correspondientes al recurso de destino:

ParámetroTipoDescripción
Parámetros del cuerpo
SingleValueExtendedPropertiesColección (SingleValueLegacyExtendedProperty)Una matriz de una o más propiedades extendidas de valor único.
PropertyIdcadenaEspecifique esto para cada propiedad de la colección SingleValueExtendedProperties con el fin de identificar la propiedad. Debe estar conforme a alguno de los formatos compatibles para propiedades extendidas de valor único. Obligatorio.
ValuecadenaEspecifique el valor de propiedad para cada propiedad de la colección SingleValueExtendedProperties. Obligatorio.
MultiValueExtendedPropertiesColección (MultiValueLegacyExtendedProperty)Una matriz de una o más propiedades extendidas de múltiples valores.
PropertyIdcadenaEspecifique esto para cada propiedad de la colección MultiValueExtendedProperties con el fin de identificar la propiedad. Debe estar conforme a alguno de los formatos compatibles para propiedades extendidas de múltiples valores. Obligatorio.
ValueColección (cadena)Especifique los valores de la propiedad para cada propiedad de la colección MultiValueExtendedProperties. Obligatorio.

Solicitudes de muestra

El primer ejemplo crea un nuevo evento y una propiedad extendida de valor único. Además de las propiedades que normalmente incluiría para un nuevo evento, el cuerpo de la solicitud incluye la matriz SingleValueExtendedProperties que contiene una propiedad extendida de valor único, y lo siguiente en relación con esa propiedad:

  • PropertyId especifica el tipo de propiedad como string, el GUID y la propiedad denominada Fun.
  • Value especifica Food como el valor de la propiedad Fun.
POST https://outlook.office.com/api/beta/me/events

Content-Type: application/json

{
  "Subject": "Celebrate Thanksgiving",
  "Body": {
    "ContentType": "HTML",
    "Content": "Let's get together!"
  },
  "Start": {
      "DateTime": "2015-11-26T18:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "End": {
      "DateTime": "2015-11-26T23:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "Attendees": [
    {
      "EmailAddress": {
        "Address": "Terrie@contoso.com",
        "Name": "Terrie Barrera"
      },
      "Type": "Required"
    }
  ],
  "SingleValueExtendedProperties": [
     {
           "PropertyId":"String {66f5a359-4659-4830-9070-00040ec6ac6e} Name Fun",
           "Value":"Food"
     }
  ]
}

Respuesta de muestra

Una respuesta correcta se indica mediante un código de respuesta HTTP 201 Created e incluye el nuevo evento en el cuerpo de la respuesta. Es similar a la respuesta al crear solo un evento. El cuerpo de la respuesta no incluye ninguna propiedad extendida recién creada.

Para ver la propiedad extendida recién creada, expanda el elemento con ella.

Solicitud de muestra

El segundo ejemplo crea una propiedad extendida de múltiples valores en un nuevo evento; todo en la misma operación POST. Además de las propiedades que normalmente incluiría para un nuevo evento, el cuerpo de la solicitud incluye la matriz MultiValueExtendedProperties que contiene una propiedad extendida. El cuerpo de la solicitud incluye lo siguiente en relación con esa propiedad extendida de múltiples valores:

  • PropertyId, que define la propiedad como una matriz de cadenas con el GUID especificado y el nombre Recreation.
  • Value, que define Recreation como una matriz de tres valores de cadena, ["Food", "Hiking", "Swimming"].
POST https://outlook.office.com/api/beta/me/events

Content-Type: application/json

{
  "Subject": "Family reunion",
  "Body": {
    "ContentType": "HTML",
    "Content": "Let's get together this Thanksgiving!"
  },
  "Start": {
      "DateTime": "2015-11-26T09:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "End": {
      "DateTime": "2015-11-29T21:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "Attendees": [
    {
      "EmailAddress": {
        "Address": "Terrie@contoso.com",
        "Name": "Terrie Barrera"
      },
      "Type": "Required"
    },
    {
      "EmailAddress": {
        "Address": "Lauren@contoso.com",
        "Name": "Lauren Solis"
      },
      "Type": "Required"
    }
  ],
  "MultiValueExtendedProperties": [
     {
           "PropertyId":"StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation",
           "Value": ["Food", "Hiking", "Swimming"]
     }
  ]
}

Respuesta de muestra

Una respuesta correcta se indica mediante un código de respuesta HTTP 201 Created e incluye el nuevo evento en el cuerpo de la respuesta. Es similar a la respuesta al crear solo un evento. El cuerpo de la respuesta no incluye ninguna propiedad extendida recién creada.

Para ver la propiedad extendida recién creada, expanda el elemento con ella.

Cree una o más propiedades extendidas al tiempo que crea una nueva instancia de un recurso compatible; todo ello en la misma llamada POST. Incluya la propiedad o propiedades extendidas en el cuerpo de la solicitud POST.

POST https://outlook.office.com/api/v2.0/me/messages
POST https://outlook.office.com/api/v2.0/me/events
POST https://outlook.office.com/api/v2.0/me/contacts
POST https://outlook.office.com/api/v2.0/me/tasks
POST https://outlook.office.com/api/v2.0/me/mailfolders
POST https://outlook.office.com/api/v2.0/me/calendars
POST https://outlook.office.com/api/v2.0/me/contactfolders
POST https://outlook.office.com/api/v2.0/me/taskfolders

Ámbito mínimo requerido: uno de los siguientes ámbitos de lectura/escritura correspondientes al recurso de destino:

ParámetroTipoDescripción
Parámetros del cuerpo
SingleValueExtendedPropertiesColección (SingleValueLegacyExtendedProperty)Una matriz de una o más propiedades extendidas de valor único.
PropertyIdcadenaEspecifique esto para cada propiedad de la colección SingleValueExtendedProperties con el fin de identificar la propiedad. Debe estar conforme a alguno de los formatos compatibles para propiedades extendidas de valor único. Obligatorio.
ValuecadenaEspecifique el valor de propiedad para cada propiedad de la colección SingleValueExtendedProperties. Obligatorio.
MultiValueExtendedPropertiesColección (MultiValueLegacyExtendedProperty)Una matriz de una o más propiedades extendidas de múltiples valores.
PropertyIdcadenaEspecifique esto para cada propiedad de la colección MultiValueExtendedProperties con el fin de identificar la propiedad. Debe estar conforme a alguno de los formatos compatibles para propiedades extendidas de múltiples valores. Obligatorio.
ValueColección (cadena)Especifique los valores de la propiedad para cada propiedad de la colección MultiValueExtendedProperties. Obligatorio.

Solicitudes de muestra

El primer ejemplo crea un nuevo evento y una propiedad extendida de valor único. Además de las propiedades que normalmente incluiría para un nuevo evento, el cuerpo de la solicitud incluye la matriz SingleValueExtendedProperties que contiene una propiedad extendida de valor único, y lo siguiente en relación con esa propiedad:

  • PropertyId especifica el tipo de propiedad como string, el GUID y la propiedad denominada Fun.
  • Value especifica Food como el valor de la propiedad Fun.
POST https://outlook.office.com/api/v2.0/me/events

Content-Type: application/json

{
  "Subject": "Celebrate Thanksgiving",
  "Body": {
    "ContentType": "HTML",
    "Content": "Let's get together!"
  },
  "Start": {
      "DateTime": "2015-11-26T18:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "End": {
      "DateTime": "2015-11-26T23:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "Attendees": [
    {
      "EmailAddress": {
        "Address": "Terrie@contoso.com",
        "Name": "Terrie Barrera"
      },
      "Type": "Required"
    }
  ],
  "SingleValueExtendedProperties": [
     {
           "PropertyId":"String {66f5a359-4659-4830-9070-00040ec6ac6e} Name Fun",
           "Value":"Food"
     }
  ]
}

Respuesta de muestra

Una respuesta correcta se indica mediante un código de respuesta HTTP 201 Created e incluye el nuevo evento en el cuerpo de la respuesta. Es similar a la respuesta al crear solo un evento. El cuerpo de la respuesta no incluye ninguna propiedad extendida recién creada.

Para ver la propiedad extendida recién creada, expanda el elemento con ella.

Solicitud de muestra

El segundo ejemplo crea una propiedad extendida de múltiples valores en un nuevo evento; todo ello en la misma operación POST. Además de las propiedades que normalmente incluiría para un nuevo evento, el cuerpo de la solicitud incluye la matriz MultiValueExtendedProperties que contiene una propiedad extendida. El cuerpo de la solicitud incluye lo siguiente en relación con esa propiedad extendida de múltiples valores:

  • PropertyId, que define la propiedad como una matriz de cadenas con el GUID especificado y el nombre Recreation.
  • Value, que define Recreation como una matriz de tres valores de cadena, ["Food", "Hiking", "Swimming"].
POST https://outlook.office.com/api/v2.0/me/events

Content-Type: application/json

{
  "Subject": "Family reunion",
  "Body": {
    "ContentType": "HTML",
    "Content": "Let's get together this Thanksgiving!"
  },
  "Start": {
      "DateTime": "2015-11-26T09:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "End": {
      "DateTime": "2015-11-29T21:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "Attendees": [
    {
      "EmailAddress": {
        "Address": "Terrie@contoso.com",
        "Name": "Terrie Barrera"
      },
      "Type": "Required"
    },
    {
      "EmailAddress": {
        "Address": "Lauren@contoso.com",
        "Name": "Lauren Solis"
      },
      "Type": "Required"
    }
  ],
  "MultiValueExtendedProperties": [
     {
           "PropertyId":"StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation",
           "Value": ["Food", "Hiking", "Swimming"]
     }
  ]
}

Respuesta de muestra

Una respuesta correcta se indica mediante un código de respuesta HTTP 201 Created e incluye el nuevo evento en el cuerpo de la respuesta. Es similar a la respuesta al crear solo un evento. El cuerpo de la respuesta no incluye ninguna propiedad extendida recién creada.

Para ver la propiedad extendida recién creada, expanda el elemento con ella.


Expandir el elemento con la propiedad extendida

Expanda una instancia de un recurso compatible con la propiedad extendida que se especifica mediante un filtro en el PropertyId.

La cadena {propertyId_value} que especifique en el filtro de PropertyId debe estar conforme a alguno de los formatos admitidos de PropertyId. Asegúrese de aplicar la codificación de URL a los caracteres de espacio de la cadena de filtro.

Expandir el elemento con propiedades extendidas de valor único que coincidan

GET https://outlook.office.com/api/beta/me/messages('{message_id}')?$expand=SingleValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/beta/me/events('{event_id}')?$expand=SingleValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/beta/me/contacts('{contact_id}')?$expand=SingleValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/beta/me/tasks('{task_id}')?$expand=SingleValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/beta/me/mailfolders('{mailFolder_id}')?$expand=SingleValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/beta/me/calendars('{calendar_id}')?$expand=SingleValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/beta/me/contactfolders('{contactFolder_id}')?$expand=SingleValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/beta/me/taskfolders('{taskfolder_id}')?$expand=SingleValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

Expandir el elemento con propiedades extendidas de múltiples valores que coincidan

GET https://outlook.office.com/api/beta/me/messages('{message_id}')?$expand=MultiValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/beta/me/events('{event_id}')?$expand=MultiValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/beta/me/contacts('{contact_id}')?$expand=MultiValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/beta/me/tasks('{task_id}')?$expand=MultiValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/beta/me/mailfolders('{mailFolder_id}')?$expand=MultiValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/beta/me/calendars('{calendar_id}')?$expand=MultiValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/beta/me/contactfolders('{contactFolder_id}')?$expand=MultiValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/beta/me/taskfolders('{taskfolder_id}')?$expand=MultiValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

Ámbito mínimo requerido: uno de los siguientes ámbitos de lectura correspondientes al recurso de destino:

Solicitud de muestra

El primer ejemplo obtiene y expande el mensaje especificado incluyendo una propiedad extendida de valor único. El filtro devuelve la propiedad extendida cuyo PropertyId coincide con la cadena String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color (se ha quitado aquí la codificación de URL para facilitar la lectura).

GET https://outlook.office.com/api/beta/me/messages('AAMkAGE1M2_bs88AACHsLqWAAA=')?$expand=SingleValueExtendedProperties($filter=PropertyId%20eq%20'String%20{66f5a359-4659-4830-9070-00047ec6ac6e}%20Name%20Color')

Respuesta de muestra

Una respuesta correcta se indica mediante un código de respuesta HTTP 200 OK.

El cuerpo de la respuesta incluye todas las propiedades del mensaje especificado y la propiedad extendida que devuelve el filtro.

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE1M2_bs88AACHsLqWAAA=')",
    "@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AACbyS4H\"",
    "Id": "AAMkAGE1M2_bs88AACHsLqWAAA=",
    "CreatedDateTime": "2015-11-11T02:41:24Z",
    "LastModifiedDateTime": "2015-12-09T04:07:57Z",
    "ChangeKey": "CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AACbyS4H",
    "Categories": [
    ],
    "ReceivedDateTime": "2015-11-11T02:41:24Z",
    "SentDateTime": "2015-11-11T02:41:24Z",
    "HasAttachments": false,
    "InternetMessageId": "<SN2SR0101MB002977E7C30F9CA9AA55961484130@SN2SR0101MB0029.contoso.com>",
    "Subject": "RE: Talk about emergency prep",
    "Body": {
        "ContentType": "HTML",
        "Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<meta content=\"text/html; charset=iso-8859-1\">\r\n<style type=\"text/css\" style=\"\">\r\n<!--\r\np\r\n\t{margin-top:0;\r\n\tmargin-bottom:0}\r\n-->\r\n</style>\r\n</head>\r\n<body dir=\"ltr\">\r\n<hr tabindex=\"-1\" style=\"display:inline-block; width:98%\">\r\n<div id=\"divRplyFwdMsg\" dir=\"ltr\"><font face=\"Calibri, sans-serif\" color=\"#000000\" style=\"font-size:11pt\"><b>From:</b> Christine Irwin<br>\r\n<b>Sent:</b> Sunday, November 8, 2015 12:28:31 AM<br>\r\n<b>To:</b> Terrie Barrera<br>\r\n<b>Subject:</b> Talk about emergency prep<br>\r\n<b>When:</b> Sunday, November 8, 2015 7:00 PM-8:00 PM.<br>\r\n<b>Where:</b> The Commons</font>\r\n<div>&nbsp;</div>\r\n</div>\r\n<div>\r\n<div id=\"divtagdefaultwrapper\" style=\"font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif\">\r\n<p>Please see the attached before you come to the meeting.<br>\r\n</p>\r\n</div>\r\n</div>\r\n</body>\r\n</html>\r\n"
    },
    "BodyPreview": "________________________________",
    "Importance": "Normal",
    "ParentFolderId": "AQMkAGE1M2jgxCloXP1JupQN7j5uzzwAAAIBDwAAAA==",
    "Sender": {
        "EmailAddress": {
            "Name": "Christine Irwin",
            "Address": "christine@contoso.com"
        }
    },
    "From": null,
    "ToRecipients": [
        {
            "EmailAddress": {
                "Name": "Christine Irwin",
                "Address": "christine@contoso.com"
            }
        }
    ],
    "CcRecipients": [
    ],
    "BccRecipients": [
    ],
    "ReplyTo": [
    ],
    "ConversationId": "AAQkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVlLTY0YjcxZWUzNTE1MAAQAHWT1sRiMChEmlQCIZUadoU=",
    "IsDeliveryReceiptRequested": false,
    "IsReadReceiptRequested": false,
    "IsRead": true,
    "IsDraft": true,
    "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1M2%2Bbs88AACHsLqWAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
    "MentionedMe": null,
    "HashtagDetailsPreview": null,
    "LikesPreview": null,
    "Mentioned": [
    ],
    "InferenceClassification": "Focused",
    "UnsubscribeData": [
    ],
    "UnsubscribeEnabled": false,
    "SingleValueExtendedProperties@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages('AAMkAGE1M2_bs88AACHsLqWAAA%3D')/SingleValueExtendedProperties",
    "SingleValueExtendedProperties": [
        {
            "PropertyId": "String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color",
            "Value": "Green"
        }
    ]
}

Solicitud de muestra

El segundo ejemplo obtiene y expande el evento especificado incluyendo una propiedad extendida de múltiples valores. El filtro devuelve la propiedad extendida cuyo PropertyId coincide con la cadena StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation (se ha quitado aquí la codificación de URL para facilitar la lectura).

GET https://outlook.office.com/api/beta/me/events('AAMkAGE1M2_bs88AACbuFiiAAA=')?$expand=MultiValueExtendedProperties($filter=PropertyId%20eq%20'StringArray%20{66f5a359-4659-4830-9070-00050ec6ac6e}%20Name%20Recreation')

Respuesta de muestra

Una respuesta correcta se indica mediante un código de respuesta HTTP 200 OK.

El cuerpo de la respuesta incluye todas las propiedades del evento especificado y la propiedad extendida que devuelve el filtro.

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
    "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE1M2_bs88AACbuFiiAAA=')",
    "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAAm8k15A==\"",
    "Id": "AAMkAGE1M2_bs88AACbuFiiAAA=",
    "CreatedDateTime": "2015-12-09T05:18:05.9477979Z",
    "LastModifiedDateTime": "2015-12-09T05:18:06.197802Z",
    "ChangeKey": "mODEKWhc/Um6lA3uPm7PPAAAm8k15A==",
    "Categories": [
    ],
    "OriginalStartTimeZone": "Pacific Standard Time",
    "OriginalEndTimeZone": "Pacific Standard Time",
    "ResponseStatus": {
        "Response": "Organizer",
        "Time": "0001-01-01T00:00:00Z"
    },
    "iCalUId": "04000000828A332796D9",
    "ReminderMinutesBeforeStart": 15,
    "IsReminderOn": true,
    "HasAttachments": false,
    "Subject": "Family reunion",
    "Body": {
        "ContentType": "HTML",
        "Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<meta content=\"text/html; charset=us-ascii\">\r\n</head>\r\n<body>\r\nLet's get together this Thanksgiving!\r\n</body>\r\n</html>\r\n"
    },
    "BodyPreview": "Let's get together this Thanksgiving!",
    "Importance": "Normal",
    "Sensitivity": "Normal",
    "Start": {
        "DateTime": "2015-11-26T17:00:00.0000000",
        "TimeZone": "UTC"
    },
    "End": {
        "DateTime": "2015-11-30T05:00:00.0000000",
        "TimeZone": "UTC"
    },
    "Location": {
        "DisplayName": ""
    },
    "IsAllDay": false,
    "IsCancelled": false,
    "IsOrganizer": true,
    "Recurrence": null,
    "ResponseRequested": true,
    "SeriesMasterId": null,
    "ShowAs": "Busy",
    "Type": "SingleInstance",
    "Attendees": [
        {
            "Status": {
                "Response": "None",
                "Time": "0001-01-01T00:00:00Z"
            },
            "Type": "Required",
            "EmailAddress": {
                "Name": "Terrie Barrera",
                "Address": "Terrie@contoso.com"
            }
        },
        {
            "Status": {
                "Response": "None",
                "Time": "0001-01-01T00:00:00Z"
            },
            "Type": "Required",
            "EmailAddress": {
                "Name": "Lauren Solis",
                "Address": "Lauren@contoso.com"
            }
        }
    ],
    "Organizer": {
        "EmailAddress": {
            "Name": "Christine Irwin",
            "Address": "christine@contoso.com"
        }
    },
    "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1M2%2Bbs88AACbuFiiAAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
    "MultiValueExtendedProperties@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events('AAMkAGE1M2_bs88AACbuFiiAAA%3D')/MultiValueExtendedProperties",
    "MultiValueExtendedProperties": [
        {
            "PropertyId": "StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation",
            "Value": [
                "Food",
                "Hiking",
                "Swimming"
            ]
        }
    ]
}

Expanda una instancia de un recurso compatible con la propiedad extendida que se especifica mediante un filtro en el PropertyId.

La cadena {propertyId_value} que especifique en el filtro de PropertyId debe estar conforme a alguno de los formatos admitidos de PropertyId. Asegúrese de aplicar la codificación de URL a los caracteres de espacio de la cadena de filtro.

Expandir el elemento con propiedades extendidas de valor único que coincidan

GET https://outlook.office.com/api/v2.0/me/messages('{message_id}')?$expand=SingleValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/v2.0/me/events('{event_id}')?$expand=SingleValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')?$expand=SingleValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/v2.0/me/tasks('{task_id}')?$expand=SingleValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/v2.0/me/mailfolders('{mailFolder_id}')?$expand=SingleValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/v2.0/me/calendars('{calendar_id}')?$expand=SingleValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/v2.0/me/contactfolders('{contactFolder_id}')?$expand=SingleValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/v2.0/me/taskfolders('{taskfolder_id}')?$expand=SingleValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

Expandir el elemento con propiedades extendidas de múltiples valores que coincidan

GET https://outlook.office.com/api/v2.0/me/messages('{message_id}')?$expand=MultiValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/v2.0/me/events('{event_id}')?$expand=MultiValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')?$expand=MultiValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/v2.0/me/tasks('{task_id}')?$expand=MultiValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/v2.0/me/mailfolders('{mailFolder_id}')?$expand=MultiValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/v2.0/me/calendars('{calendar_id}')?$expand=MultiValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/v2.0/me/contactfolders('{contactFolder_id}')?$expand=MultiValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

GET https://outlook.office.com/api/v2.0/me/taskfolders('{taskfolder_id}')?$expand=MultiValueExtendedProperties($filter=PropertyId eq '{propertyId_value}')

Ámbito mínimo requerido: uno de los siguientes ámbitos de lectura correspondientes al recurso de destino:

Solicitud de muestra

El primer ejemplo obtiene y expande el mensaje especificado incluyendo una propiedad extendida de valor único. El filtro devuelve la propiedad extendida cuyo PropertyId coincide con la cadena String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color (se ha quitado aquí la codificación de URL para facilitar la lectura).

GET https://outlook.office.com/api/v2.0/me/messages('AAMkAGE1M2_bs88AACHsLqWAAA=')?$expand=SingleValueExtendedProperties($filter=PropertyId%20eq%20'String%20{66f5a359-4659-4830-9070-00047ec6ac6e}%20Name%20Color')

Respuesta de muestra

Una respuesta correcta se indica mediante un código de respuesta HTTP 200 OK.

El cuerpo de la respuesta incluye todas las propiedades del mensaje especificado y la propiedad extendida que devuelve el filtro.

{
    "@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('AAMkAGE1M2_bs88AACHsLqWAAA=')",
    "@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AACbyS4H\"",
    "Id": "AAMkAGE1M2_bs88AACHsLqWAAA=",
    "CreatedDateTime": "2015-11-11T02:41:24Z",
    "LastModifiedDateTime": "2015-12-09T04:07:57Z",
    "ChangeKey": "CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AACbyS4H",
    "Categories": [
    ],
    "ReceivedDateTime": "2015-11-11T02:41:24Z",
    "SentDateTime": "2015-11-11T02:41:24Z",
    "HasAttachments": false,
    "InternetMessageId": "<SN2SR0101MB002977E7C30F9CA9AA55961484130@SN2SR0101MB0029.contoso.com>",
    "Subject": "RE: Talk about emergency prep",
    "Body": {
        "ContentType": "HTML",
        "Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<meta content=\"text/html; charset=iso-8859-1\">\r\n<style type=\"text/css\" style=\"\">\r\n<!--\r\np\r\n\t{margin-top:0;\r\n\tmargin-bottom:0}\r\n-->\r\n</style>\r\n</head>\r\n<body dir=\"ltr\">\r\n<hr tabindex=\"-1\" style=\"display:inline-block; width:98%\">\r\n<div id=\"divRplyFwdMsg\" dir=\"ltr\"><font face=\"Calibri, sans-serif\" color=\"#000000\" style=\"font-size:11pt\"><b>From:</b> Christine Irwin<br>\r\n<b>Sent:</b> Sunday, November 8, 2015 12:28:31 AM<br>\r\n<b>To:</b> Terrie Barrera<br>\r\n<b>Subject:</b> Talk about emergency prep<br>\r\n<b>When:</b> Sunday, November 8, 2015 7:00 PM-8:00 PM.<br>\r\n<b>Where:</b> The Commons</font>\r\n<div>&nbsp;</div>\r\n</div>\r\n<div>\r\n<div id=\"divtagdefaultwrapper\" style=\"font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif\">\r\n<p>Please see the attached before you come to the meeting.<br>\r\n</p>\r\n</div>\r\n</div>\r\n</body>\r\n</html>\r\n"
    },
    "BodyPreview": "________________________________",
    "Importance": "Normal",
    "ParentFolderId": "AQMkAGE1M2jgxCloXP1JupQN7j5uzzwAAAIBDwAAAA==",
    "Sender": {
        "EmailAddress": {
            "Name": "Christine Irwin",
            "Address": "christine@contoso.com"
        }
    },
    "From": null,
    "ToRecipients": [
        {
            "EmailAddress": {
                "Name": "Christine Irwin",
                "Address": "christine@contoso.com"
            }
        }
    ],
    "CcRecipients": [
    ],
    "BccRecipients": [
    ],
    "ReplyTo": [
    ],
    "ConversationId": "AAQkAGE1M2IyNGNmLTI5MTktNDUyZi1iOTVlLTY0YjcxZWUzNTE1MAAQAHWT1sRiMChEmlQCIZUadoU=",
    "IsDeliveryReceiptRequested": false,
    "IsReadReceiptRequested": false,
    "IsRead": true,
    "IsDraft": true,
    "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1M2%2Bbs88AACHsLqWAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
    "MentionedMe": null,
    "HashtagDetailsPreview": null,
    "LikesPreview": null,
    "Mentioned": [
    ],
    "InferenceClassification": "Focused",
    "UnsubscribeData": [
    ],
    "UnsubscribeEnabled": false,
    "SingleValueExtendedProperties@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkAGE1M2_bs88AACHsLqWAAA%3D')/SingleValueExtendedProperties",
    "SingleValueExtendedProperties": [
        {
            "PropertyId": "String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color",
            "Value": "Green"
        }
    ]
}

Solicitud de muestra

El segundo ejemplo obtiene y expande el evento especificado incluyendo una propiedad extendida de múltiples valores. El filtro devuelve la propiedad extendida cuyo PropertyId coincide con la cadena StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation (se ha quitado aquí la codificación de URL para facilitar la lectura).

GET https://outlook.office.com/api/v2.0/me/events('AAMkAGE1M2_bs88AACbuFiiAAA=')?$expand=MultiValueExtendedProperties($filter=PropertyId%20eq%20'StringArray%20{66f5a359-4659-4830-9070-00050ec6ac6e}%20Name%20Recreation')

Respuesta de muestra

Una respuesta correcta se indica mediante un código de respuesta HTTP 200 OK.

El cuerpo de la respuesta incluye todas las propiedades del evento especificado y la propiedad extendida que devuelve el filtro.

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Events/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE1M2_bs88AACbuFiiAAA=')",
    "@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAAm8k15A==\"",
    "Id": "AAMkAGE1M2_bs88AACbuFiiAAA=",
    "CreatedDateTime": "2015-12-09T05:18:05.9477979Z",
    "LastModifiedDateTime": "2015-12-09T05:18:06.197802Z",
    "ChangeKey": "mODEKWhc/Um6lA3uPm7PPAAAm8k15A==",
    "Categories": [
    ],
    "OriginalStartTimeZone": "Pacific Standard Time",
    "OriginalEndTimeZone": "Pacific Standard Time",
    "ResponseStatus": {
        "Response": "Organizer",
        "Time": "0001-01-01T00:00:00Z"
    },
    "iCalUId": "04000000828A332796D9",
    "ReminderMinutesBeforeStart": 15,
    "IsReminderOn": true,
    "HasAttachments": false,
    "Subject": "Family reunion",
    "Body": {
        "ContentType": "HTML",
        "Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<meta content=\"text/html; charset=us-ascii\">\r\n</head>\r\n<body>\r\nLet's get together this Thanksgiving!\r\n</body>\r\n</html>\r\n"
    },
    "BodyPreview": "Let's get together this Thanksgiving!",
    "Importance": "Normal",
    "Sensitivity": "Normal",
    "Start": {
        "DateTime": "2015-11-26T17:00:00.0000000",
        "TimeZone": "UTC"
    },
    "End": {
        "DateTime": "2015-11-30T05:00:00.0000000",
        "TimeZone": "UTC"
    },
    "Location": {
        "DisplayName": ""
    },
    "IsAllDay": false,
    "IsCancelled": false,
    "IsOrganizer": true,
    "Recurrence": null,
    "ResponseRequested": true,
    "SeriesMasterId": null,
    "ShowAs": "Busy",
    "Type": "SingleInstance",
    "Attendees": [
        {
            "Status": {
                "Response": "None",
                "Time": "0001-01-01T00:00:00Z"
            },
            "Type": "Required",
            "EmailAddress": {
                "Name": "Terrie Barrera",
                "Address": "Terrie@contoso.com"
            }
        },
        {
            "Status": {
                "Response": "None",
                "Time": "0001-01-01T00:00:00Z"
            },
            "Type": "Required",
            "EmailAddress": {
                "Name": "Lauren Solis",
                "Address": "Lauren@contoso.com"
            }
        }
    ],
    "Organizer": {
        "EmailAddress": {
            "Name": "Christine Irwin",
            "Address": "christine@contoso.com"
        }
    },
    "WebLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1M2%2Bbs88AACbuFiiAAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
    "MultiValueExtendedProperties@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Events('AAMkAGE1M2_bs88AACbuFiiAAA%3D')/MultiValueExtendedProperties",
    "MultiValueExtendedProperties": [
        {
            "PropertyId": "StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation",
            "Value": [
                "Food",
                "Hiking",
                "Swimming"
            ]
        }
    ]
}

Obtener un elemento filtrando según la propiedad extendida

Obtenga instancias de un recurso compatible que tenga la propiedad extendida que especifica un filtro de PropertyId y Value. El filtro se aplica a todas las instancias del recurso que haya en el buzón del usuario conectado. Este filtrado solo admite propiedades extendidas de valor único; no de múltiples valores.

La cadena {propertyId_value} que especifique en el filtro de PropertyId debe estar conforme a alguno de los formatos admitidos de PropertyId.

Si {property_value} no es una cadena, asegúrese de convertir explícitamente ep/value al tipo de datos Edm apropiado al compararlo con {property_value}. Vea a continuación solicitudes de muestra de propiedades que no sean de cadena para ejemplos de tales conversiones.

Asegúrese de aplicar la codificación de URL a los siguientes caracteres de la cadena de filtro: dos puntos, barra diagonal y espacio.

GET https://outlook.office.com/api/beta/me/messages?$filter=SingleValueExtendedProperties/Any(ep: ep/PropertyId eq '{propertyId_value}' and ep/Value eq '{property_value}')

GET https://outlook.office.com/api/beta/me/events?$filter=SingleValueExtendedProperties/Any(ep: ep/PropertyId eq '{propertyId_value}' and ep/Value eq '{property_value}')

GET https://outlook.office.com/api/beta/me/contacts?$filter=SingleValueExtendedProperties/Any(ep: ep/PropertyId eq '{propertyId_value}' and ep/Value eq '{property_value}')

GET https://outlook.office.com/api/beta/me/tasks?$filter=SingleValueExtendedProperties/Any(ep: ep/PropertyId eq '{propertyId_value}' and ep/Value eq '{property_value}')

GET https://outlook.office.com/api/beta/me/mailfolders?$filter=SingleValueExtendedProperties/Any(ep: ep/PropertyId eq '{propertyId_value}' and ep/Value eq '{property_value}')

GET https://outlook.office.com/api/beta/me/calendars?$filter=SingleValueExtendedProperties/Any(ep: ep/PropertyId eq '{propertyId_value}' and ep/Value eq '{property_value}')

GET https://outlook.office.com/api/beta/me/contactfolders?$filter=SingleValueExtendedProperties/Any(ep: ep/PropertyId eq '{propertyId_value}' and ep/Value eq '{property_value}')

GET https://outlook.office.com/api/beta/me/taskfolders?$filter=SingleValueExtendedProperties/Any(ep: ep/PropertyId eq '{propertyId_value}' and ep/Value eq '{property_value}')

Ámbito mínimo requerido: uno de los siguientes ámbitos de lectura correspondientes al recurso de destino:

Solicitudes de muestra

El primer ejemplo obtiene mensajes que tengan la propiedad extendida de valor único de tipo cadena que especifica el filtro. El filtro busca la propiedad extendida que tenga lo siguiente:

  • Un PropertyId que coincida con la cadena String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color (se ha quitado aquí la codificación de URL para facilitar la lectura).
  • Un Value que sea la cadena Green.
GET https://outlook.office.com/api/beta/me/Messages?$filter=SingleValueExtendedProperties%2FAny(ep%3A%20ep%2FPropertyId%20eq%20'String%20{66f5a359-4659-4830-9070-00047ec6ac6e}%20Name%20Color'%20and%20ep%2FValue%20eq%20'Green')

Los siguientes dos ejemplos muestran cómo obtener mensajes que tengan propiedades extendidas de valor único que no sean de tipo cadena. Para facilitar la lectura, no incluyen la codificación de direcciones URL necesaria. El siguiente ejemplo muestra un filtro que busca la propiedad extendida que tenga lo siguiente:

  • Un PropertyId que coincida con la cadena CLSID {00062008-0000-0000-C000-000000000046} Name ConnectorSenderGuid.

  • Un Value que sea el GUID b9cf8971-7d55-4b73-9ffa-a584611b600b. Para comparar el valor de propiedad con un GUID, convierta ep/Value en Edm.Guid.

GET https://outlook.office.com/api/beta/me/Messages?$filter=SingleValueExtendedProperties/any(ep:ep/PropertyId eq 'CLSID {00062008-0000-0000-C000-000000000046} Name ConnectorSenderGuid' and cast(ep/Value, Edm.Guid) eq (b9cf8971-7d55-4b73-9ffa-a584611b600b))

El tercer y último ejemplo muestra un filtro que busca la propiedad extendida que tenga lo siguiente:

  • Un PropertyId que coincida con la cadena Integer {66f5a359-4659-4830-9070-00047ec6ac6e} Name Pallete.

  • Un Value igual que el número entero 12. Para comparar el valor de propiedad con un número entero, convierta ep/Value en Edm.Int32.

GET https://outlook.office.com/api/beta/me/Messages?$filter=SingleValueExtendedProperties/any(ep:ep/PropertyId eq 'Integer {66f5a359-4659-4830-9070-00047ec6ac6e} Name Pallete' and cast(ep/Value, Edm.Int32) eq 12)

Respuesta de muestra

Una respuesta correcta se indica mediante un código de respuesta HTTP 200 OK, y el cuerpo de la respuesta incluye todas las propiedades de los mensajes cuya propiedad extendida coincide con el filtro correspondiente. El cuerpo de la respuesta es similar a la respuesta de obtener una colección de mensajes. La respuesta no incluye la propiedad extendida coincidente.

Obtenga instancias de un recurso compatible que tenga la propiedad extendida que especifica un filtro de PropertyId y Value. El filtro se aplica a todas las instancias del recurso que haya en el buzón del usuario conectado. Este filtrado solo admite propiedades extendidas de valor único; no de múltiples valores.

La cadena {propertyId_value} que especifique en el filtro de PropertyId debe estar conforme a alguno de los formatos admitidos de PropertyId.

Si {property_value} no es una cadena, asegúrese de convertir explícitamente ep/value al tipo de datos Edm apropiado al compararlo con {property_value}. Vea a continuación solicitudes de muestra de propiedades que no sean de cadena para ejemplos de tales conversiones.

Asegúrese de aplicar la codificación de URL a los siguientes caracteres de la cadena de filtro: dos puntos, barra diagonal y espacio.

GET https://outlook.office.com/api/v2.0/me/messages?$filter=SingleValueExtendedProperties/Any(ep: ep/PropertyId eq '{propertyId_value}' and ep/Value eq '{property_value}')

GET https://outlook.office.com/api/v2.0/me/events?$filter=SingleValueExtendedProperties/Any(ep: ep/PropertyId eq '{propertyId_value}' and ep/Value eq '{property_value}')

GET https://outlook.office.com/api/v2.0/me/contacts?$filter=SingleValueExtendedProperties/Any(ep: ep/PropertyId eq '{propertyId_value}' and ep/Value eq '{property_value}')

GET https://outlook.office.com/api/v2.0/me/tasks?$filter=SingleValueExtendedProperties/Any(ep: ep/PropertyId eq '{propertyId_value}' and ep/Value eq '{property_value}')

GET https://outlook.office.com/api/v2.0/me/mailfolders?$filter=SingleValueExtendedProperties/Any(ep: ep/PropertyId eq '{propertyId_value}' and ep/Value eq '{property_value}')

GET https://outlook.office.com/api/v2.0/me/calendars?$filter=SingleValueExtendedProperties/Any(ep: ep/PropertyId eq '{propertyId_value}' and ep/Value eq '{property_value}')

GET https://outlook.office.com/api/v2.0/me/contactfolders?$filter=SingleValueExtendedProperties/Any(ep: ep/PropertyId eq '{propertyId_value}' and ep/Value eq '{property_value}')

GET https://outlook.office.com/api/v2.0/me/taskfolders?$filter=SingleValueExtendedProperties/Any(ep: ep/PropertyId eq '{propertyId_value}' and ep/Value eq '{property_value}')

Ámbito mínimo requerido: uno de los siguientes ámbitos de lectura correspondientes al recurso de destino:

Solicitud de muestra

El primer ejemplo obtiene mensajes que tengan la propiedad extendida de valor único que especifica el filtro. El filtro devuelve la propiedad extendida que tenga lo siguiente:

  • Un PropertyId que coincida con la cadena String {66f5a359-4659-4830-9070-00047ec6ac6e} Name Color (se ha quitado aquí la codificación de URL para facilitar la lectura).
  • Un Value que sea Green.
GET https://outlook.office.com/api/v2.0/Me/Messages?$filter=SingleValueExtendedProperties%2FAny(ep%3A%20ep%2FPropertyId%20eq%20'String%20{66f5a359-4659-4830-9070-00047ec6ac6e}%20Name%20Color'%20and%20ep%2FValue%20eq%20'Green')

Los siguientes dos ejemplos muestran cómo obtener mensajes que tengan propiedades extendidas de valor único que no sean de tipo cadena. Para facilitar la lectura, no incluyen la codificación de direcciones URL necesaria. El siguiente ejemplo muestra un filtro que busca la propiedad extendida que tenga lo siguiente:

  • Un PropertyId que coincida con la cadena CLSID {00062008-0000-0000-C000-000000000046} Name ConnectorSenderGuid.

  • Un Value que sea el GUID b9cf8971-7d55-4b73-9ffa-a584611b600b. Para comparar el valor de propiedad con un GUID, convierta ep/Value en Edm.Guid.

GET https://outlook.office.com/api/beta/me/Messages?$filter=SingleValueExtendedProperties/any(ep:ep/PropertyId eq 'CLSID {00062008-0000-0000-C000-000000000046} Name ConnectorSenderGuid' and cast(ep/Value, Edm.Guid) eq (b9cf8971-7d55-4b73-9ffa-a584611b600b))

El tercer y último ejemplo muestra un filtro que busca la propiedad extendida que tenga lo siguiente:

  • Un PropertyId que coincida con la cadena Integer {66f5a359-4659-4830-9070-00047ec6ac6e} Name Pallete.

  • Un Value igual que el número entero 12. Para comparar el valor de propiedad con un número entero, convierta ep/Value en Edm.Int32.

GET https://outlook.office.com/api/beta/me/Messages?$filter=SingleValueExtendedProperties/any(ep:ep/PropertyId eq 'Integer {66f5a359-4659-4830-9070-00047ec6ac6e} Name Pallete' and cast(ep/Value, Edm.Int32) eq 12)

Respuesta de muestra

Una respuesta correcta se indica mediante un código de respuesta HTTP 200 OK, y el cuerpo de la respuesta incluye todas las propiedades de los mensajes cuya propiedad extendida coincide con el filtro correspondiente. El cuerpo de la respuesta es similar a la respuesta de obtener una colección de mensajes. El cuerpo de la respuesta no incluye la propiedad extendida coincidente.


Pasos siguientes

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

O bien, obtenga más información sobre cómo usar la plataforma de Office 365:

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

O bien, obtenga más información sobre cómo usar la plataforma de Office 365:

© 2018 Microsoft