Referencia de API de REST de contactos 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 contactos de Outlook proporciona acceso a los contactos y las carpetas de contactos de un usuario protegidos por Azure Active Directory en Office 365, y a datos similares en cuentas de Microsoft específicamente en estos dominios: Hotmail.com, Live.com, MSN.com, Outlook.com, y Passport.com.

Nota

Para facilitar 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 REST de Office 365 y seleccione la versión que desee.

Todas las operaciones de la API de contactos

Operaciones de contactos

Los contactos se almacenan en carpetas de contactos. Puede obtener, crear, cambiar y eliminar contactos.

Operaciones de la carpeta de contactos

Las carpetas de contactos pueden contener contactos y otras carpetas de contactos. Puede obtener carpetas de contactos y crear contactos en una carpeta de contactos.

Operaciones de foto de contactos

Cada contacto puede tener una imagen de contacto opcional. Puede obtener o establecer una foto para un contacto.

Vea también

Uso de la API de REST de contactos

Autenticación

Como cualquier otra API REST de Outlook, para cada solicitud a la API de contactos, debería incluir un token de acceso válido. Obtener un token de acceso le obliga a registrar e identificar su aplicación y a obtener la autorización correspondiente.

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

Versión de la API

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

Usuario objetivo

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

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

Obtener contactos

Puede obtener una colección de contactos o un contacto individual de una carpeta de contactos.

Ámbito mínimo necesario

Uno de los siguientes:

Obtener una colección de contactos

Obtenga una colección de contactos de la carpeta de contactos predeterminada del usuario que ha iniciado sesión (.../me/contacts) o de la carpeta de contactos especificada.

GET https://outlook.office.com/api/v2.0/me/contacts
GET https://outlook.office.com/api/v2.0/me/contactfolders/{contact_folder_id}/contacts
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
contact_folder_id cadena El identificador de la carpeta de contactos, si obtiene contactos de una carpeta específica.

Nota

De forma predeterminada, cada contacto 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.

Solicitud de muestra

GET https://outlook.office.com/api/v2.0/me/contacts?$select=EmailAddresses,GivenName,Surname

Respuesta de muestra

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts(EmailAddresses,GivenName,Surname)",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk3AAA=')",
            "@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa7\"",
            "Id": "AAMkAGI2THk3AAA=",
            "GivenName": "Rob",
            "Surname": "Young",
            "EmailAddresses": [
                {
                    "Name": "roby@a830edad9050849NDA1.onmicrosoft.com",
                    "Address": "roby@a830edad9050849NDA1.onmicrosoft.com"
                }
            ]
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THkzAAA=')",
            "@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa3\"",
            "Id": "AAMkAGI2THkzAAA=",
            "GivenName": "Janet",
            "Surname": "Schorr",
            "EmailAddresses": [
                {
                    "Name": "janets@a830edad9050849NDA1.onmicrosoft.com",
                    "Address": "janets@a830edad9050849NDA1.onmicrosoft.com"
                }
            ]
        }
    ]
}

Tipo de respuesta

La colección de contactos solicitada.

Obtener un contacto

Ámbito mínimo necesario

Uno de los siguientes:

Obtener un contacto usando el identificador de contacto.

GET https://outlook.office.com/api/v2.0/me/contacts/{contact_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
contact_id cadena El identificador de contacto.

Solicitud de muestra

GET https://outlook.office.com/api/v2.0/me/contacts/AAMkAGI2THk0AAA=

Respuesta de muestra

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
    "@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4\"",
    "Id": "AAMkAGI2THk0AAA=",
    "CreatedDateTime": "2014-10-19T23:08:24Z",
    "LastModifiedDateTime": "2014-10-19T23:08:24Z",
    "ChangeKey": "EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4",
    "Categories": [],
    "ParentFolderId": "AAMkAGI2AAEOAAA=",
    "Birthday": null,
    "FileAs": "Fort, Garth",
    "DisplayName": "Garth Fort",
    "GivenName": "Garth",
    "Initials": "G.F.",
    "MiddleName": null,
    "NickName": "Garth",
    "Surname": "Fort",
    "Title": null,
    "YomiGivenName": null,
    "YomiSurname": null,
    "YomiCompanyName": null,
    "Generation": null,
    "EmailAddresses": [
        {
            "Name": "Garth",
            "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
        }
    ],
    "ImAddresses": [
        "sip:garthf@a830edad9050849nda1.onmicrosoft.com"
    ],
    "JobTitle": "Web Marketing Manager",
    "CompanyName": "Contoso, Inc.",
    "Department": "Sales & Marketing",
    "OfficeLocation": "20/1101",
    "Profession": null,
    "BusinessHomePage": "http://www.contoso.com",
    "AssistantName": null,
    "Manager": null,
    "HomePhones": [],
    "MobilePhone1": null,
    "BusinessPhones": [
        "+1 918 555 0101"
    ],
    "HomeAddress": {},
    "BusinessAddress": {
      "Street": "10 Contoso Way",
      "City": "Redmond",
      "State": "WA",
      "CountryOrRegion": "USA",
      "PostalCode": "98075"  
    },
    "OtherAddress": {},
    "SpouseName": null,
    "PersonalNotes": null,
    "Children": []
}

