IRONSOFTWAREHOME
ACTUALIZACIONES PARA DESARROLLADORES

MS Graph .NET (Cómo Funciona para Desarrolladores)

Jacob Mellor, Director de Tecnología @ Team Iron
Jacob Mellor
Updated: 21 de abril de 2026

MS Graph .NET sirve como una herramienta de acceso a datos para interacciones con la API de Microsoft Graph, una pieza central del ecosistema de Azure Active Directory (Azure AD). Microsoft Graph es una puerta de enlace a datos e inteligencia en Microsoft 365. Permite a los desarrolladores acceder, gestionar y analizar datos a través de varios servicios de Microsoft. La biblioteca cliente de Microsoft Graph simplifica este proceso al proporcionar un conjunto de métodos para interactuar fácilmente con la API.

IronPDF es una biblioteca para generar documentos PDF en aplicaciones .NET. Convierte HTML a PDF, lo que lo hace útil para crear informes, facturas y documentación automáticamente. IronPDF funciona bien con aplicaciones .NET, ofreciendo un enfoque sencillo a la generación de PDFs.

Combinar MS Graph .NET e IronPDF permite a los desarrolladores crear aplicaciones que puedan manipular datos de Microsoft 365 y producir documentos PDF. Esta combinación es potente para desarrollar aplicaciones empresariales que requieren datos de los servicios de Microsoft y necesitan presentar esos datos en un formato de documento estandarizado.

Cómo empezar con MS Graph .NET

Configuración de MS Graph .NET en proyectos .NET

Para utilizar MS Graph .NET de manera efectiva, especialmente al trabajar con IDs de usuario en proyectos .NET Core, configurar tu proyecto .NET es el primer paso. Aquí están los pasos:

  1. Abre el Administrador de Paquetes NuGet.
  2. Busca Microsoft.Graph.
  3. Instala el paquete Microsoft.Graph.

MS Graph .NET (Cómo funciona para desarrolladores): Figura 1

Este proceso agrega MS Graph .NET a tu proyecto. Ahora, estás listo para empezar a codificar con él.

Un ejemplo de código básico

Supongamos que quieres recuperar la información del perfil del usuario actual. Aquí hay un ejemplo de código simple:

// Required namespaces
using Azure.Identity;
using Microsoft.Graph;

// Defining necessary credentials and scope
var clientId = "Your_Application_Id";
var tenantId = "Your_Tenant_Id";
var clientSecret = "Your_Client_Secret";
var scopes = new[] { "User.Read" };

// Configuring TokenCredentialOptions for Azure Public Cloud
var options = new TokenCredentialOptions
{
    AuthorityHost = AzureAuthorityHosts.AzurePublicCloud
};

// Authenticating using client credentials
var clientSecretCredential = new ClientSecretCredential(
    tenantId, clientId, clientSecret, options);

// Creating a new instance of GraphServiceClient
var graphClient = new GraphServiceClient(clientSecretCredential, scopes);

// Fetching current user's profile information
var user = await graphClient.Me
    .Request()
    .GetAsync();

// Printing user's display name
Console.WriteLine($"Hello, {user.DisplayName}!");

Este fragmento de código demuestra cómo crear una nueva instancia de GraphServiceClient, utilizando un secreto de cliente para la autenticación de Azure AD. Utiliza las credenciales del cliente para autenticarse. Luego, recupera el nombre para mostrar del usuario actual. Después de esto, asegúrate de que MS Graph .NET, junto con tus configuraciones de proveedor de autenticación, se agregue a tu proyecto.

Características de MS Graph .NET

Recuperar correos electrónicos de usuarios

Para recuperar correos electrónicos del buzón de la cuenta de Microsoft de un usuario, utiliza el permiso Mail.Read. Cómo listar los correos más recientes:

// Retrieving the top 10 messages from the user's mailbox
var messages = await graphClient.Me.Messages
    .Request()
    .Top(10)
    .GetAsync();

// Iterating through the messages and printing their subjects
foreach (var message in messages)
{
    Console.WriteLine($"Subject: {message.Subject}");
}

Este código lista los sujetos de los 10 correos más recientes en la bandeja de entrada del usuario.

Enviar un correo electrónico

Enviar un correo electrónico implica crear un objeto Message y enviarlo:

// Creating a message to be sent
var message = new Message
{
    Subject = "Hello from MS Graph .NET",
    Body = new ItemBody
    {
        ContentType = BodyType.Text,
        Content = "Hello, this is a test email."
    },
    ToRecipients = new List<Recipient>()
    {
        new Recipient
        {
            EmailAddress = new EmailAddress
            {
                Address = "recipient@example.com"
            }
        }
    }
};

// Sending the email
await graphClient.Me.SendMail(message, null)
    .Request()
    .PostAsync();

Esto envía un correo electrónico con un cuerpo de texto simple.

Gestión de eventos del calendario

Para agregar un evento al calendario del usuario:

// Creating a calendar event
var @event = new Event
{
    Subject = "Team Meeting",
    Body = new ItemBody
    {
        ContentType = BodyType.Html,
        Content = "Discuss project updates."
    },
    Start = new DateTimeTimeZone
    {
        DateTime = "2024-04-15T12:00:00",
        TimeZone = "Pacific Standard Time"
    },
    End = new DateTimeTimeZone
    {
        DateTime = "2024-04-15T14:00:00",
        TimeZone = "Pacific Standard Time"
    },
    Location = new Location
    {
        DisplayName = "Conference Room 1"
    }
};

// Adding the event to the user's calendar
await graphClient.Me.Events
    .Request()
    .AddAsync(@event);

Este código agenda un nuevo evento en el calendario.

Acceso a archivos de OneDrive

Para listar los archivos desde la raíz del OneDrive del usuario:

// Retrieving files from the root OneDrive folder
var files = await graphClient.Me.Drive.Root.Children
    .Request()
    .GetAsync();

// Printing each file's name
foreach (var file in files)
{
    Console.WriteLine(file.Name);
}

Este código imprime los nombres de los archivos en el directorio raíz de OneDrive.

Trabajo en equipo

Para recuperar la lista de equipos a los que el usuario pertenece:

// Retrieving teams that the user is part of
var teams = await graphClient.Me.JoinedTeams
    .Request()
    .GetAsync();

// Printing each team's display name
foreach (var team in teams)
{
    Console.WriteLine($"Team name: {team.DisplayName}");
}

Esto lista los nombres de los Teams de los que el usuario forma parte.

Cada una de estas características demuestra el poder y versatilidad de MS Graph .NET. Muestran cómo puedes integrar los servicios de Microsoft 365 en tus aplicaciones.

Integración de MS Graph .NET con IronPDF

MS Graph .NET (Cómo funciona para desarrolladores): Figura 2

Si estás buscando trabajar con PDFs en tus aplicaciones .NET, la Biblioteca IronPDF para Desarrolladores .NET es una excelente opción. Es una biblioteca que da a tus aplicaciones la capacidad de leer, crear y manipular archivos PDF sin necesidad de otras herramientas o software externos de PDF.

Caso de uso: Fusión de IronPDF con MS Graph .NET

Imagina que estás construyendo una aplicación que necesita obtener documentos de Microsoft 365, por ejemplo, informes o facturas, y convertirlos en PDFs. MS Graph .NET te permite interactuar con recursos de Microsoft 365, incluidos archivos almacenados en OneDrive o SharePoint. IronPDF puede entonces ser utilizado para tomar estos documentos y convertirlos en PDFs. Esta combinación es especialmente útil para la generación automática de informes o el archivado de correos electrónicos y adjuntos en un formato PDF para fácil distribución.

Ejemplo de código: De MS Graph a PDF

Vamos a recorrer un ejemplo simple. Vamos a obtener un documento de OneDrive usando MS Graph .NET y luego convertir ese documento a un PDF usando IronPDF. Asumiré que ya has configurado tu autenticación con MSGraph; de no ser así, hay mucha documentación en el sitio de Microsoft para que empieces.

// Simplified example, ensure to handle exceptions and errors appropriately.
using Microsoft.Graph;
using IronPdf;
using System.IO;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // Setting up the GraphServiceClient with a DelegateAuthenticationProvider
        var graphClient = new GraphServiceClient(
            new DelegateAuthenticationProvider(
                async (requestMessage) =>
                {
                    // Insert code to acquire token
                    string accessToken = await GetAccessTokenAsync();
                    requestMessage.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", accessToken);
                }));

        // Replace 'itemId' with the ID of your document in OneDrive
        var stream = await graphClient.Me.Drive.Items["itemId"].Content.Request().GetAsync();

        // IronPDF setup to convert the fetched file to PDF
        var renderer = new HtmlToPdf();
        var pdfDocument = renderer.RenderHtmlAsPdf(StreamToString(stream));

        // Save the PDF to a file
        pdfDocument.SaveAs("YourDocument.pdf");
    }

    // Method to convert a Stream to a String
    static string StreamToString(Stream stream)
    {
        using (var reader = new StreamReader(stream))
        {
            return reader.ReadToEnd();
        }
    }

    // Method to obtain the access token
    static async Task<string> GetAccessTokenAsync()
    {
        // Implement your authentication logic here to return the access token
        return "your_access_token";
    }
}

Algunas cosas a tener en cuenta en este código:

  • Estamos usando MSGraph para acceder a un archivo almacenado en OneDrive. Necesitarás el ID del elemento, que puedes obtener a través de la API de Graph.
  • Convertimos el flujo de archivos a una cadena para este ejemplo. Esto funciona bien para documentos HTML. Si estás tratando con archivos binarios (como documentos de Word), querrás utilizar un método diferente para convertir estos archivos a PDFs.
  • El método RenderHtmlAsPdf de IronPDF se utiliza aquí para crear un PDF a partir de una cadena HTML. Si tu documento de origen no es HTML, IronPDF ofrece métodos para trabajar con otros formatos también.

Recuerda que este es un ejemplo simplificado. En una aplicación del mundo real, necesitarás manejar la autenticación de manera más robusta, gestionar errores, y potencialmente lidiar con diferentes formatos de archivo de manera más elegante. Pero esto debería darte un buen punto de partida para integrar MSGraph e IronPDF en tus proyectos .NET.

Conclusión

Para los desarrolladores que buscan integrar las capacidades de Microsoft 365 en sus aplicaciones C#, el SDK de MS Graph .NET es una herramienta esencial. Comience explorando la Información sobre licencias y precios del SDK de MS Graph .NET que comienza en $999.

Jacob Mellor, Director de Tecnología @ Team Iron
Director de Tecnología

Jacob Mellor es Director de Tecnología de Iron Software y un ingeniero visionario pionero en la tecnología C# PDF. Como desarrollador original de la base de código principal de Iron Software, ha dado forma a la arquitectura de productos de la empresa desde su creación, transformándola, junto con el director ejecutivo Cameron Rimington, en una empresa de más de 50 personas que presta servicios a la NASA, Tesla y organismos gubernamentales de todo el mundo.

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

OR
bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999