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.
Este artigo faz parte da Etapa 1: examinar as diferenças de API na série de lista de verificação de planejamento de migração do aplicativo Graph do Azure AD.
O Microsoft Graph e a API do Graph do Azure Active Directory (Azure AD) são APIs REST que dão suporte a convenções OData para parâmetros de consulta. No entanto, a sintaxe varia entre essas duas APIs.
Use o Graph Explorer para testar esses padrões de solicitação em seus próprios dados e saber mais sobre as diferenças de solicitação e resposta antes de atualizar seu código.
Solicitações básicas
A tabela a seguir destaca as principais diferenças de solicitação entre as duas APIs:
| Solicitar detalhes | Azure AD Graph. | Microsoft Graph |
|---|---|---|
| Sintaxe da solicitação | https://graph.windows.net/{tenant_id}/{resource}?{version}&query-parameters |
https://graph.microsoft.com/{version}/{resource}?query-parameters |
| Pontos de extremidade de serviço: | ||
| - Globais | https://graph.windows.net |
https://graph.microsoft.com |
| - US Gov L4 | https://graph.microsoftazure.us |
https://graph.microsoft.us |
| - US Gov L5 (DOD) | https://graph.microsoftazure.us |
https://dod-graph.microsoft.us |
| - Alemanha (aposentado) | https://graph.cloudapi.de |
https://graph.microsoft.de |
| - China (21Vianet) | https://graph.chinacloudapi.cn |
https://microsoftgraph.chinacloudapi.cn |
| {tenant_id} | Especifique a ID do locatário ou o nome de domínio na solicitação. | Opcional. A ID do locatário é inferida do token de acesso. Se você especificar a ID do locatário, use esta sintaxe: https://graph.microsoft.com/{version}/{tenant_id}/{resource}?query-parameters. |
| {versão} | Especifique a versão de lançamento do Azure AD Graph na solicitação usando um parâmetro de consulta necessário. | Especifique a versão de lançamento do Microsoft Graph na solicitação como parte do caminho da URL logo após o ponto de extremidade de serviço. |
A sintaxe do parâmetro de consulta é a mesma para o Microsoft Graph e o Azure AD Graph. No entanto, o Microsoft Graph dá suporte a mais parâmetros e recursos de consulta do que o Azure AD Graph.
Exemplo de comparação de solicitação
Suponha que você queira uma lista de todos os usuários com nomes que começam com "Dan" no locatário da Contoso. A tabela a seguir mostra as diferenças de solicitação entre o Azure AD Graph e o Microsoft Graph.
| Azure AD Graph. | Microsoft Graph |
|---|---|
GET https://graph.windows.net/contoso.com/users?$filter=startswith(givenName,'Dan')&api-version=1.6 |
GET https://graph.microsoft.com/v1.0/users?$filter=startswith(givenName,'Dan') |
Identificadores de chave primária: objectId vs id
No Azure AD Graph, todos os tipos de recursos de entidade têm um identificador exclusivo (ou chave primária) chamado objectId. Para a maioria das entidades (salvo indicação em contrário), esse identificador é chamado de id no Microsoft Graph.
Além da chave primária, algumas entidades dão suporte a um identificador de chave alternativo. Por exemplo, os recursos application e servicePrincipal no Microsoft Graph dão suporte a um identificador de chave alternativo para sua propriedade appId .
Propriedades padrão e $select
É uma prática recomendada solicitar apenas as propriedades de que seu aplicativo realmente precisa. Use o $select parâmetro query, em solicitações GET, para personalizar a resposta a fim de incluir apenas as propriedades que seu aplicativo exige.
Em alguns casos no Microsoft Graph, por exemplo, as operações GET ou LIST para recursos de usuário e grupo , apenas um subconjunto de todas as propriedades é retornado. Essas propriedades padrão representam as propriedades mais comumente usadas para os recursos. Por outro lado, o gráfico do Azure AD retorna o conjunto completo de todas as propriedades do respectivo recurso. Onde o recurso retorna apenas as propriedades padrão, seu aplicativo precisa solicitar explicitamente outras propriedades usando o $select parâmetro query.
Para ilustrar a diferença, use o Graph Explorer para executar as solicitações a seguir e comparar as diferentes respostas.
GET https://graph.microsoft.com/v1.0/me/
GET https://graph.microsoft.com/beta/me/
Observe a diferença nas respostas. A /beta versão retorna mais propriedades do que a /v1.0 versão. Se o aplicativo depender da propriedade streetAddress , por exemplo, você precisará atualizar suas v1.0 solicitações para usar o $select parâmetro de consulta para solicitar a propriedade streetAddress, além de outras propriedades de que o aplicativo precisa. Por exemplo:
https://graph.microsoft.com/v1.0/me?$select=displayName,streetAddress,city,state,postalCode
Para saber mais sobre:
- Propriedades padrão em recursos de usuário e grupo, confira usuários e grupos
- O
$selectparâmetro e outros parâmetros de consulta OData com suporte, consulte Usar parâmetros de consulta para personalizar respostas. - Outras otimizações recomendadas, consulte Práticas recomendadas.
Relações e propriedades de navegação
Relações (ou propriedades de navegação) são um conceito-chave no Azure AD Graph e no Microsoft Graph, criando uma rede de recursos relacionados. Por exemplo, as propriedades manager e directReports estendem o recurso de usuário para fornecer hierarquia organizacional.
As relações também definem associações como os grupos aos quais um usuário pertence, os membros pertencentes a um grupo ou a uma função de diretório e assim por diante.
As solicitações do Azure AD Graph são usadas $links para indicar relações entre recursos. O Microsoft Graph usa a notação OData v4.01 $ref em vez disso.
A tabela a seguir mostra vários exemplos:
| Tarefa | Azure AD Graph. | Microsoft Graph |
|---|---|---|
| Adicionar membro | POST /groups/{id}/$links/members |
POST /groups/{id}/members/$ref |
| Listar links de membros | GET /groups/{id}/$links/members |
GET /groups/{id}/members/$ref |
| Listar membros | GET /groups/{id}/members |
GET /groups/{id}/members |
| Remover membro | DELETE /groups/{id}/$links/members/{id} |
DELETE /groups/{id}/members/{id}/$ref |
Ao migrar seus aplicativos para o Microsoft Graph, atualize as referências que usam $links para associar recursos a serem usados $ref .