Tipo de respuesta

El contacto solicitado.

Nota

De forma predeterminada, la respuesta incluye todas las propiedades del contacto. 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 usar $select para especificar que se devuelvan solo las propiedades EmailAddresses, GivenName y Surname del contacto en la respuesta.

Solicitud de muestra

GET https://outlook.office.com/api/v2.0/me/contacts/AAMkAGI2THk0AAA=?$select=EmailAddresses,GivenName,Surname

Respuesta de muestra

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts(EmailAddresses,GivenName,Surname)/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
    "@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4\"",
    "Id": "AAMkAGI2THk0AAA=",
    "GivenName": "Garth",
    "Surname": "Fort",
    "EmailAddresses": [
        {
            "Name": "garthf@a830edad9050849NDA1.onmicrosoft.com",
            "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
        }
    ]
}

Sincronizar contactos y carpetas de contactos

Puede sincronizar su lista local de contactos con los contactos en el servidor. La sincronización de contactos es una operación por carpeta, por ejemplo, puede sincronizar todos los contactos en su carpeta de contactos raíz. Si tiene carpetas de contactos adicionales, debe sincronizar cada carpeta individualmente.

La sincronización solo admite la sincronización completa; todos los contactos en la carpeta especificada se devuelven con cada solicitud.

La sincronización de una carpeta de contactos normalmente requiere dos o más solicitudes GET. La creación de la solicitud GET es muy similar a la de obtener contactos, excepto porque usted añade los encabezados de solicitud siguientes.

  • Debe especificar el encabezado Prefer: odata.track-changes en todas sus solicitudes de sincronización.

  • Puede especificar el encabezado Prefer: odata.maxpages={n} para establecer el número máximo de contactos que se devuelven en cada solicitud.

    La segunda solicitud GET y las solicitudes posteriores difieren de la primera solicitud GET en incluir un deltaToken o un skipToken recibido en una respuesta anterior.

    La respuesta inicial a una solicitud de sincronización siempre devuelve un deltaToken. Siempre debe hacer una segunda solicitud GET usando el deltaToken para determinar si hay contactos adicionales. La segunda solicitud devolverá contactos adicionales y un skipToken si hay más contactos disponibles o un deltaToken si se ha enviado el último contacto.

Ámbito mínimo necesario

Uno de los siguientes:

GET https://outlook.office.com/api/v2.0/me/Contacts
GET https://outlook.office.com/api/v2.0/me/ContactFolders/{folderName}
Parámetro obligatorio Tipo Descripción
Parámetros del encabezado
Prefer odata.track-changes Indica que la solicitud es una solicitud de sincronización.
Prefer odata.maxpagesize Establece la cantidad de contactos devueltos en cada respuesta.
Parámetro URL
folderName cadena El nombre de la carpeta para sincronizar.
odata.deltaLink Cadena El token que indica la última vez que se sincronizó la carpeta.
odata.skiptoken Cadena El token que indica que hay más mensajes para descargar.

Tipo de respuesta

Una colección que contiene los contactos solicitados y un deltaToken que utiliza para solicitar páginas adicionales de datos de contacto desde el servidor y para solicitar una sincronización incremental. Si la cantidad de contactos devueltos es mayor que el valor especificado en el encabezado odata.maxpagesize, la respuesta se devolverá en múltiples páginas.

La respuesta incluirá el encabezado Preference-Applied: odata.track-changes. Si intenta sincronizar un recurso que no es compatible, este encabezado no se devolverá en la respuesta. Compruebe este encabezado antes de procesar la respuesta para evitar errores.

Nota

De forma predeterminada, la respuesta incluye todas las propiedades de los contactos especificados. Utilice $select para especificar solo las propiedades que necesita para obtener el mejor rendimiento. La propiedad Id se devuelve siempre. No use $filter, $orderby, $search o $top, dado que no son compatibles para sincronizar contactos o carpetas de contactos. Consulte Parámetros de consulta de OData para obtener más detalles.

Ejemplos

Solicitud inicial para una sincronización completa:

GET https://outlook.office.com/api/v2.0/Me/Contacts

Incluir los siguientes encabezados:

  • Prefer: odata.track-changes
  • Prefer: odata.maxpagesize=100

Segunda solicitud al servidor después de una solicitud de sincronización completa:

https://outlook.office.com/api/v2.0/Me/Contacts/?%24deltatoken=169ca50467d34d9fb8adb664961b9836

Incluir los siguientes encabezados:

  • Prefer: odata.track-changes
  • Prefer: odata.maxpagesize=100

Segunda respuesta del servidor con páginas adicionales disponibles:

Encabezado

Preference-Applied: odata.track-changes

Cuerpo

@odata.deltaLink=https://outlook.office.com/api/v2.0/me/Contacts/messages/?%24skiptoken=169ca50467d34d9fb8adb664961b9836

Mensajes de carga útil


Segunda o respuesta o posterior del servidor cuando se han enviado todos los contactos:

Encabezado

Preference-Applied: odata.track-changes

Cuerpo

@odata.deltaLink=https://outlook.office.com/api/v2.0/me/Contacts/?%24deltatoken=169ca50467d34d9fb8adb664961b9836

Mensajes de carga útil


Solicitud al servidor cuando hay páginas adicionales disponibles:

https://outlook.office.com/api/v2.0/Me/Contacts/?%24skiptoken=169ca50467d34d9fb8adb664961b9836

Incluir los siguientes encabezados.

  • Prefer: odata.track-changes
  • Prefer: odata.maxpagesize=100

Crear contactos

Crear un contacto en la carpeta de contactos especificada.

Crear un contacto

Ámbito mínimo necesario

Uno de los siguientes:

Agregue un contacto a la carpeta de contactos raíz o al punto de conexión de contacts de otra carpeta de contactos.

POST https://outlook.office.com/api/v2.0/me/contacts
POST https://outlook.office.com/api/v2.0/me/contactfolders/{contact_folder_id}/contacts
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
contact_folder_id cadena El identificador de la carpeta de contactos, si está creando un contacto en una carpeta de contactos específica.
Parámetros de cuerpo
GivenName cadena El nombre de pila del contacto.

Especifica el parámetro GivenName y cualquier propiedad contacto grabable en el cuerpo de la solicitud.

Solicitud de muestra

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

{
  "GivenName": "Pavel",
  "Surname": "Bansky",
  "EmailAddresses": [
    {
      "Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Pavel Bansky"
    }
  ],
  "BusinessPhones": [
    "+1 732 555 0102"
  ]
}

Respuesta de muestra

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGE0M4xqVAAA=')",
  "@odata.etag": "W/\"EQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAV41eC\"",
  "Id": "AAMkAGE0M4xqVAAA=",
  "ChangeKey": "EQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAV41eC",
  "Categories": [],
  "CreatedDateTime": "2014-10-22T20:38:18Z",
  "LastModifiedDateTime": "2014-10-22T20:38:19Z",
  "ParentFolderId": "AAMkAGE0MAAEOAAA=",
  "Birthday": null,
  "FileAs": "",
  "DisplayName": "Pavel Bansky",
  "GivenName": "Pavel",
  "Initials": null,
  "MiddleName": null,
  "NickName": null,
  "Surname": "Bansky",
  "Title": null,
  "Generation": null,
  "EmailAddresses": [
    {
      "Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Pavel Bansky"
    },
    null,
    null
  ],
  "ImAddresses": [
    null,
    null,
    null
  ],
  "JobTitle": null,
  "CompanyName": null,
  "Department": null,
  "OfficeLocation": null,
  "Profession": null,
  "BusinessHomePage": null,
  "AssistantName": null,
  "Manager": null,
  "HomePhones": [
    null,
    null
  ],
  "BusinessPhones": [
    "+1 732 555 0102",
    null
  ],
  "MobilePhone1": null,
  "HomeAddress": {
    "Street": null,
    "City": null,
    "State": null,
    "CountryOrRegion": null,
    "PostalCode": null
  },
  "BusinessAddress": {
    "Street": null,
    "City": null,
    "State": null,
    "CountryOrRegion": null,
    "PostalCode": null
  },
  "OtherAddress": {
    "Street": null,
    "City": null,
    "State": null,
    "CountryOrRegion": null,
    "PostalCode": null
  },
  "SpouseName": null,
  "PersonalNotes": null,
  "Children": [],
  "YomiSurname": null,
  "YomiGivenName": null,
  "YomiCompanyName": null
}

Tipo de respuesta

El nuevo contacto.

Actualizar contactos

Cambiar las propiedades de un contacto.

Actualizar un contacto

Ámbito mínimo necesario

Uno de los siguientes:

Especifique cualquier propiedad contacto grabable en el cuerpo de la solicitud. Solo se modifican las propiedades que especifique.

PATCH https://outlook.office.com/api/v2.0/me/contacts/{contact_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
contact_id cadena El identificador de contacto.

Solicitud de muestra

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

{
  "HomeAddress": {
    "Street": "Some street",
    "City": "Seattle",
    "State": "WA",
    "PostalCode": "98121"
  },
  "Birthday": "1974-07-22"
}

Respuesta de muestra

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THkzAAA=')",
  "@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa3\"",
  "Id": "AAMkAGI2THkzAAA=",
  "ChangeKey": "EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa3",
  "Categories": [],
  "CreatedDateTime": "2014-10-19T23:08:18Z",
  "LastModifiedDateTime": "2014-10-19T23:08:18Z",
  "ParentFolderId": "AAMkAGI2AAEOAAA=",
  "Birthday": "1974-07-22T00:00:00Z",
  "FileAs": "Schorr, Janet",
  "DisplayName": "Janet Schorr",
  "GivenName": "Janet",
  "Initials": null,
  "MiddleName": null,
  "NickName": null,
  "Surname": "Schorr",
  "Title": null,
  "Generation": null,
  "EmailAddresses": [
    {
      "Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "janets@a830edad9050849NDA1.onmicrosoft.com"
    },
    null,
    null
  ],
  "ImAddresses": [
    "sip:janets@a830edad9050849nda1.onmicrosoft.com",
    null,
    null
  ],
  "JobTitle": "Product Marketing Manager",
  "CompanyName": null,
  "Department": "Sales & Marketing",
  "OfficeLocation": "18/2111",
  "Profession": null,
  "BusinessHomePage": null,
  "AssistantName": null,
  "Manager": null,
  "HomePhones": [
    null,
    null
  ],
  "BusinessPhones": [
    "+1 425 555 0109",
    null
  ],
  "MobilePhone1": null,
  "HomeAddress": {
    "Street": "Some street",
    "City": "Seattle",
    "State": "WA",
    "CountryOrRegion": null,
    "PostalCode": "98121"
  },
  "BusinessAddress": {
    "Street": null,
    "City": null,
    "State": null,
    "CountryOrRegion": null,
    "PostalCode": null
  },
  "OtherAddress": {
    "Street": null,
    "City": null,
    "State": null,
    "CountryOrRegion": null,
    "PostalCode": null
  },
  "SpouseName": null,
  "PersonalNotes": null,
  "Children": [],
  "YomiSurname": null,
  "YomiGivenName": null,
  "YomiCompanyName": null
}

Tipo de respuesta

El contacto actualizado.

Borrar contactos

Elimina un contacto. Es posible que el contenido eliminado no se pueda recuperar.

Para obtener más información, consulte Eliminar elementos mediante el uso de EWS en Exchange.

Eliminar un contacto

Ámbito mínimo necesario

Uno de los siguientes:

DELETE https://outlook.office.com/api/v2.0/me/contacts/{contact_id}
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
contact_id cadena El identificador de contacto.

Solicitud de muestra

DELETE https://outlook.office.com/api/v2.0/me/contacts/AAMkAGE0Myy2hAAA=

Respuesta de muestra

Status code: 204

Obtener carpetas de contactos

Puede obtener una colección de carpetas de contactos u obtener una carpeta de contactos.

Obtener una carpeta de contactos

Ámbito mínimo necesario

Uno de los siguientes:

Obtenga una colección de carpetas de contactos en la carpeta de contactos predeterminada del usuario que ha iniciado sesión (.../me/contactfolders) o en la carpeta de contactos especificada.

GET https://outlook.office.com/api/v2.0/me/contactfolders
GET https://outlook.office.com/api/v2.0/me/contactfolders/{contact_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
contact_folder_id cadena El identificador de la carpeta de contactos, si obtiene carpetas de contactos de una carpeta de contactos específica.

Solicitud de muestra

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

Respuesta de muestra

Código de estado: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/ContactFolders",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/ContactFolders('AAMkAGI2TKI5AAA=')",
            "Id": "AAMkAGI2TKI5AAA=",
            "ParentFolderId": "AAMkAGI2AAEOAAA=",
            "DisplayName": "Finance"
        }
    ]
}

Tipo de respuesta

La colección de carpetas de contactos solicitada.

Obtener una carpeta de contactos

Ámbito mínimo necesario

Uno de los siguientes:

Obtiene una carpeta de contactos mediante el id. de carpeta de contactos.

GET https://outlook.office.com/api/v2.0/me/contactfolders/{contact_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
contact_folder_id cadena El identificador de la carpeta de contactos.

Solicitud de muestra

GET https://outlook.office.com/api/v2.0/me/contactfolders/AAMkAGI2TKI5AAA=

Respuesta de muestra

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/ContactFolders/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/ContactFolders('AAMkAGI2TKI5AAA=')",
    "Id": "AAMkAGI2TKI5AAA=",
    "ParentFolderId": "AAMkAGI2AAEOAAA=",
    "DisplayName": "Finance"
}

Tipo de respuesta

La carpeta de contactos solicitada.

Obtener fotos de contacto y metadatos

Obtener foto de contacto

Ámbito mínimo necesario

Uno de los siguientes:

Obtenga la foto del contacto de los usuarios especificados que han iniciado sesión.

GET https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')/photo/$value
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
contact_id cadena El identificador que especifica el contacto concreto de los usuarios que han iniciado sesión.

Solicitud de muestra

GET https://outlook.office.com/api/v2.0/me/contacts('AAMkAGE1M2IyNGNm===')/photo/$value
Content-Type: image/jpg

Datos de respuesta

Contiene los datos binarios de la foto solicitada. El código de respuesta HTTP es 200.

La operación devuelve HTTP 404 si el contacto aún no tiene una foto de contacto en Exchange Online.

Obtener metadatos de fotos de contacto

Ámbito mínimo necesario

Uno de los siguientes:

Obtenga los metadatos de una foto de contacto que incluyen el tipo de contenido, el ancho y el alto en píxeles.

GET https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')/photo
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
contact_id cadena El identificador que especifica el contacto concreto de los usuarios que han iniciado sesión.

Solicitud de muestra

GET https://outlook.office.com/api/v2.0/me/contacts('AAMkAGE1M2IyNGNm')/photo

Muestra de datos de respuesta

Una solicitud con éxito devuelve HTTP 200.

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts('AAMkAGE1M2IyNGNm')/photo/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-b826-40d7-b48b-57002df800e5@1717622f-49d1-4d0c-9d74-709fad664b77')/contacts('AAMkAGE1M2IyNGNm')/photo",
    "@odata.readLink": "https://outlook.office.com/api/v2.0/Users('ddfcd489-b826-40d7-b48b-57002df800e5@1717622f-49d1-4d0c-9d74-709fad664b77')/contacts('AAMkAGE1M2IyNGNm')/photo",
    "@odata.mediaContentType": "image/jpeg",
    "Id": "103X77",
    "Width": 103,
    "Height": 77
}

Establecer foto de contacto

Ámbito mínimo necesario

Uno de los siguientes:

Asignar una foto al contacto del usuario que ha iniciado sesión. La foto debe estar en binario. Reemplaza cualquier foto existente para ese contacto.

Puede utilizar PATCH o PUT para esta operación en la versión 2.0.

PATCH https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')/photo/$value

PUT https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')/photo/$value
Parámetro obligatorio Tipo Descripción
Parámetros de dirección URL
contact_id cadena El identificador que especifica el contacto concreto de los usuarios que han iniciado sesión.

Solicitud de muestra

PUT https://outlook.office.com/api/v2.0/me/contacts('AAMkAGE1M2IyNGNm===')/photo/$value
Content-Type: image/jpeg

En el cuerpo de la solicitud, incluya los datos binarios de la foto.

Datos de respuesta

Una solicitud con éxito devuelve HTTP 200.

Pasos siguientes

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

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