conectarse al servicio Power BI usando R

Un usuario Pregunto ✅

TomMartens

Hola, desde hace bastante tiempo estoy tratando de conectarme al servicio Power BI utilizando el paquete R httr. Hasta ahora sin ningún éxito.

Estoy tratando de obtener un token de acceso para su uso posterior …

Actualmente mi código R se ve así

library("httr");
library("httpuv")


powerbi.urls <- oauth_endpoint(
NULL,  
"authorize",  
"token",
base_url = "https://login.windows.net/common/oauth2")

powerbi.app <- oauth_app(
"myAppName",
key="myClientID", 
secret="myClientSecret"
)

powerbi.token <- oauth2.0_token(powerbi.urls, powerbi.app)
powerbi.token

El paquete httpuv es sólo se utiliza para proporcionar un servidor web local mediante el puerto 1410.

Utilicé esta página

https://dev.powerbi.com/apps?type=web

para crear un ID de cliente y un secreto de cliente para una aplicación web «myAppname».

Conozco la documentación sobre cómo conectarse al servicio Power BI y también conozco este sitio.

https://www.codeproject.com/tips/1042542/connecting-to-power-bi-rest-api-from-a-service-ie

Pero no puedo traducir los ejemplos de C # al parámetro adecuado para las funciones httr.

Puedo conectarme a linkedin y git usando httr, pero no al servicio Power BI

Por este motivo, cualquier ayuda es muy apreciada, incluso comentarios directos como

  • Esto nunca funcionará, debido a …
  • Estúpido, solo haz esto …

TomMartens

Ja, si piensas un poco más y luego cambias un poco tu código y funciona Smiley muy feliz

library("httr");
library("httpuv")

# 
#oauth_endpoints("azure")
powerbi.urls <- oauth_endpoint(  
"authorize",  
"token",
base_url = "https://login.windows.net/common/oauth2")

powerbi.app <- oauth_app(
"myAppName",
key="myClientID", 
secret="myClientSecret"
)

powerbi.token <- oauth2.0_token(powerbi.urls, powerbi.app,
                          user_params = list(resource = "https://analysis.windows.net/powerbi/api"),
                          use_oob = FALSE)

TomMartens

Ja, si piensas un poco más y luego cambias un poco tu código y funciona Smiley muy feliz

library("httr");
library("httpuv")

# 
#oauth_endpoints("azure")
powerbi.urls <- oauth_endpoint(  
"authorize",  
"token",
base_url = "https://login.windows.net/common/oauth2")

powerbi.app <- oauth_app(
"myAppName",
key="myClientID", 
secret="myClientSecret"
)

powerbi.token <- oauth2.0_token(powerbi.urls, powerbi.app,
                          user_params = list(resource = "https://analysis.windows.net/powerbi/api"),
                          use_oob = FALSE)

zoloturu

En respuesta a TomMartens

Hola @TomMartens,

Probé este enfoque con el mismo código R, pero recibo el siguiente error en un navegador:

Sign in
Sorry, but we’re having trouble signing you in.

AADSTS50011: The reply url specified in the request does not match the reply urls 
configured for the application: 'value for clientID'.

¿Funciona hoy de tu lado?

Saludos,

Ruslan

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *