Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пространство имен: 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 |
Для получения фотографии профиля группы
| Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
|---|---|---|
| Делегированные (рабочая или учебная учетная запись) | 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 |
Примечание.
- Получение фотографии пользователя с помощью microsoft API Graph в настоящее время не поддерживается в клиентах Azure AD B2C.
- Гостевые пользователи могут просматривать фотографии профилей пользователей, даже если параметры доступа гостевых пользователей настроены на самый строгий параметр в параметрах внешних удостоверений Azure Active Directory.
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 /teams/{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 /teams/{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);