Get profilePhoto
Espacio de nombres: microsoft.graph
Importante
Las API de la versión /beta
de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
Obtenga la propiedad profilePhoto especificada o sus metadatos ( propiedades profilePhoto) de Microsoft 365.
Nota: Al intentar obtener una foto de usuario , esta operación primero intenta recuperar la foto especificada de Microsoft 365. Si la foto no está disponible en Microsoft 365, la API debe usarse para recuperar la foto del id. de Microsoft Entra.
Los tamaños de las fotos en HD de Microsoft 365 son los siguientes: 48 x 48, 64 x 64, 96 x 96, 120 x 120, 240 x 240, 360 x 360, 432 x 432, 504 x 504 y 648 x 648. Las fotos pueden ser cualquier dimensión si se almacenan en microsoft entra id.
Puede obtener los metadatos de la foto más grande disponible, o bien especifique un tamaño para obtener los metadatos de ese tamaño de foto. Si el tamaño que solicita no está disponible, puede obtener un tamaño más pequeño que el usuario haya cargado y puesto a disposición. Por ejemplo, si el usuario carga una foto de 504 x 504 píxeles, todo excepto el tamaño de foto de 648 x 648 está disponible para su descarga. Si el tamaño especificado no está disponible en el buzón del usuario o en el identificador de Microsoft Entra, el tamaño 1x1 se devuelve con el resto de los metadatos.
Esta API está disponible en las siguientes implementaciones nacionales de nube.
Servicio global | Gobierno de EE. UU. L4 | Us Government L5 (DOD) | China operada por 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Permissions
En las tablas siguientes se muestran los permisos o permisos con privilegios mínimos necesarios para llamar a esta API en cada tipo de recurso admitido. Siga los procedimientos recomendados para solicitar los permisos con privilegios mínimos. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
Para recuperar la foto de perfil de un contacto
Tipo de permiso | Permisos con privilegios mínimos | Permisos con privilegios más altos |
---|---|---|
Delegado (cuenta profesional o educativa) | Contacts.Read | Contacts.ReadWrite |
Delegado (cuenta personal de Microsoft) | Contacts.Read | Contacts.ReadWrite |
Aplicación | Contacts.Read | Contacts.ReadWrite |
Para recuperar la foto de perfil de un grupo
Tipo de permiso | Permisos con privilegios mínimos | Permisos con privilegios más altos |
---|---|---|
Delegado (cuenta profesional o educativa) | ProfilePhoto.Read.All | ProfilePhoto.ReadWrite.All, Group.Read.All, Group.ReadWrite.All |
Delegado (cuenta personal de Microsoft) | No admitida. | No admitida. |
Aplicación | ProfilePhoto.Read.All | ProfilePhoto.ReadWrite.All, Group.Read.All, Group.ReadWrite.All |
Para recuperar la foto de perfil de un equipo
Tipo de permiso | Permisos con privilegios mínimos | Permisos con privilegios más altos |
---|---|---|
Delegado (cuenta profesional o educativa) | Team.ReadBasic.All | TeamSettings.Read.All, TeamSettings.ReadWrite.All |
Delegado (cuenta personal de Microsoft) | No admitida. | No admitida. |
Aplicación | Team.ReadBasic.All | TeamSettings.Read.All, TeamSettings.ReadWrite.All |
Para recuperar la foto de perfil de un usuario
Tipo de permiso | Permisos con privilegios mínimos | Permisos con privilegios más altos |
---|---|---|
Delegado (cuenta profesional o educativa) | ProfilePhoto.Read.All | ProfilePhoto.ReadWrite.All, User.Read, User.ReadBasic.All, User.Read.All, User.ReadWrite, User.ReadWrite.All |
Delegado (cuenta personal de Microsoft) | User.Read | User.ReadWrite |
Aplicación | ProfilePhoto.Read.All | ProfilePhoto.ReadWrite.All, User.Read.All, User.ReadWrite.All |
Nota:
- La recuperación de la foto de un usuario mediante Microsoft Graph API no se admite actualmente en los inquilinos de Azure AD B2C.
Solicitud HTTP
Obtener la foto
GET /me/photo/$value
GET /users/{id | userPrincipalName}/photo/$value
GET /groups/{id}/photo/$value
GET /me/contacts/{id}/photo/$value
GET /users/{id | userPrincipalName}/contacts/{id}/photo/$value
GET /me/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
GET /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
GET /team/{id}/photo/$value
Obtener los metadatos de la foto
GET /me/photo
GET /me/photos
GET /users/{id | userPrincipalName}/photo
GET /groups/{id}/photo
GET /me/contacts/{id}/photo
GET /users/{id | userPrincipalName}/contacts/{id}/photo
GET /me/contactfolders/{contactFolderId}/contacts/{id}/photo
GET /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo
GET /team/{id}/photo
Obtener los metadatos de un tamaño de foto específico
GET /me/photos/{size}
GET /users/{id | userPrincipalName}/photos/{size}
GET /groups/{id}/photos/{size}
Parámetros de ruta de acceso
Parameter | Tipo | Descripción |
---|---|---|
size | String | Un tamaño de foto. Los tamaños de las fotos en HD de Microsoft 365 son los siguientes: 48 x 48, 64 x 64, 96 x 96, 120 x 120, 240 x 240, 360 x 360, 432 x 432, 504 x 504 y 648 x 648. Las fotos pueden ser cualquier dimensión si se almacenan en microsoft entra id. |
Parámetros de consulta opcionales
Este método admite los parámetros de consulta de OData a modo de ayuda para personalizar la respuesta.
Encabezados de solicitud
Nombre | Tipo | Descripción |
---|---|---|
Authorization | string | {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
Cuerpo de la solicitud
No proporcione un cuerpo de solicitud para este método.
Respuesta
Respuesta para obtener la foto
Si se ejecuta correctamente, este método devuelve un código de respuesta 200 OK
y los datos binarios de la foto solicitada. Si no hay ninguna foto, la operación devuelve 404 Not Found
.
Respuesta para obtener los metadatos de la foto
Si se ejecuta correctamente, este método devuelve un código de respuesta 200 OK
y el objeto profilePhoto en el cuerpo de la respuesta.
Ejemplos
Ejemplo 1: se obtiene la foto del usuario que ha iniciado sesión, en el tamaño más grande disponible
Solicitud
En el ejemplo siguiente se muestra la solicitud.
GET https://graph.microsoft.com/beta/me/photo/$value
Content-Type: image/jpg
Respuesta
Contiene los datos binarios de la foto solicitada. El código de respuesta HTTP es 200.
HTTP/1.1 200 OK
Ejemplo 2: se obtiene la foto de 48x48 para el usuario que inició sesión
Solicitud
En el ejemplo siguiente se muestra la solicitud.
GET https://graph.microsoft.com/beta/me/photos/48x48/$value
Content-Type: image/jpg
Nota:
- Para garantizar un tamaño fijo para la foto de salida, use el punto de conexión dedicado para las fotos con tamaños fijos (/photos) en lugar de depender del punto de conexión de foto predeterminado, que proporciona la foto más grande disponible (/photo).
Respuesta
Contiene los datos binarios de la foto de 48x48 solicitada. El código de respuesta HTTP es 200.
HTTP/1.1 200 OK
Ejemplo 3: se obtienen los metadatos de la foto del usuario que ha iniciado sesión
Solicitud
En el ejemplo siguiente se muestra la solicitud.
GET https://graph.microsoft.com/beta/me/photo
Respuesta
Los siguientes datos de respuesta muestran los metadatos de la foto.
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Me/photo/$entity",
"@odata.id": "https://graph.microsoft.com/beta/users('ddfcd489-628b-7d04-b48b-20075df800e5@1717622f-1d94-c0d4-9d74-f907ad6677b4')/photo",
"@odata.mediaContentType": "image/jpeg",
"@odata.mediaEtag": "\"BA09D118\"",
"id": "240x240",
"width": 240,
"height": 240
}
Los siguientes datos de respuesta muestran el contenido de una respuesta cuando aún no se ha cargado ninguna foto para el usuario.
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Me/photo/$entity",
"@odata.id": "https://graph.microsoft.com/beta/users('ddfcd489-628b-7d04-b48b-20075df800e5@1717622f-1d94-c0d4-9d74-f907ad6677b4')/photo",
"@odata.mediaContentType": "image/gif",
"@odata.mediaEtag": "",
"id": "1x1",
"width": 1,
"height": 1
}
Ejemplo 4: Obtener los metadatos de la foto del equipo
Solicitud
En el ejemplo siguiente se muestra una solicitud para obtener los metadatos de la foto de equipo.
GET https://graph.microsoft.com/beta/teams/172b0cce-e65d-44ce-9a49-91d9f2e8491e/photo
Respuesta
En el ejemplo siguiente se muestra la respuesta.
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#teams('172b0cce-e65d-44ce-9a49-91d9f2e8491e')/photo/$entity",
"@odata.id": "https://graph.microsoft.com/beta/teams('172b0cce-e65d-44ce-9a49-91d9f2e8491e')/photo",
"@odata.mediaContentType": "image/jpeg",
"@odata.mediaEtag": "\"BA09D118\"",
"id": "240X240",
"width": 240,
"height": 240
}
Ejemplo 5: Obtener los datos binarios de la foto del equipo
En el ejemplo siguiente se muestra una solicitud para obtener los datos binarios de la foto del equipo.
Solicitud
GET https://graph.microsoft.com/beta/teams/172b0cce-e65d-44ce-9a49-91d9f2e8491e/photo/$value
Respuesta
Contiene los datos binarios de la foto solicitada. El código de respuesta HTTP es 200.
HTTP/1.1 200 OK
Usar los datos binarios de la foto solicitada
Cuando se usa el /photo/$value
punto de conexión para obtener los datos binarios de una foto de perfil, es preciso convertir los datos en una cadena base 64 para agregarlos como datos adjuntos de correo electrónico. Este es un ejemplo de JavaScript de cómo crear una matriz que se puede pasar como valor del parámetro Attachments
de un mensaje de Outlook.
const attachments = [{
'@odata.type': '#microsoft.graph.fileAttachment',
ContentBytes: file.toString('base64'),
Name: 'mypic.jpg'
}];
Para obtener más información sobre la implementación, vea El ejemplo de Microsoft Graph Connect para Node.js.
Si quiere que la imagen aparezca en una página web, cree un objeto en memoria de la imagen y conviértalo en el origen de un elemento Image. En el siguiente ejemplo de JavaScript se muestra esta operación.
const url = window.URL || window.webkitURL;
const blobUrl = url.createObjectURL(image.data);
document.getElementById(imageElement).setAttribute("src", blobUrl);