Получение объекта profilePhoto

Пространство имен: microsoft.graph

Получение указанного объекта profilePhoto или его метаданных (свойств profilePhoto).

Поддерживаемые размеры фотографий в формате HD для Microsoft 365: 48 x 48, 64 x 64, 96 x 96, 120 x 120, 240 x 240, 360 x 360, 432 x 432, 504 x 504 и 648 x 648. Фотографии могут быть любого измерения, если они хранятся в Microsoft Entra ID.

Вы можете получить метаданные самой большой доступной фотографии или указать размер и получить метаданные для фотографии этого размера. Если запрашиваемый размер недоступен, вы по-прежнему можете получить меньший размер, который пользователь загрузил и сделал доступным. Например, если пользователь загружает фотографию размером 504 x 504 пикселей, для скачивания доступны все фотографии, кроме размера 648x648.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet

Разрешения

В следующих таблицах показаны минимальные разрешения или разрешения, необходимые для вызова этого API для каждого поддерживаемого типа ресурсов. Следуйте рекомендациям , чтобы запросить разрешения с наименьшими привилегиями. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Для получения фотографии профиля контакта

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) Contacts.Read Contacts.ReadWrite
Делегированные (личная учетная запись Майкрософт) Contacts.Read Contacts.ReadWrite
Для приложений Contacts.Read Contacts.ReadWrite

Для получения фотографии профиля группы

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) Group.Read.All Group.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Для приложений Group.Read.All Group.ReadWrite.All

Получение фото профиля команды

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) Team.ReadBasic.All TeamSettings.Read.All, TeamSettings.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Для приложений Team.ReadBasic.All TeamSettings.Read.All, TeamSettings.ReadWrite.All

Для получения фотографии профиля пользователя

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) User.Read User.ReadBasic.All, User.Read.All, User.ReadWrite, User.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) User.Read User.ReadWrite
Для приложений User.Read.All User.ReadWrite.All

Примечание.

  • Операция с метаданными не поддерживается для личных учетных записей Майкрософт.
  • Приложение с разрешениями только приложения не может получить доступ к фотографии группы.
  • Получение фотографии пользователя с помощью microsoft API Graph в настоящее время не поддерживается в клиентах Azure AD B2C.

HTTP-запрос

Получение фотографии

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

Получение метаданных фотографии

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

Получение метаданных фотографии определенного размера

GET /me/photos/{size}
GET /users/{id | userPrincipalName}/photos/{size}
GET /groups/{id}/photos/{size}

Параметры пути

Параметр Тип Описание
size String Размер фотографии. Поддерживаемые размеры фотографий в формате HD для Microsoft 365: 48 x 48, 64 x 64, 96 x 96, 120 x 120, 240 x 240, 360 x 360, 432 x 432, 504 x 504 и 648 x 648. Фотографии могут быть любого измерения, если они хранятся в Microsoft Entra ID.

Необязательные параметры запросов

Этот метод поддерживает параметры запросов OData для настройки отклика.

Заголовки запросов

Имя Тип Описание
Authorization string Bearer {token}. Обязательно.

Текст запроса

Не указывайте текст запроса для этого метода.

Отклик

Отклик для запроса на получение фотографии

При успешном выполнении этот метод возвращает код отклика 200 OK и двоичные данные запрашиваемой фотографии. Если фотография не существует, операция возвратит отклик 404 Not Found.

Отклик для запроса на получение метаданных фотографии

При успешном выполнении этот метод возвращает код отклика 200 OK и объект profilePhoto в тексте отклика.

Примеры

Пример 1. Получение фотографии пользователя, вошедшего в систему, с максимальным доступным размером

Запрос

GET https://graph.microsoft.com/v1.0/me/photo/$value

Отклик

Содержит двоичные данные запрошенной фотографии. Код HTTP-отклика: 200.

HTTP/1.1 200 OK

Пример 2. Получение фотографии 48 x 48 для вошедшего пользователя

Запрос

GET https://graph.microsoft.com/v1.0/me/photos/48x48/$value
Content-Type: image/jpg

Примечание.

Чтобы обеспечить фиксированный размер выходной фотографии, используйте выделенную конечную точку для фотографий (/photos) с фиксированными размерами вместо конечной точки фотографии по умолчанию (/photo), которая предоставляет самую большую доступную фотографию.

Отклик

Содержит двоичные данные запрошенной фотографии 48 x 48. Код HTTP-отклика: 200.

HTTP/1.1 200 OK

Пример 3. Получение метаданных фотографии вошедшего пользователя

Запрос

GET https://graph.microsoft.com/v1.0/me/photo

Отклик

В данных указанного ниже отклика содержатся метаданные фотографии.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Me/photo/$entity",
    "@odata.id": "https://graph.microsoft.com/v1.0/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
}

Ниже показаны данные отклика в случае, если фотография пользователя еще не выложена.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Me/photo/$entity",
    "@odata.id": "https://graph.microsoft.com/v1.0/users('ddfcd489-628b-7d04-b48b-20075df800e5@1717622f-1d94-c0d4-9d74-f907ad6677b4')/photo",
    "@odata.mediaContentType": "image/gif",
    "@odata.mediaEtag": "",
    "id": "1x1",
    "width": 1,
    "height": 1
}

Пример 4. Получение метаданных фотографии команды

Запрос

В следующем примере показан запрос на получение метаданных фотографии команды.

GET https://graph.microsoft.com/v1.0/teams/172b0cce-e65d-44ce-9a49-91d9f2e8491e/photo

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('172b0cce-e65d-44ce-9a49-91d9f2e8491e')/photo/$entity",
    "@odata.id": "https://graph.microsoft.com/v1.0/teams('172b0cce-e65d-44ce-9a49-91d9f2e8491e')/photo",
    "@odata.mediaContentType": "image/jpeg",
    "@odata.mediaEtag": "\"BA09D118\"",
    "id": "240X240",
    "width": 240,
    "height": 240
}

Пример 5. Получение двоичных данных фотографии команды

В следующем примере показан запрос на получение двоичных данных фотографии команды.

Запрос

GET https://graph.microsoft.com/v1.0/teams/172b0cce-e65d-44ce-9a49-91d9f2e8491e/photo/$value

Отклик

Содержит двоичные данные запрошенной фотографии. Код HTTP-отклика: 200.

HTTP/1.1 200 OK

Использование двоичных данных запрошенной фотографии

При использовании конечной /photo/$value точки для получения двоичных данных для фото профиля необходимо преобразовать данные в строку base-64, чтобы добавить их в виде вложения электронной почты. В следующем примере кода JavaScript показано, как создать массив, который можно передать как значение параметра Attachments для сообщения Outlook.

const attachments = [{
  '@odata.type': '#microsoft.graph.fileAttachment',
  ContentBytes: file.toString('base64'),
  Name: 'mypic.jpg'
}];

Дополнительные сведения о реализации см. в примере Microsoft Graph Connect для Node.js.

Если требуется, чтобы изображение отображалось на веб-странице, создайте объект в памяти на его основе и сделайте этот объект источником элемента изображения. В следующем примере JavaScript показана эта операция.

const url = window.URL || window.webkitURL;
const blobUrl = url.createObjectURL(image.data);
document.getElementById(imageElement).setAttribute("src", blobUrl);