Introdução ao Microsoft Graph

Implementar segurança do Azure para desenvolvedores

Anushika Agarwal

Cloud Data Engineer

O que é o Microsoft Graph?

  • API unificada para acessar dados do Microsoft 365

  • Um endpoint para todos os serviços

Microsoft Graph - One endpoint for all services

Implementar segurança do Azure para desenvolvedores

Exemplo: PeopleSphere com Microsoft Graph

  • A PeopleSphere usa:

    • Outlook para pedidos de licença
    • Teams para reuniões de RH
    • OneDrive para holerites
  • O Graph conecta tudo

Como a PeopleSphere usa o Microsoft Graph

Implementar segurança do Azure para desenvolvedores

Anatomia de uma chamada da Graph API

API unificada: Um endpoint para acessar recursos dos serviços Microsoft Cloud Solicitação Microsoft Graph API

Implementar segurança do Azure para desenvolvedores

Decompondo a solicitação

  • Componentes da solicitação:

    • Método: GET, POST, PATCH, etc.

    • Versão: v1.0, beta

    • Recurso: users, groups, etc.

    • Parâmetros de consulta: $select, $filter

    • Cabeçalhos: Authorization, Content-Type

Solicitação Microsoft Graph API

Implementar segurança do Azure para desenvolvedores

Métodos

  • Métodos suportados:

    • GET: Obter dados

    • POST: Criar dados

    • PUT: Substituir totalmente

    • PATCH: Atualizar existentes

    • DELETE: Remover dados

Implementar segurança do Azure para desenvolvedores

Versionamento: v1.0

  • https://graph.microsoft.com/v1.0/groups

  • APIs estáveis

  • Geralmente disponíveis
  • Usadas em apps de produção

Versioning - v1.0

Implementar segurança do Azure para desenvolvedores

Versionamento: beta

beta

  • https://graph.microsoft.com/beta/groups
  • Recursos de prévia, experimentais
  • Instável, pode quebrar
  • Somente testes, não produção

`

Versioning - Beta

Implementar segurança do Azure para desenvolvedores

Recurso

  • Os dados específicos com que você interage.

  • Exemplo:

    • Users: acessar informações de usuários
      • /users, /me
    • Groups: trabalhar com grupos
      • /groups
    • Events: obter eventos de calendário
      • /users/{userId}/events

Users

Groups

Events

Implementar segurança do Azure para desenvolvedores

Parâmetros de consulta

  • Opções para filtrar, ordenar ou selecionar dados específicos

  • Select:

    • Escolher campos específicos
    • $select=id,displayName
  • Filter:

    • Filtrar dados
    • $filter=startswith(displayName, 'John')
  • Top:

    • Limitar a quantidade de resultados
    • $top=5

Query Parameters - Select

  Query Parameters - Filter

  Query Parameters - Top

Implementar segurança do Azure para desenvolvedores

Cabeçalhos

Carregam metadados em requisições e respostas HTTP

Dois tipos de cabeçalhos: padrão e específicos da API

Headers

  • Padrão: Comum a todas as requisições
    • Authorization: Bearer {access_token}
    • Content-Type: application/json
  • Específico da API: Varia por API
    • Retry-After: 30
    • Location: https://graph.microsoft.com/operationStatus
Implementar segurança do Azure para desenvolvedores

Vamos praticar!

Implementar segurança do Azure para desenvolvedores

Preparing Video For Download...