Получение объекта 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.
Вы можете получить метаданные самой большой доступной фотографии или указать размер и получить метаданные для фотографии этого размера. Если запрашиваемый размер недоступен, вы по-прежнему можете получить меньший размер, который пользователь загрузил и сделал доступным. Например, если пользователь загружает фотографию размером 504 x 504 пикселей, для скачивания доступны все фотографии, кроме размера 648x648.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Разрешения
В следующих таблицах показаны минимальные разрешения или разрешения, необходимые для вызова этого API для каждого поддерживаемого типа ресурсов. Следуйте рекомендациям , чтобы запросить разрешения с наименьшими привилегиями. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Для получения фотографии профиля контакта
Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
---|---|---|
Делегированные (рабочая или учебная учетная запись) | Contacts.Read | Contacts.ReadWrite |
Делегированные (личная учетная запись Майкрософт) | Contacts.Read | Contacts.ReadWrite |
Для приложений | Contacts.Read | Contacts.ReadWrite |
Для получения фотографии профиля группы
Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
---|---|---|
Делегированные (рабочая или учебная учетная запись) | ProfilePhoto.Read.All | ProfilePhoto.ReadWrite.All, Group.Read.All, Group.ReadWrite.All |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. | Не поддерживается. |
Приложение | ProfilePhoto.Read.All | ProfilePhoto.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 |
Для получения фотографии профиля пользователя
Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
---|---|---|
Делегированные (рабочая или учебная учетная запись) | ProfilePhoto.Read.All | ProfilePhoto.ReadWrite.All, User.Read, User.ReadBasic.All, User.Read.All, User.ReadWrite, User.ReadWrite.All |
Делегированные (личная учетная запись Майкрософт) | User.Read | User.ReadWrite |
Для приложений | ProfilePhoto.Read.All | ProfilePhoto.ReadWrite.All, User.Read.All, User.ReadWrite.All |
Примечание.
- Получение фотографии пользователя с помощью API Microsoft 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. |
Необязательные параметры запросов
Этот метод поддерживает параметры запросов 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);