Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пространство имен: microsoft.graph
Обновление свойств объекта user. Чтобы использовать этот API для обновления agentUser, укажите свойство @odata.type со значением #microsoft.graph.agentUser в тексте запроса.
- Не все свойства могут быть обновлены участниками или гостевыми пользователями с разрешениями по умолчанию, без ролей администратора. Сравните разрешения по умолчанию для участника и гостя, чтобы узнать, какими свойствами они могут управлять.
- Внешняя идентификация Microsoft Entra во внешних клиентах также может использовать эту операцию API для обновления своих данных. Список свойств, которые можно обновлять, см. в разделе "Разрешения пользователей по умолчанию во внешних клиентах ".
- Для синхронизированных пользователей возможность обновления некоторых свойств дополнительно определяется источником прав доступа и тем, включена ли синхронизация.
Этот API доступен в следующих национальных облачных развертываниях.
| Глобальное обслуживание | Правительство США L4 | Правительство США L5 (DOD) | Китай, обслуживаемый 21Vianet |
|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более высокий уровень привилегий или разрешений, только если это требуется вашему приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в статье Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
| Тип разрешения | Разрешения с наименьшим объемом привилегий | Разрешения с более высоким уровнем привилегий |
|---|---|---|
| Делегированные (рабочая или учебная учетная запись) | User.ReadUpdate.All | User.ReadWrite.All, Directory.ReadWrite.All |
| Делегированные (личная учетная запись Майкрософт) | User.ReadWrite | Недоступно. |
| Приложение | User.ReadUpdate.All | User.ReadWrite.All, Directory.ReadWrite.All |
Разрешения для определенных сценариев
- User.ReadWrite — это разрешение с наименьшими привилегиями на обновление сведений для вошедшего пользователя.
- Личная учетная запись Майкрософт должна быть привязана к клиенту Microsoft Entra, чтобы обновить профиль с использованием делегированного разрешения User.ReadWrite в личной учетной записи Майкрософт.
- Чтобы обновить свойство employeeLeaveDateTime :
- В сценариях с делегированным доступом администратору требуется роль глобального администратора . Приложению должны быть предоставлены делегированные разрешения User.Read.All и User-LifeCycleInfo.ReadWrite.All .
- В сценариях, предназначенных только для приложения с разрешениями Microsoft Graph, приложению должны быть предоставлены разрешения User.Read.All и User-LifeCycleInfo.ReadWrite.All .
- Чтобы обновить свойство customSecurityAttributes , выполните следующие действия.
- В делегированных сценариях администратору должна быть назначена роль администратора назначения атрибутов , а приложению должно быть предоставлено разрешение CustomSecAttributeAssignment.ReadWrite.All .
- В сценариях, предназначенных только для приложения с разрешениями Microsoft Graph, приложению должно быть предоставлено разрешение CustomSecAttributeAssignment.ReadWrite.All .
- User-Mail.ReadWrite.All — это разрешение с наименьшими привилегиями для обновления свойства otherMails .
- User-PasswordProfile.ReadWrite.All — это разрешение с наименьшими правами доступа на обновление свойства passwordProfile .
- User-Phone.ReadWrite.All — это разрешение с наименьшими привилегиями для обновления свойств businessPhones и mobilePhone .
- User.EnableDisableAccount.All + User.Read.All — это сочетание разрешений с наименьшим объемом привилегий для обновления свойства accountEnabled .
- User.ManageIdentities.Allтребуется для обновления свойства Identities .
HTTP-запрос
Обновите собственные свойства пользователя.
Примечание.
Для вызова конечной точки /me требуется вход пользователя и, следовательно, делегированное разрешение. Разрешения приложений не поддерживаются при использовании /me конечной точки.
PATCH /me
Обновление свойств другого пользователя.
PATCH /users/{id | userPrincipalName}
Заголовки запросов
| Заголовок | Значение |
|---|---|
| Авторизация | Bearer {token}. Обязательно. Дополнительные сведения об аутентификации и авторизации. |
| Content-Type | application/json |
Текст запроса
В тексте запроса укажите только значения обновляемых свойств. Существующие свойства, не включенные в текст запроса, сохраняют свои прежние значения или пересчитываются на основе изменений других значений свойств.
В следующей таблице указаны свойства, которые можно обновить.
Чтобы использовать этот API для обновления agentUser, необходимо указать @odata.type , указанный #microsoft.graph.agentUser в тексте запроса.
| Свойство | Тип | Описание |
|---|---|---|
| aboutMe | String | Свободное текстовое поле, где пользователь может рассказать о себе. |
| accountEnabled | Логический | Если учетная запись обеспечена — true, в противном случае — false. Это свойство обязательно указывать при создании пользователя. |
| ageGroup | ageGroup | Устанавливает возрастную группу пользователя. Допустимые значения: null, Minor, NotAdultи Adult. Дополнительные сведения см. в разделе Определения свойств юридических возрастных групп. |
| birthday | DateTimeOffset | День рождения пользователя. Тип Timestamp представляет сведения о времени и дате с использованием формата ISO 8601 (всегда применяется формат UTC). Например, значение полуночи 1 января 2014 г. в формате UTC: 2014-01-01T00:00:00Z. |
| businessPhones | Коллекция строк | Номера телефонов пользователя. ПРИМЕЧАНИЕ. Хотя это строковая коллекция, для нее можно задать только одно число. User-Phone.ReadWrite.All — это разрешение с наименьшими правами доступа для обновления этого свойства. |
| city | String | Город, в котором находится пользователь. |
| CompanyName | String | Название компании, с которой связан пользователь. Это свойство может быть полезно для описания компании внешнего пользователя. Максимальная длина: 64 символа. |
| consentProvidedForMinor | consentProvidedForMinor | Устанавливает, получено ли согласие для несовершеннолетних. Допустимые значения: null, Granted, Denied и NotRequired. Дополнительные сведения см. в разделе Определения свойств юридических возрастных групп. |
| country | String | Страна или регион, в котором находится пользователь, например US или UK. |
| customSecurityAttributes | customSecurityAttributeValue | Открытый сложный тип, который содержит значение настраиваемого атрибута безопасности, назначенного объекту каталога. |
| department | String | Название отдела, в котором работает пользователь. |
| displayName | String | Имя пользователя, отображаемое в адресной книге. Обычно это сочетание имени, отчества и фамилии пользователя. Это свойство требуется при создании пользователя и не может быть очищено во время обновления. |
| employeeId | String | Идентификатор сотрудника, назначенный пользователю организацией. Максимальная длина составляет 16 символов. |
| employeeType | String | Фиксирует тип корпоративного работника. Например, Employee, Contractor, Consultant или Vendor. Возвращается только с помощью оператора $select. |
| givenName; | String | Простое имя пользователя. |
| employeeHireDate | DateTimeOffset | Дата найма пользователя. Тип Timestamp представляет сведения о времени и дате с использованием формата ISO 8601 (всегда применяется формат UTC). Например, значение полуночи 1 января 2014 г. в формате UTC: 2014-01-01T00:00:00Z. |
| employeeLeaveDateTime | DateTimeOffset | Дата и время, когда пользователь покинул или покинет организацию. Тип метки времени представляет сведения о дате и времени в формате ISO 8601 и всегда имеет формат UTC. Например, значение полуночи 1 января 2014 г. в формате UTC: 2014-01-01T00:00:00Z. |
| employeeOrgData | employeeOrgData | Представляет данные организации (например, подразделение и центр затрат), связанные с пользователем. Включение обоих значений свойств при обновлении employeeOrgData; Если они отсутствуют, система устанавливает для них значение null. |
| identities | Коллекция objectIdentity | Представляет удостоверения, которые можно использовать для входа в учетную запись пользователя. Удостоверение может предоставляться корпорацией Майкрософт, организациями или поставщиками удостоверений социальных сетей, такими как Facebook, Google и Майкрософт, и привязывается к учетной записи пользователя. Любое обновление удостоверений заменяет всю коллекцию, и необходимо предоставить удостоверение userPrincipalName signInType в коллекции. ПРИМЕЧАНИЕ. Добавление локальной учетной записи B2C в существующий объект пользователя не допускается, если только объект пользователя уже не содержит удостоверение локальной учетной записи. |
| interests; | Коллекция строк | Список интересов пользователя. |
| jobTitle | String | Должность пользователя. |
| String | SMTP-адрес пользователя, например jeff@contoso.com. Изменения в этом свойстве также обновляют коллекцию proxyAddresses пользователя, чтобы включить значение в качестве SMTP-адреса. Для учетных записей Azure AD B2C это свойство может обновляться только 10 раз с уникальными SMTP-адресами. Не удается обновить до null. |
|
| mailNickname | String | Почтовый псевдоним для пользователя. Это свойство должно быть указано при создании пользователя. |
| mobilePhone | String | Основной сотовый телефон пользователя. |
| mySite | String | URL-адрес личного сайта пользователя. |
| officeLocation | String | Расположение офиса на месте работы пользователя. |
| onPremisesExtensionAttributes | onPremisesExtensionAttributes | Содержит свойства extensionAttribute 1–15 для пользователя. Отдельные атрибуты расширения нельзя выбрать или отфильтровать. Для пользователей onPremisesSyncEnabled исходным центром управления для этого набора свойств является локальная среда, и он предназначен только для чтения. Эти атрибуты расширения также называются настраиваемыми атрибутами 1–15 Exchange. |
| onPremisesImmutableId | String | Это свойство используется для связывания учетной записи пользователя локальной службы Active Directory с объектом пользователя Microsoft Entra. Это свойство необходимо указывать при создании новой учетной записи пользователя в Graph, если используется федеративный домен для свойства userPrincipalName (UPN) пользователя. Важно! При $ указании этого свойства нельзя использовать символы " и _ ". |
| otherMails | Коллекция строк | Список дополнительных адресов электронной почты для пользователя. Например: ["bob@contoso.com", "Robert@fabrikam.com"]. Чтобы обновить это свойство, передайте все адреса электронной почты, которые должны быть у пользователя. В противном случае существующие значения перезаписываются указанными. Может хранить до 250 значений, каждое с ограничением в 250 символов. |
| passwordPolicies | String | Задает политики паролей для пользователя. Это свойство представляет собой перечисление с возможным значением DisableStrongPassword. Оно позволяет использовать менее надежные пароли, чем предусмотрено политикой по умолчанию. Вы также можете указать значение DisablePasswordExpiration. Они могут быть указаны вместе; например: DisablePasswordExpiration, DisableStrongPassword. |
| passwordProfile | passwordProfile | Задает профиль пароля для пользователя. Профиль содержит пароль пользователя. Пароль в профиле должен соответствовать минимальным требованиям, указанным в свойстве passwordPolicies. По умолчанию требуется надежный пароль. Рекомендуется всегда устанавливать для forceChangePasswordNextSignIn значение true. Это не может быть использовано для федеративных пользователей. |
| pastProjects | Коллекция строк | Список предыдущих проектов пользователя. |
| postalCode | String | Почтовый индекс адреса пользователя. Формат почтового индекса зависит от страны или региона пользователя. В США для этого атрибута используется ZIP-код. |
| preferredLanguage | String | Предпочитаемый язык для пользователя. Он должен быть представлен в формате ISO 639-1, например en-US. |
| responsibilities; | Коллекция строк | Список обязанностей пользователя. |
| schools | Коллекция строк | Список для пользователя с перечислением учебных заведений, которые он посещал. |
| skills | Коллекция строк | Список навыков пользователя. |
| state | String | Область, республика, край или округ в адресе пользователя. |
| streetAddress | String | Почтовый адрес места работы пользователя. |
| surname | String | Фамилия пользователя. |
| usageLocation | String | Двухбуквенный код страны (по стандарту ISO 3166). Требуется для пользователей, которым будут назначены лицензии в соответствии с юридическим требованием о проверке доступности служб в странах / регионах. Примеры: US, JP и GB. Значение null не допускается. |
| userPrincipalName | String | Имя участника-пользователя. UPN — это имя для входа пользователя в интернет-стиле на основе интернет-стандарта RFC 822. В соответствии с соглашением оно должно указывать на имя пользователя для электронной почты. Общий формат: псевдоним@домен. При этом домен должен входить в коллекцию проверенных доменов клиента. Доступ к проверенным доменам клиента можно получить с помощью свойства verifiedDomains объекта organization. ПРИМЕЧАНИЕ. Это свойство не может содержать символы диакритических знаков. Разрешены только следующие символы: A - Z, a - z, 0 - 9, ' . - _ ! # ^ ~. Полный список разрешенных символов см. в политиках имен пользователей. |
| userType | String | Строковое значение, с помощью которого можно классифицировать типы пользователей в каталоге, например Member и Guest. |
Примечание.
- Следующие свойства не могут быть обновлены приложением только с разрешениями приложения: aboutMe, birthday, employeeHireDate, interests, mySite, pastProjects, responsibilities, schools, и skills.
- Чтобы обновить следующие свойства, вы должны указать их в своем собственном запросе PATCH, не включая другие свойства: aboutMe, день рождения, интересы, mySite, pastProjects, обязанности, школы и навыки.
Управление расширениями и связанными данными
Используйте этот API для управления каталогом, схемой и открытыми расширениями и их данными для пользователей следующим образом:
- Добавление, обновление и хранение данных в расширениях для существующего пользователя
- Для расширений каталогов и схем удалите все сохраненные данные, задав для свойства пользовательского расширения значение
null. Для открытых расширений используйте API удаления открытых расширений.
Отклик
В случае успешного выполнения этот метод возвращает код отклика 204 No Content.
Пример
Пример 1. Обновление свойств вошедшего пользователя
Запрос
Ниже показан пример запроса.
PATCH https://graph.microsoft.com/v1.0/me
Content-type: application/json
{
"businessPhones": [
"+1 425 555 0109"
],
"officeLocation": "18/2111"
}
Отклик
Ниже показан пример отклика.
HTTP/1.1 204 No Content
Пример 2. Обновление свойств указанного пользователя
Запрос
Ниже показан пример запроса.
PATCH https://graph.microsoft.com/v1.0/users/{id}
Content-type: application/json
{
"businessPhones": [
"+1 425 555 0109"
],
"officeLocation": "18/2111"
}
Отклик
Ниже показан пример отклика.
HTTP/1.1 204 No Content
Пример 3. Обновление профиля пароля пользователя и сброс его пароля
В приведенном ниже примере показан запрос на сброс пароля другого пользователя. Рекомендуется всегда устанавливать для forceChangePasswordNextSignIn значение true.
- User-PasswordProfile.ReadWrite.All — это разрешение с наименьшими правами доступа на обновление свойства passwordProfile .
- В делегированных сценариях вызывающему приложению должно быть назначено поддерживаемое разрешение, а вошедшему пользователю должна быть назначена поддерживаемая роль Microsoft Entra.
- Привилегированная проверка подлинности Администратор — это роль с наименьшими привилегиями, которой разрешено обновлять это свойство для всех администраторов в клиенте.
- Как правило, пользователь, выполнивший вход, должен иметь более высокую роль администратора, как указано в разделе Кто может сбрасывать пароли.
- В сценариях, предназначенных только для приложений с использованием разрешений приложения Microsoft Graph, User-PasswordProfile.ReadWrite.All является разрешением с наименьшим объемом привилегий.
Запрос
PATCH https://graph.microsoft.com/v1.0/users/{id}
Content-type: application/json
{
"passwordProfile": {
"forceChangePasswordNextSignIn": false,
"password": "xWwvJ]6NMw+bWH-d"
}
}
Отклик
HTTP/1.1 204 No Content
Пример 4. Добавление или обновление значений расширения схемы для пользователя
Можно обновить или назначить значение одному свойству или всем свойствам в расширении.
Запрос
PATCH https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e
Content-type: application/json
{
"ext55gb1l09_msLearnCourses": {
"courseType": "Admin"
}
}
Чтобы удалить значение расширения схемы из объекта пользователя, задайте для свойства ext55gb1l09_msLearnCourses значение null.
Отклик
HTTP/1.1 204 No Content
Пример 5. Назначение пользователю пользовательского атрибута безопасности со строковым значением
В следующем примере показано, как назначить пользователю пользовательский атрибут безопасности со строковым значением.
- Набор атрибутов:
Engineering - Атрибут:
ProjectDate - Тип данных атрибута: строка
- Значение атрибута:
"2022-10-01"
Чтобы назначить настраиваемые атрибуты безопасности, вызывающему субъекту должна быть присвоена роль администратора назначения атрибутов и должно быть предоставлено разрешение CustomSecAttributeAssignment.ReadWrite.All.
Примеры назначений пользовательских атрибутов безопасности см. в разделе Примеры: Назначение, обновление, перечисление или удаление назначений пользовательских атрибутов безопасности с помощью Microsoft API Graph.
Запрос
PATCH https://graph.microsoft.com/v1.0/users/{id}
Content-type: application/json
{
"customSecurityAttributes":
{
"Engineering":
{
"@odata.type":"#Microsoft.DirectoryServices.CustomSecurityAttributeValue",
"ProjectDate":"2022-10-01"
}
}
}
Отклик
HTTP/1.1 204 No Content