Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Namespace: microsoft.graph
Atualizar as propriedades de um objeto usuário. Para usar essa API para atualizar um agentUser, especifique uma propriedade @odata.type com um valor de no corpo da #microsoft.graph.agentUser solicitação.
- Nem todas as propriedades podem ser atualizadas por usuários Membros ou Convidados com suas permissões padrão sem funções de administrador. Compare as permissões padrão de membros e convidados para ver as propriedades que eles podem gerenciar.
- ID externa do Microsoft Entra em locatários externos também podem usar essa operação de API para atualizar seus detalhes. Consulte Permissões de usuário padrão em locatários externos para obter a lista de propriedades que eles podem atualizar.
- Para usuários sincronizados, a capacidade de atualizar determinadas propriedades também é determinada pela fonte de autoridade e se a sincronização está habilitada.
Essa API está disponível nas seguintes implantações de nuvem nacional.
| Serviço global | Governo dos EUA L4 | US Government L5 (DOD) | China operada pela 21Vianet |
|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
Permissões
Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
| Tipo de permissão | Permissões menos privilegiadas | Permissões com privilégios mais elevados |
|---|---|---|
| Delegado (conta corporativa ou de estudante) | User.ReadUpdate.All | User.ReadWrite.All, Directory.ReadWrite.All |
| Delegado (conta pessoal da Microsoft) | User.ReadWrite | Indisponível. |
| Application | User.ReadUpdate.All | User.ReadWrite.All, Directory.ReadWrite.All |
Permissões para cenários específicos
- User.ReadWrite é a permissão menos privilegiada para atualizar detalhes para o usuário conectado.
- Sua conta Microsoft pessoal deve ser vinculada a um locatário do Microsoft Entra para atualizar seu perfil com a permissão delegada User.ReadWrite em uma conta Microsoft pessoal.
- Para atualizar a propriedade employeeLeaveDateTime :
- Em cenários delegados, o administrador precisa da função de Administrador Global ; o aplicativo deve receber as permissões delegadas User.Read.All e User-LifeCycleInfo.ReadWrite.All .
- Em cenários somente de aplicativo com permissões do Microsoft Graph, o aplicativo deve receber as permissões User.Read.All e User-LifeCycleInfo.ReadWrite.All .
- Para atualizar a propriedade customSecurityAttributes :
- Em cenários delegados, o administrador deve receber a função de Administrador de Atribuição de Atributo e o aplicativo deve receber a permissão CustomSecAttributeAssignment.ReadWrite.All .
- Em cenários somente de aplicativo com permissões do Microsoft Graph, o aplicativo deve receber a permissão CustomSecAttributeAssignment.ReadWrite.All .
- User-Mail.ReadWrite.All é a permissão menos privilegiada para atualizar a propriedade otherMails .
- User-PasswordProfile.ReadWrite.All é a permissão menos privilegiada para atualizar a propriedade passwordProfile .
- User-Phone.ReadWrite.All é a permissão menos privilegiada para atualizar as propriedades businessPhones e mobilePhone .
- User.EnableDisableAccount.All + User.Read.All é a combinação menos privilegiada de permissões para atualizar a propriedade accountEnabled .
- User.ManageIdentities.All é necessário para atualizar a propriedade de identidades .
Solicitação HTTP
Atualize suas próprias propriedades de usuário.
Observação
Chamar o ponto de extremidade /me exige um usuário conectado e, portanto, uma permissão delegada. Não há suporte para permissões de aplicativo ao usar o /me ponto de extremidade.
PATCH /me
Atualizar as propriedades de outro usuário.
PATCH /users/{id | userPrincipalName}
Cabeçalhos de solicitação
| Cabeçalho | Valor |
|---|---|
| Autorização | {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-Type | application/json |
Corpo da solicitação
No corpo da solicitação, forneça apenas os valores das propriedades a serem atualizadas. As propriedades existentes que não estão incluídas no corpo da solicitação mantêm seus valores anteriores ou são recalculadas com base nas alterações de outros valores de propriedade.
A tabela a seguir especifica as propriedades que podem ser atualizadas.
Para usar essa API para atualizar um agentUser, você deve especificar o @odata.type como #microsoft.graph.agentUser no corpo da solicitação.
| Propriedade | Tipo | Descrição |
|---|---|---|
| aboutMe | String | Um campo de entrada de texto em forma livre para o usuário se descrever. |
| accountEnabled | Booliano |
true se a conta estiver habilitada; caso contrário, false. Essa propriedade é obrigatória quando um usuário é criado. |
| ageGroup | ageGroup | Define a faixa etária do usuário. Valores permitidos: null, Minor, NotAdulte Adult. Confira as definições de propriedades da faixa etária legal para obter mais informações. |
| birthday | DateTimeOffset | O aniversário do usuário. O tipo Timestamp representa informações de data e hora usando o formato ISO 8601 e está sempre no horário UTC. Por exemplo, meia-noite UTC em 1 de janeiro de 2014 é 2014-01-01T00:00:00Z |
| businessPhones | String collection | Números de telefone para o usuário. OBSERVAÇÃO: Embora se trata de uma coleção de cadeias de caracteres, somente um número pode ser definido para essa propriedade. User-Phone.ReadWrite.All é a permissão com privilégios mínimos para atualizar essa propriedade. |
| city | String | A cidade em que o usuário está localizado. |
| CompanyName | String | O nome da empresa à qual o usuário está associado. Essa propriedade pode ser útil para descrever a empresa de onde procede um usuário externo. O tamanho máximo é de 64 caracteres. |
| consentProvidedForMinor | consentProvidedForMinor | Define se o consentimento foi obtido para menores. Valores permitidos: null, Granted, Denied e NotRequired. Confira as definições de propriedades da faixa etária legal para obter mais informações. |
| country | Cadeia de caracteres | O país/região em que o usuário está localizado; por exemplo, US ou UK. |
| customSecurityAttributes | customSecurityAttributeValue | Um tipo complexo aberto que contém o valor de um atributo de segurança personalizado atribuído a um objeto de diretório. |
| department | String | O nome do departamento no qual o usuário trabalha. |
| displayName | String | O nome exibido para o usuário no catálogo de endereços. Geralmente é a combinação do nome, da inicial do nome do meio e do sobrenome do usuário. Esta propriedade é necessária quando um usuário é criado e não pode ser limpa durante atualizações. |
| employeeId | String | O identificador de funcionário atribuído ao usuário pela organização. O comprimento máximo é de 16 caracteres. |
| employeeType | String | Captura o tipo de trabalhador corporativo. Por exemplo, Employee, Contractor, Consultant ou Vendor. Retornado apenas em $select. |
| givenName | String | O nome fornecido (nome) do usuário. |
| employeeHireDate | DateTimeOffset | A data de contratação do usuário. O tipo Timestamp representa informações de data e hora usando o formato ISO 8601 e está sempre no horário UTC. Por exemplo, meia-noite UTC em 1 de janeiro de 2014 é 2014-01-01T00:00:00Z |
| employeeLeaveDateTime | DateTimeOffset | A data e horário em que o usuário deixou ou deixará a organização. O tipo de carimbo de data/hora representa informações de data e hora usando o formato ISO 8601 e está sempre no horário UTC. Por exemplo, meia-noite UTC em 1 de janeiro de 2014 é 2014-01-01T00:00:00Z. |
| employeeOrgData | employeeOrgData | Representa os dados da organização (por exemplo, divisão e centro de custo) associados a um usuário. Inclua ambos os valores de propriedade ao atualizar employeeOrgData; Se você omitir algumas, o sistema as definirá como null. |
| Identidades | Coleção objectIdentity | Representa as identidades que podem ser usadas para entrar nesta conta de usuário. Uma identidade pode ser fornecida pela Microsoft, por organizações ou por provedores de identidade social, como o Facebook, Google e Microsoft, e está vinculada a uma conta de usuário. Qualquer atualização de identidades substitui toda a coleção e você deve fornecer a identidade userPrincipalName signInType na coleção. OBSERVAÇÃO: Adicionar uma conta local B2C a um objeto de usuário existente não é permitido, a menos que o objeto de usuário já contenha uma identidade de conta local. |
| interests | Coleção de cadeias de caracteres | Uma lista para o usuário descrever os interesses dele. |
| jobTitle | String | O cargo do usuário. |
| String | O endereço SMTP do usuário, por exemplo, jeff@contoso.com. As alterações nessa propriedade também atualizam a coleção proxyAddresses do usuário para incluir o valor como um endereço SMTP. Para contas B2C do Azure AD, essa propriedade pode ser atualizada até 10 vezes com endereços SMTP exclusivos. Não é possível atualizar para null. |
|
| mailNickname | String | O alias de email do usuário. Essa propriedade deve ser especificada quando um usuário é criado. |
| mobilePhone | String | O número de celular principal do usuário. |
| mySite | String | A URL do site pessoal do usuário. |
| officeLocation | String | A localização do escritório no local de trabalho do usuário. |
| onPremisesExtensionAttributes | onPremisesExtensionAttributes | Contém extensionAttributes 1-15 para o usuário. Os atributos de extensão individuais não são selecionáveis ou filtráveis. Para um usuário do onPremisesSyncEnabled, a fonte de autoridade desse conjunto de propriedades é o local e é somente para leitura. Esses atributos de extensão também são conhecidos como atributos personalizados do Exchange 1-15. |
| onPremisesImmutableId | String | Essa propriedade é usada para associar uma conta de usuário do Active Directory local ao objeto de usuário do Microsoft Entra. Essa propriedade deverá ser especificada ao criar uma nova conta de usuário no Graph se você estiver usando um domínio federado para a propriedade userPrincipalName (UPN) do usuário. Importante: Os $ caracteres e _ não podem ser usados ao especificar essa propriedade. |
| otherMails | Coleção String | Uma lista de endereços de email adicional para o usuário; Por exemplo: ["bob@contoso.com", "Robert@fabrikam.com"]. Para atualizar esta propriedade, passe todos os endereços de e-mail que você deseja que o usuário tenha; Caso contrário, os valores existentes serão substituídos pelos valores especificados. Pode armazenar até 250 valores, cada um com um limite de 250 caracteres. |
| passwordPolicies | String | Especifica as políticas de senha do usuário. Este valor é uma enumeração com um valor possível sendo DisableStrongPassword, que permite que senhas mais fracas do que a política padrão sejam especificadas.
DisablePasswordExpiration também pode ser especificado. Os dois podem ser especificados juntos; Por exemplo: DisablePasswordExpiration, DisableStrongPassword. |
| passwordProfile | passwordProfile | Especifica o perfil de senha do usuário. O perfil contém a senha do usuário. A senha no perfil deve atender a requisitos mínimos, conforme especificado pela propriedade passwordPolicies. Por padrão, é obrigatória uma senha forte. Como prática recomendada, sempre defina forceChangePasswordNextSignIn como true. Isso não pode ser usado para usuários federados. |
| pastProjects | Coleção de cadeias de caracteres | Uma lista para o usuário enumerar seus projetos anteriores. |
| postalCode | String | O código postal do endereço postal do usuário. O código postal é específico para o país/região do usuário. Nos Estados Unidos, esse atributo contém o CEP. |
| preferredLanguage | String | O idioma preferencial do usuário. Deve seguir o Código ISO 639-1; por exemplo, en-US. |
| responsibilities | Coleção de cadeias de caracteres | Uma lista para o usuário enumerar suas responsabilidades. |
| schools | Coleção de cadeias de caracteres | Uma lista para o usuário enumerar as escolas que frequentou. |
| skills | Coleção de cadeias de caracteres | Uma lista para o usuário enumerar suas qualificações. |
| state | String | O estado ou município no endereço do usuário. |
| streetAddress | String | O endereço do local de trabalho do usuário. |
| surname | String | O sobrenome do usuário (nome de família ou sobrenome). |
| usageLocation | String | Um código de duas letras (padrão ISO 3166). Necessário para usuários que receberão licenças devido a exigência legal de marcar a disponibilidade dos serviços nos países/regiões. Os exemplos incluem:US,JP e GB. Não anulável. |
| userPrincipalName | String | O nome UPN do usuário. O UPN é um nome de entrada no estilo da Internet para o usuário com base no padrão da Internet RFC 822. Por convenção, ele deve ser mapeado para o nome de email do usuário. O formato geral é alias@domain, onde o domínio deve estar presente na coleta de domínios verificados pelo locatário. Os domínios verificados para o locatário podem ser acessados pela propriedade verifiedDomains de organization. OBSERVAÇÃO: esta propriedade não pode conter caracteres de acento. Somente os seguintes caracteres são permitidos A - Z, a - z, 0 - 9, ' . - _ ! # ^ ~. Para obter a lista completa de caracteres permitidos, consulte as políticas de nome de usuário. |
| userType | String | Um valor de string que pode ser usado para classificar tipos de usuário em seu diretório, como Member e Guest. |
Observação
- As propriedades a seguir não podem ser atualizadas por um aplicativo apenas com permissões de aplicativo: aboutMe, birthday, employeeHireDate, interests, mySite, pastProjects, responsabilidades, escolas e habilidades.
- Para atualizar as propriedades a seguir, você deve especificá-las em sua própria solicitação PATCH, sem incluir as outras propriedades: aboutMe, birthday, interests, mySite, pastProjects, responsibilities, schools e skills.
Gerenciar extensões e dados associados
Use essa API para gerenciar o diretório, o esquema e as extensões abertas e seus dados para os usuários, da seguinte maneira:
- Adicione, atualize e armazene dados nas extensões para um usuário existente
- Para extensões de diretório e esquema, remova todos os dados armazenados definindo o valor da propriedade de extensão personalizada como
null. Para extensões abertas, use a API Excluir a extensão aberta.
Resposta
Se tiver êxito, este método retornará um código de resposta 204 No Content.
Exemplo
Exemplo 1: atualizar as propriedades do usuário conectado
Solicitação
O exemplo a seguir mostra uma solicitação.
PATCH https://graph.microsoft.com/v1.0/me
Content-type: application/json
{
"businessPhones": [
"+1 425 555 0109"
],
"officeLocation": "18/2111"
}
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 204 No Content
Exemplo 2: atualizar as propriedades do usuário especificado
Solicitação
O exemplo a seguir mostra uma solicitação.
PATCH https://graph.microsoft.com/v1.0/users/{id}
Content-type: application/json
{
"businessPhones": [
"+1 425 555 0109"
],
"officeLocation": "18/2111"
}
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 204 No Content
Exemplo 3: Atualizar o passwordProfile de um usuário e redefinir sua senha
O exemplo a seguir mostra uma solicitação para redefinir a senha de outro usuário. Como prática recomendada, sempre defina forceChangePasswordNextSignIn como true.
- User-PasswordProfile.ReadWrite.All é a permissão menos privilegiada para atualizar a propriedade passwordProfile .
- Em cenários delegados, o aplicativo de chamada deve receber uma permissão com suporte e uma função com suporte no Microsoft Entra.
- O Administrador de Autenticação Privilegiada é a função menos privilegiada que tem permissão para atualizar essa propriedade para todos os administradores no locatário.
- Em geral, o usuário conectado deve ter uma função de administrador com privilégios mais alto, conforme indicado em Quem pode redefinir senhas.
- Em cenários somente de aplicativo usando permissões de aplicativo do Microsoft Graph, User-PasswordProfile.ReadWrite.All é a permissão com privilégios mínimos.
Solicitação
PATCH https://graph.microsoft.com/v1.0/users/{id}
Content-type: application/json
{
"passwordProfile": {
"forceChangePasswordNextSignIn": false,
"password": "xWwvJ]6NMw+bWH-d"
}
}
Resposta
HTTP/1.1 204 No Content
Exemplo 4: Adicionar ou atualizar os valores de uma extensão de esquema para um usuário
Você pode atualizar ou atribuir um valor a uma única propriedade ou a todas as propriedades na extensão.
Solicitação
PATCH https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e
Content-type: application/json
{
"ext55gb1l09_msLearnCourses": {
"courseType": "Admin"
}
}
Para remover o valor da extensão de esquema do objeto de usuário, defina a propriedade ext55gb1l09_msLearnCourses como null.
Resposta
HTTP/1.1 204 No Content
Exemplo 5: atribuir um atributo de segurança personalizado com um valor de cadeia de caracteres a um usuário
O exemplo a seguir mostra como atribuir um atributo de segurança personalizado com um valor de cadeia de caracteres a um usuário.
- Conjunto de atributos:
Engineering - Atributo:
ProjectDate - Tipo de dados de atributo: cadeia de caracteres
- Valor do atributo:
"2022-10-01"
Para atribuir atributos de segurança personalizados, o principal de chamada deve ser atribuído à função de Administrador de Atribuição de Atributo e deve receber a permissão CustomSecAttributeAssignment.ReadWrite.All.
Para obter exemplos de atribuições de atributos de segurança personalizados, consulte Exemplos: atribuir, atualizar, listar ou remover atribuições de atributos de segurança personalizados usando a API do Graph.
Solicitação
PATCH https://graph.microsoft.com/v1.0/users/{id}
Content-type: application/json
{
"customSecurityAttributes":
{
"Engineering":
{
"@odata.type":"#Microsoft.DirectoryServices.CustomSecurityAttributeValue",
"ProjectDate":"2022-10-01"
}
}
}
Resposta
HTTP/1.1 204 No Content