Microsoft Graph

O Microsoft Graph é uma API unificada da Microsoft que permite acessar diversos serviços e dados dentro do ecossistema Microsoft 365, incluindo Azure Active Directory (Azure AD), Outlook, OneDrive, Teams, SharePoint, Intune e muito mais.

Ele fornece um modelo de permissão baseado em OAuth 2.0 e retorna respostas no formato JSON, tornando a integração mais fácil para desenvolvedores que desejam interagir com os serviços Microsoft.


🔹 Principais Recursos do Microsoft Graph

Microsoft Graph permite:
✔️ Gerenciar usuários e grupos no Azure AD
✔️ Acessar e-mails, calendários e contatos do Outlook
✔️ Trabalhar com arquivos e compartilhamento no OneDrive e SharePoint
✔️ Interagir com chats e reuniões no Microsoft Teams
✔️ Monitorar e gerenciar dispositivos corporativos via Intune
✔️ Acessar relatórios e insights do Microsoft 365

🔹 Autenticação no Microsoft Graph

Para acessar a API, você precisa se autenticar com OAuth 2.0 e obter um token de acesso do Azure AD.

Passos para Autenticação

1️⃣ Registrar um Azure AD App no portal do Azure
2️⃣ Configurar permissões no Microsoft Graph
3️⃣ Obter um token de acesso via OAuth 2.0
4️⃣ Fazer chamadas à API usando o token

Exemplo de requisição para obter um token de acesso (usando cURL):

curl -X POST https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "client_id={client_id}" \
     -d "client_secret={client_secret}" \
     -d "scope=https://graph.microsoft.com/.default" \
     -d "grant_type=client_credentials"

🔹 Exemplos de Uso da API Microsoft Graph

1️⃣ Listar Usuários do Azure AD

GET https://graph.microsoft.com/v1.0/users
Authorization: Bearer {access_token}

🔹 Resposta (JSON):

{
  "value": [
    {
      "id": "1234-5678-910",
      "displayName": "Fabio Silva",
      "userPrincipalName": "fabio.silva@empresa.com",
      "mail": "fabio.silva@empresa.com"
    }
  ]
}

2️⃣ Obter Informações de um Usuário Específico

GET https://graph.microsoft.com/v1.0/users/{user_id}
Authorization: Bearer {access_token}

🔹 Resposta:

{
  "id": "1234-5678-910",
  "displayName": "Fabio Silva",
  "jobTitle": "Engenheiro de Redes",
  "mail": "fabio.silva@empresa.com"
}

3️⃣ Criar um Novo Grupo no Azure AD

POST https://graph.microsoft.com/v1.0/groups
Authorization: Bearer {access_token}
Content-Type: application/json

🔹 Corpo da requisição:

{
  "displayName": "Equipe TI",
  "mailNickname": "equipeTI",
  "mailEnabled": true,
  "securityEnabled": false,
  "groupTypes": ["Unified"]
}

🔹 Resposta:

{
  "id": "8765-4321-0000",
  "displayName": "Equipe TI",
  "mail": "equipeTI@empresa.com"
}

4️⃣ Obter E-mails de um Usuário do Outlook

GET https://graph.microsoft.com/v1.0/me/messages
Authorization: Bearer {access_token}

🔹 Resposta:

{
  "value": [
    {
      "subject": "Reunião agendada",
      "bodyPreview": "Confirmando nossa reunião amanhã às 10h...",
      "from": { "emailAddress": { "address": "colega@empresa.com" } }
    }
  ]
}

5️⃣ Enviar um E-mail pelo Outlook

POST https://graph.microsoft.com/v1.0/me/sendMail
Authorization: Bearer {access_token}
Content-Type: application/json

🔹 Corpo da requisição:

{
  "message": {
    "subject": "Atualização do projeto",
    "body": {
      "contentType": "Text",
      "content": "Olá equipe, segue atualização do projeto..."
    },
    "toRecipients": [
      {
        "emailAddress": { "address": "destinatario@empresa.com" }
      }
    ]
  }
}

6️⃣ Criar um Evento no Calendário

POST https://graph.microsoft.com/v1.0/me/events
Authorization: Bearer {access_token}
Content-Type: application/json

🔹 Corpo da requisição:

{
  "subject": "Reunião de equipe",
  "start": { "dateTime": "2025-03-10T14:00:00", "timeZone": "UTC" },
  "end": { "dateTime": "2025-03-10T15:00:00", "timeZone": "UTC" },
  "attendees": [
    { "emailAddress": { "address": "colega@empresa.com" } }
  ]
}

🔹 Versões da API

O Microsoft Graph possui duas versões principais:

  • v1.0 → Versão estável para produção
  • beta → Contém funcionalidades experimentais (sujeitas a mudanças)

Exemplo de requisição na versão beta:

GET https://graph.microsoft.com/beta/me

🔹 Ferramentas para Explorar o Microsoft Graph

Graph Explorer – Interface online para testar requisições
SDKs do Microsoft Graph – Disponíveis para .NET, JavaScript, Python, Java, PowerShell
Documentação Oficialhttps://learn.microsoft.com/en-us/graph/


🔹 Conclusão

O Microsoft Graph é uma API poderosa para integrar aplicações com a plataforma Microsoft 365. Ele simplifica o acesso a dados do Azure AD, e-mails, arquivos, calendários, Microsoft Teams e muito mais.

💡 Com ele, você pode automatizar processos, gerenciar usuários e grupos, enviar e-mails e até criar bots para o Teams! 🚀

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *