Listar usuários
Namespace: microsoft.graph
Recupere uma lista de objetos user.
Observação: Essa solicitação pode ter atrasos de replicação para usuários que foram criados, atualizados ou excluídos recentemente.
Permissões
Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.
| Tipo de permissão | Permissões (da com menos para a com mais privilégios) |
|---|---|
| Delegado (conta corporativa ou de estudante) | User.ReadBasic.All, User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All |
| Delegado (conta pessoal da Microsoft) | Sem suporte. |
| Aplicativo | User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All |
Os usuários convidados não podem chamar essa API. Para obter mais informações sobre as permissões para usuários membros e convidados, confira Quais são as permissões de usuário padrão no Azure Active Directory?
Solicitação HTTP
GET /users
Parâmetros de consulta opcionais
Este método suporta aos parâmetros de consulta $count, $expand, $filter, $orderBy, $search, $select, e $top OData para ajudar a personalizar a resposta.$skip não é compatível. Os tamanhos de página padrão e máximo são 100 e 999 objetos de usuário, respectivamente. Algumas consultas são suportadas somente quando se usa o cabeçalho ConsistencyLevel definido como eventual e $count. Para obter mais informações, consulte Funcionalidades avançadas de consulta nos objetos de diretório do Microsoft Azure AD. Os parâmetros $count e $search não estão disponíveis no momento em locatários do Azure AD B2C.
Por padrão, apenas um conjunto limitado de propriedades é retornado (businessPhones, displayName, givenName, id, jobTitle, mail, mobilePhone, officeLocation, preferredLanguage, surname e userPrincipalName).Para retornar um conjunto de propriedades alternativo, especifique o conjunto desejado de propriedades de usuário usando o parâmetro de consulta $select OData. Por exemplo, para retornar displayName, givenName e postalCode, adicione o seguinte à sua consulta $select=displayName,givenName,postalCode.
Certas propriedades não podem ser retornadas em uma coleção de usuário. As seguintes propriedades terão suporte apenas ao recuperar um único usuário:: aboutMe, birthday, hireDate, interests, mySite, pastProjects, preferredName, responsibilities, schools, skills, mailboxSettings.
As propriedades a seguir não têm suporte em contas pessoais da Microsoft e serão null: aboutMe, birthday, interests, mySite, pastProjects, preferredName, responsibilities, schools, skills, streetAddress.
Recuperar extensões e dados associados
| Tipo de extensão | Comentários |
|---|---|
| onPremisesExtensionAttributes 1-15 | Retornado somente com $select. Suporta $filter (eq). |
| Extensões de esquema | Retornado somente com $select. Suporta $filter (eq). |
| Extensões abertas | Retornado somente com $expand, ou seja, users?$expand=extensions. |
| Extensões de diretório | Retornado somente com $select. Suporta $filter (eq). |
Cabeçalhos de solicitação
| Cabeçalho | Valor |
|---|---|
| Autorização | {token} do portador (obrigatório) |
| ConsistencyLevel | eventualmente. Este cabeçalho e $count são necessários quando se utiliza $search, ou em uso específico de $filter. Para obter mais informações sobre o uso de ConsistencyLevel e $count, consulte Funcionalidades avançadas de consulta nos objetos de diretório do Microsoft Azure AD. |
Corpo da solicitação
Não forneça um corpo de solicitação para esse método.
Resposta
Se bem-sucedido, este método retorna um código de resposta 200 OK e uma coleção de objetos user no corpo da resposta. Se uma coleção grande de usuários for retornada, você poderá usar a paginação no seu aplicativo.
A tentativa de usar $select na coleção /users para recuperar propriedades que não podem ser devolvidas em uma coleção do usuário (por exemplo, a solicitação ../users?$select=aboutMe) devolve um código de erro 501 Not Implemented.
Exemplos
Exemplo 1: Obter todos os usuários
Solicitação
Este é um exemplo de solicitação.
GET https://graph.microsoft.com/v1.0/users
Resposta
Este é um exemplo de resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users",
"value": [
{
"businessPhones": [],
"displayName": "Conf Room Adams",
"givenName": null,
"jobTitle": null,
"mail": "Adams@contoso.com",
"mobilePhone": null,
"officeLocation": null,
"preferredLanguage": null,
"surname": null,
"userPrincipalName": "Adams@contoso.com",
"id": "6ea91a8d-e32e-41a1-b7bd-d2d185eed0e0"
},
{
"businessPhones": [
"425-555-0100"
],
"displayName": "MOD Administrator",
"givenName": "MOD",
"jobTitle": null,
"mail": null,
"mobilePhone": "425-555-0101",
"officeLocation": null,
"preferredLanguage": "en-US",
"surname": "Administrator",
"userPrincipalName": "admin@contoso.com",
"id": "4562bcc8-c436-4f95-b7c0-4f8ce89dca5e"
}
]
}
Exemplo 2: Obter uma conta de usuário usando um nome de entrada
Solicitação
Este é um exemplo de solicitação.
Observação: ao filtrar em issuerAssignedId, você deve fornecer emissor e issuerAssignedId. Entretanto, o valor do emissor será ignorado em determinados cenários. Para obter mais detalhes sobre a filtragem nas identidades, consulte o tipo de recurso objectIdentity
GET https://graph.microsoft.com/v1.0/users?$select=displayName,id&$filter=identities/any(c:c/issuerAssignedId eq 'j.smith@yahoo.com' and c/issuer eq 'My B2C tenant')
Resposta
Este é um exemplo de resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"displayName": "John Smith",
"id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd"
}
]
}
Exemplo 3: obter apenas uma contagem de usuários
Solicitação
Este é um exemplo de solicitação. Esta solicitação exige o cabeçalho ConsistencyLevel definido como eventual porque $count está na solicitação. Para obter mais informações sobre o uso de ConsistencyLevel e $count, consulte Funcionalidades avançadas de consulta nos objetos de diretório do Microsoft Azure AD.
Observação: os parâmetros de consulta
$counte$searchnão estão disponíveis atualmente nos locatários do Azure Active Directory B2C.
GET https://graph.microsoft.com/v1.0/users/$count
ConsistencyLevel: eventual
Resposta
Este é um exemplo de resposta.
HTTP/1.1 200 OK
Content-type: text/plain
893
Exemplo 4: utilize $filter e $top para obter um usuário com um nome de exibição que comece com a letra 'a', incluindo uma contagem de objetos retornados
Solicitação
Este é um exemplo de solicitação. Esta solicitação exige o cabeçalho ConsistencyLevel definido como eventual e a cadeia de caracteres de consulta $count=true porque a solicitação tem os parâmetros de consulta $orderBy e $filter. Para obter mais informações sobre o uso de ConsistencyLevel e $count, consulte Funcionalidades avançadas de consulta nos objetos de diretório do Microsoft Azure AD.
Observação: os parâmetros de consulta
$counte$searchnão estão disponíveis atualmente nos locatários do Azure Active Directory B2C.
GET https://graph.microsoft.com/v1.0/users?$filter=startswith(displayName,'a')&$orderby=displayName&$count=true&$top=1
ConsistencyLevel: eventual
Resposta
Este é um exemplo de resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users",
"@odata.count":1,
"value":[
{
"displayName":"a",
"mail":"a@contoso.com",
"mailNickname":"a_contoso.com#EXT#",
"userPrincipalName":"a_contoso.com#EXT#@microsoft.onmicrosoft.com"
}
]
}
Exemplo 5: utilize $filtro para obter todos os usuários com um email que termina com “a@contoso.com”, incluindo uma contagem de objetos retornados, com os resultados pedidos por userPrincipalName
Solicitação
Este é um exemplo de solicitação. Esta solicitação exige o cabeçalho ConsistencyLevel definido como eventual e a cadeia de consulta $count=true porque a solicitação tem os parâmetros de consulta $orderBy e $filter, e também usa o operador endsWith. Para obter mais informações sobre o uso de ConsistencyLevel e $count, consulte Funcionalidades avançadas de consulta nos objetos de diretório do Microsoft Azure AD.
Observação: os parâmetros de consulta
$counte$searchnão estão disponíveis atualmente nos locatários do Azure Active Directory B2C.
GET https://graph.microsoft.com/v1.0/users?$filter=endswith(mail,'a@contoso.com')&$orderby=userPrincipalName&$count=true
ConsistencyLevel: eventual
Resposta
Este é um exemplo de resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users",
"@odata.count": 1,
"value": [
{
"displayName": "Grady Archie",
"givenName": "Grady",
"jobTitle": "Designer",
"mail": "GradyA@contoso.com",
"userPrincipalName": "GradyA@contoso.com",
"id": "e8b753b5-4117-464e-9a08-713e1ff266b3"
}
]
}
Exemplo 6: utilize $pesquisa para obter usuários com nomes de exibição que contenham as letras 'wa', incluindo uma contagem de objetos retornados
Solicitação
Este é um exemplo de solicitação. Esta solicitação exige o cabeçalho ConsistencyLevel definido como eventual porque $search está na solicitação. Para obter mais informações sobre o uso de ConsistencyLevel e $count, consulte Funcionalidades avançadas de consulta nos objetos de diretório do Microsoft Azure AD.
Observação: os parâmetros de consulta
$counte$searchnão estão disponíveis atualmente nos locatários do Azure Active Directory B2C.
GET https://graph.microsoft.com/v1.0/users?$search="displayName:wa"&$orderby=displayName&$count=true
ConsistencyLevel: eventual
Resposta
Este é um exemplo de resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users",
"@odata.count":7,
"value":[
{
"displayName":"Oscar Ward",
"givenName":"Oscar",
"mail":"oscarward@contoso.com",
"userPrincipalName":"oscarward@contoso.com"
}
]
}
Exemplo 7: Use $search para obter usuários com nomes de exibição que contenham as letras 'wa' ou as letras 'ad', incluindo uma contagem de objetos retornados
Solicitação
Este é um exemplo de solicitação. Esta solicitação exige o cabeçalho ConsistencyLevel definido como eventual porque $search está na solicitação. Para obter mais informações sobre o uso de ConsistencyLevel e $count, consulte Funcionalidades avançadas de consulta nos objetos de diretório do Microsoft Azure AD.
Observação: os parâmetros de consulta
$counte$searchnão estão disponíveis atualmente nos locatários do Azure Active Directory B2C.
GET https://graph.microsoft.com/v1.0/users?$search="displayName:wa" OR "displayName:ad"&$orderbydisplayName&$count=true
ConsistencyLevel: eventual
Resposta
Este é um exemplo de resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users",
"@odata.count":7,
"value":[
{
"displayName":"Oscar Ward",
"givenName":"Oscar",
"mail":"oscarward@contoso.com",
"userPrincipalName":"oscarward@contoso.com"
},
{
"displayName":"contosoAdmin1",
"givenName":"Contoso Administrator",
"mail":"'contosoadmin1@fabrikam.com",
"userPrincipalName":"contosoadmin1_fabrikam.com#EXT#@microsoft.onmicrosoft.com"
}
]
}
Exemplo 8: Use $ filter para obter usuários que receberam uma licença específica
Solicitação
Este é um exemplo de solicitação.
GET https://graph.microsoft.com/v1.0/users?$select=id,mail,assignedLicenses&$filter=assignedLicenses/any(u:u/skuId eq cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46)
Resposta
Este é um exemplo de resposta.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(id,mail,assignedLicenses)",
"value": [
{
"id": "cb4954e8-467f-4a6d-a8c8-28b9034fadbc",
"mail": "admin@contoso.com",
"assignedLicenses": [
{
"disabledPlans": [],
"skuId": "cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46"
}
]
},
{
"id": "81a133c2-bdf2-4e67-8755-7264366b04ee",
"mail": "DebraB@contoso.com",
"assignedLicenses": [
{
"disabledPlans": [],
"skuId": "cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46"
}
]
}
]
}
Exemplo 9: obter o valor de uma extensão de esquema para todos os usuários
Neste exemplo, a ID da extensão do esquema é ext55gb1l09_msLearnCourses.
Solicitação
GET https://graph.microsoft.com/v1.0/users?$select=ext55gb1l09_msLearnCourses
Resposta
Na resposta a seguir, a propriedade de extensão de esquema ext55gb1l09_msLearnCourses não está designada em dois dos objetos de usuário.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(ext55gb1l09_msLearnCourses)",
"value": [
{},
{
"ext55gb1l09_msLearnCourses": {
"@odata.type": "#microsoft.graph.ComplexExtensionValue",
"courseType": "Developer",
"courseName": "Introduction to Microsoft Graph",
"courseId": 1
}
},
{}
]
}
Observação: você também pode aplicar
$filterna propriedade de extensão do esquema para recuperar objetos em que uma propriedade na coleção corresponde a um valor especificado. A sintaxe é/users?$filter={schemaPropertyID}/{propertyName} eq 'value'. Por exemplo,GET /users?$select=ext55gb1l09_msLearnCourses&$filter=ext55gb1l09_msLearnCourses/courseType eq 'Developer'. Os operadoreseqenottêm suporte.
Comentários
Enviar e exibir comentários de