Microsoft 365 REST API - Parte 1

1.Powershell Conectando con la REST API de Microsoft 365 mediante usuario y contraseña.

Introducción

Microsoft 365 es una solución de software en la nube que proporciona una amplia gama de aplicaciones y servicios para empresas de todos los tamaños. 

Uno de los componentes clave de Microsoft 365 es su API REST, que permite a los desarrolladores acceder y manipular datos en la nube de Microsoft 365. 

En este artículo, exploraremos qué es la API REST de Microsoft 365 y cómo conectarse a ella mediante PowerShell.

¿Qué es la API REST de Microsoft 365? 

La API REST de Microsoft 365 es una interfaz de programación de aplicaciones (API) que permite a los desarrolladores acceder y manipular datos almacenados en Microsoft 365. 

Utiliza el protocolo HTTPS para enviar y recibir datos, lo que significa que los desarrolladores pueden acceder a la API desde cualquier lenguaje de programación que soporte HTTPS.

La API REST de Microsoft 365 es compatible con una amplia gama de servicios y aplicaciones, incluyendo Exchange Online, SharePoint Online, OneDrive for Business, Teams y mucho más.

¿Cómo conectarse a la API REST de Microsoft 365 mediante PowerShell? 

Para conectarse a la API REST de Microsoft 365 mediante PowerShell, necesitarás una serie de herramientas y recursos. 

En primer lugar, necesitarás una cuenta de Microsoft 365 y permisos de administrador en la organización para acceder a la API REST. 

También necesitarás tener PowerShell instalado en tu máquina y la última versión del módulo de Azure AD instalado en PowerShell.

Para instalar este módulo deberás ejecutar:

Install-Module MSOnline

Una vez que tengas todo en su lugar, podrás conectarte a la API REST de Microsoft 365 utilizando las credenciales de administrador de tu cuenta de Microsoft 365 y el siguiente script de PowerShell:

# Configura las credenciales
$Username = "admin@XXXXXXXX.onmicrosoft.com"
$Password = 'XXXXXXXX'

#
#1. Obtener el TenantID
#

# Crea un objeto SecureString para almacenar la contraseña
$securePassword = ConvertTo-SecureString -String $password -AsPlainText -Force

# Crea un objeto PSCredential con las credenciales
$credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $username, $securePassword

#Importa el módulo AzureAD
Import-Module AzureAD

# Conéctate a Azure AD usando tus credenciales
Connect-AzureAD -Credential $Credential

# Obtiene la información del tenant (directorio)
$tenantInfo = Get-AzureADTenantDetail

# Muestra el Tenant ID
$tenantId = $tenantInfo.ObjectId

#2. Conectar a Microsoft Graph

#Install-Module -Name MSAL.PS
# Importa el módulo MSAL.PS
Import-Module MSAL.PS

# Solicita un token de acceso utilizando el flujo Resource Owner Password Credentials (ROPC)
$requestBody = @{
    resource   = 'https://graph.microsoft.com'
    client_id  = 'd1ddf0e4-d672-4dae-b554-9d5bdfd93547'
    grant_type = "password"
    username   = $Username
    scope      = "openid"
    password   = $Password
}

$auth = Invoke-RestMethod -Method post -Uri "https://login.microsoftonline.com/$tenantId/oauth2/token" -Body $requestBody

# Almacena el token de acceso en una variable
$accessToken = $auth.Access_Token

# Configura el encabezado de autorización para las solicitudes a la API de Microsoft Graph
$headers = @{
    'accept'        = 'application/json'
    'Authorization' = "Bearer $accessToken"
}

Este comando le pedirá que ingrese sus credenciales de administrador de Microsoft 365 y, una vez autenticado, se conectará a la API REST de Microsoft 365.

Verificación:

# Realiza una solicitud de prueba a la API de Microsoft Graph (obtener información del usuario actual)
$graphUrl = "https://graph.microsoft.com/v1.0/me"
$response = Invoke-RestMethod -Uri $graphUrl -Headers $headers -Method Get

# Muestra la información del usuario actual
$response

Resultado:

@odata.context    : https://graph.microsoft.com/v1.0/$metadata#users/$entity
businessPhones    : {425-555-0100}
displayName       : MOD Administrator
givenName         : MOD
jobTitle          :
mail              : admin@XXXXXX.OnMicrosoft.com
mobilePhone       : 425-555-0101
officeLocation    :
preferredLanguage : es-ES
surname           : Administrator
userPrincipalName : admin@XXXXXX.onmicrosoft.com
id                : cf69ce7a-4c68-xxxxxxxxxxx

Conclusión:

En resumen, la API REST de Microsoft 365 es una herramienta poderosa que permite a los desarrolladores acceder y manipular datos almacenados en la nube de Microsoft 365. 

Con PowerShell, puedes conectarte fácilmente a la API REST y comenzar a trabajar con datos de Microsoft 365. 

En el próximo artículo, exploraremos cómo puedes utilizar la API REST de Microsoft 365 para realizar tareas específicas.

El autor de este post es: Pol Padrisa

 

No hay comentarios:

Publicar un comentario