msgraph-sdk
Ajuda seu agente a acessar dados do Microsoft 365. Ele pode se conectar a usuários, e-mails, calendários e arquivos.
O que ela faz
Esta ferramenta ajuda desenvolvedores a conectar seus programas aos dados do Microsoft 365, como e-mails, calendários e arquivos. Ela facilita a autenticação e a chamada de funções da Microsoft.
Quando usar
- ✓Ao criar um programa que precisa ler e-mails de uma conta.
- ✓Ao desenvolver um aplicativo que agenda reuniões no calendário.
- ✓Ao construir um sistema que gerencia arquivos no OneDrive ou SharePoint.
Exemplo do que pedir para a IA
“Como faço para conectar meu aplicativo Python aos dados do usuário no Microsoft 365?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O programa usa um 'SDK', que é um conjunto de ferramentas pré-construídas, para falar com os serviços da Microsoft. Ele gerencia a segurança (quem pode acessar o quê) e as chamadas para obter ou modificar os dados.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add github/awesome-copilot --skill msgraph-sdkOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/msgraph-sdk/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
SDK do Microsoft Graph
Use esta habilidade ao integrar o Microsoft Graph em um aplicativo para acessar dados e serviços do Microsoft 365.
Sempre baseie a implementação na documentação atual do SDK do Microsoft Graph e na versão do SDK para a linguagem de destino, em vez de confiar apenas na memória.
Determine o idioma de destino primeiro
- Use o fluxo de trabalho .NET quando o projeto contiver arquivos
.cs,.csprojou.sln, ou quando o usuário solicitar orientação em C#. Siga references/dotnet.md. - Use o fluxo de trabalho TypeScript / JavaScript quando o projeto contiver arquivos
package.json,.tsou.js, ou quando o usuário solicitar orientação em Node.js / navegador. Siga references/typescript.md. - Use o fluxo de trabalho Python quando o projeto contiver
.py,pyproject.tomlourequirements.txt, ou quando o usuário solicitar orientação em Python. Siga references/python.md. - Se vários idiomas estiverem presentes, combine o idioma dos arquivos que estão sendo editados ou pergunte ao usuário.
Consulte sempre a documentação ao vivo
- Visão geral do Microsoft Graph: https://learn.microsoft.com/graph/overview
- Graph Explorer (experimente chamadas ao vivo): https://developer.microsoft.com/graph/graph-explorer
- Referência de permissões do Graph: https://learn.microsoft.com/graph/permissions-reference
- Use as ferramentas do MCP do Microsoft Docs quando disponíveis para buscar formas de API atuais e exemplos de SDK.
Autenticação — escolha o padrão correto
Selecionar o fluxo de autenticação errado é o erro mais comum na integração do Graph. Aplique esta árvore de decisão antes de escrever qualquer código de autenticação:
| Cenário | Fluxo a usar |
|---|---|
| Serviço em segundo plano / daemon sem usuário | Credenciais do cliente (somente aplicativo) |
| Agente ou API agindo em nome de um usuário conectado | On-Behalf-Of (OBO) |
| Aplicativo em execução no Azure (Function, Container App, VM) | Identidade Gerenciada (preferível a segredos) |
| Ferramenta CLI ou script de desenvolvimento local | Código do dispositivo ou navegador interativo |
| Aplicativo de página única (somente navegador) | Código de autorização + PKCE |
- Nunca use credenciais de cliente quando um contexto de usuário for necessário — o Graph impõe isso no nível da permissão (aplicativo vs. delegado).
- Prefira
DefaultAzureCredentialem aplicativos hospedados no Azure; ele tenta a identidade gerenciada primeiro e volta graciosamente para o desenvolvimento local. - Nunca codifique segredos. Use variáveis de ambiente, Azure Key Vault ou o Gerenciador de Segredos.
Padrões de uso do SDK principal
Construindo o cliente
Sempre construa GraphServiceClient uma vez e reutilize-o (ele gerencia o cache de tokens internamente).
Passe uma credencial da biblioteca Azure Identity — nunca construa clientes HTTP brutos manualmente.
Fazendo chamadas
- Use a API de construtor fluente:
client.Users[userId].Messages.GetAsync(...). - Sempre
awaitchamadas assíncronas. - Especifique
$selectpara limitar os campos retornados — o Graph retorna cargas úteis padrão grandes. - Use
$filterno lado do servidor em vez de filtrar coleções retornadas na memória. - Use
$expandpara buscar recursos relacionados em uma única chamada quando os relacionamentos forem pequenos.
Paginação
O Graph pagina coleções. Nunca assuma que todos os itens chegam em uma única resposta:
- Verifique se há um
@odata.nextLinkna resposta. - Use o auxiliar
PageIteratordo SDK (disponível em todos os três SDKs) para percorrer as páginas automaticamente. - Defina
$toppara controlar o tamanho da página (o máximo varia por recurso, geralmente 999).
Padrões avançados
Requisições em lote
Combine até 20 chamadas independentes do Graph em uma única requisição HTTP usando o endpoint $batch. Use o lote quando:
- Inicializando dados para um painel ou agente que precisa de vários recursos antecipadamente.
- Reduzindo a latência em operações de alta contagem de chamadas.
As respostas em lote chegam fora de ordem — combine-as pelo campo id que você atribuiu a cada requisição.
Consultas delta
Use consultas delta para sincronizar alterações incrementalmente em vez de consultar coleções completas:
- Primeira chamada:
GET /users/deltaretorna todos os itens + um@odata.deltaLink. - Chamadas subsequentes: use o
deltaLinkpara receber apenas o que mudou desde a última sincronização. - Suportado em: usuários, grupos, mensagens, eventos de calendário, canais do Teams e mais.
- Armazene o
deltaLinkde forma durável (banco de dados, blob) entre as execuções de sincronização.
Notificações de alteração (webhooks)
Assine alterações de recursos com POST /subscriptions:
- O Graph entrega eventos de alteração para sua URL de notificação HTTPS.
- As assinaturas expiram — renove-as antes de
expirationDateTime(o máximo varia por recurso; geralmente de 1 a 3 dias para e-mail/calendário, até 4230 minutos para usuários/grupos).
…
Perguntas frequentes
O que é Microsoft Graph?
É a porta de entrada para acessar dados e serviços do Microsoft 365, como usuários, e-mails, calendários e arquivos.
O que é um SDK?
É um kit de desenvolvimento de software, um conjunto de ferramentas que facilita a criação de programas que interagem com um serviço específico, neste caso, o Microsoft Graph.
Por que preciso me preocupar com autenticação?
A autenticação garante que apenas usuários ou aplicativos autorizados possam acessar os dados, protegendo informações sensíveis.
Detalhes
Descrição original do autor
Integrate Microsoft Graph SDK into any project — .NET, TypeScript/JavaScript, or Python. Covers auth patterns (client credentials, OBO, managed identity), SDK setup, calling Graph APIs, batching, delta queries, change notifications, throttling, and permission scopes. Use when accessing Microsoft 365 data (users, mail, calendar, Teams, files, SharePoint) from any application type.
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5241
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC