Authenticated Dataverse API

Para obtener el listado de Model Driven Apps de un entorno de Power Platform, desgraciadamente no existe un conector para ello.

Tirando de internet y la experiencia en otras necesidades, expongo el modo en obtener dicho listado de Model Driven Apps:

 

Primero que nada hay que obtener un Bearer token necesario para conectarse con la API de Dataverse:

Aquí el mayor problema es como pasar los parámetros al ser una llamada mediante: x-www-form-urlencoded; en pocas palabras has de introducir los parámetros en el body de la llamada pero la información viaja en el querystring.

 

Aquí un ejemplo de como ha de viajar la información:

 

Los parámetros son los siguientes:

  • client_id=51f81489-12ee-4a9e-aaae-a2591f45987d
  • resource=https%3A%2F%2Forg12e8XXXX.crm4.dynamics.com
  • grant_type=password
  • username=a.mut%40necsialabs.onmicrosoft.com
  • password=XXXXXX

 

El client_id es fijo, el que Microsoft nos indica para atacar a Dataverse.

La propiedad grant_type, tal cual: password

Las propiedades de username y password: pues tal como nos indica, las credenciales de un usuario que tenga permisos de system admin en el entorno a ser posible.

La url del resource hay que obtenerla de la siguiente manera:

Del entorno donde queremos obtener las Apps, hacemos clic en advanced settings y la url que nos devuelve la copiamos. Facil !!

 

Desgraciadamente hemos de usar la caja HTTP (y pasar por caja ya que es PREMIUM), o sea que tendremos que comprar-le una licencia a Microsoft para correr este flujo.

 

Finalmente hemos de montar todos los parámetros anteriores tal como se indica en esta pantalla.

Las cajas moradas contienen cada uno de los parámetros con la función de encode, por ejemplo para el parámetro resource:

encodeUriComponent('https://org12e8XXXX.crm4.dynamics.com')

 

Con esto obtenemos el token bearer que tendremos que inyectar en la cabecera de la siguiente llamada:

https://org12e8XXXX.crm4.dynamics.com/api/data/v9.2/appmodules

 

 

Finalmente ya tendremos el listado de todas las Model Driven con otra información interesante para tratar.

 

 

Add comment