Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

¿El conector "OData feed" admite la autenticación "Web API"?

El modo de API web del conector OData siempre dice "Una clave de API web solo se puede especificar cuando se proporciona un nombre de clave de API web". ¿Está esto roto? ¿O hay alguna manera de hacer que haga algo?

david_piepgrass_0-1638117466856.png

Hackeé un poco de código en nuestro servidor para averiguar qué encabezados son enviados por PowerBI; parece que el modo "Api web" ni siquiera envía una solicitud. Dado que nuestra autenticación normal de Azure Active Directory no es compatible, parece realista que el único modo que podemos usar es Básico (aunque sé que también podríamos usar un conector personalizado); Para referencia futura, los encabezados que recibo de PowerBI en modo Básico son:

Headers on /odata/entities?$top=1000:
Accept = application/json;odata.metadata=minimal;q=1.0,application/json;odata=minimalmetadata;q=0.9,application/atomsvc+xml;q=0.8,application/atom+xml;q=0.8,application/xml;q=0.7,text/plain;q=0.7
Accept-Encoding = gzip, deflate
Authorization = Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Host = localhost:5001
User-Agent = Microsoft.Data.Mashup (https://go.microsoft.com/fwlink/?LinkID=304225)
MaxDataServiceVersion = 3.0
OData-MaxVersion = 4.0

donde el nombre de usuario y la contraseña están codificados en base64 después de "Autorización = Básico".

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@david_piepgrass ,

Puede pasar ApiKeyName en OData.feed() use Power Query. Para obtener más información, consulte:


autenticarse con Excel Power Query en la API web de .Net Odata
Estrategias de API con Power BI

¿Respondí a su pregunta? ¡Marca mi post como solución!


Saludos

Lucien

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

@david_piepgrass ,

Puede pasar ApiKeyName en OData.feed() use Power Query. Para obtener más información, consulte:


autenticarse con Excel Power Query en la API web de .Net Odata
Estrategias de API con Power BI

¿Respondí a su pregunta? ¡Marca mi post como solución!


Saludos

Lucien

Entonces, jugueteando, la respuesta parece ser que tEl conector "OData feed" no admite la autenticación "Web API", pero hay una solución alternativa:

  1. En lugar de obtener datos | Fuente OData, haga clic en Obtener datos | Consulta en blanco
  2. En la línea de consulta (junto a "fx") escriba una consulta del formulario '= OData.Feed("https://your_domain/odata", null, [ApiKeyName = "YourCustomKeyName"])' y pulse Intro para ejecutarla
  3. Debería aparecer una pequeña barra amarilla que diga "Especifique cómo conectarse" con un botón "Editar credenciales". Haga clic en el botón. Ahora la opción "API web" funcionará (Nota: Power BI almacena en caché las credenciales y no volverá a solicitar credenciales si ha iniciado sesión correctamente anteriormente)
  4. En lugar de un árbol de navegación, obtienes una tabla con tres columnas. La primera columna es "Nombre" y tiene una lista de nombres de tabla OData. La segunda columna es "Datos" y cada celda dice "Tabla". Para cada tabla que desee utilizar, haga clic con el botón derecho en la palabra "Tabla" y elija "Agregar como nueva consulta" en el menú. Esto creará una nueva consulta a la lista de la izquierda. A diferencia de las fuentes OData normales, las tablas creadas de esta manera tendrán un sufijo "_table".
  5. Cierre la ventana. Elija "Sí" cuando se le pida que "aplique sus cambios". Sus tablas deben aparecer en la lista Campos a la derecha, como de costumbre.

¡Pero espera! ¿Qué hace realmente la opción "Web API"? Aparentemente, todo lo que hace es agregar un par clave-valor a la URL (¿dos veces?). Esta es la dirección URL y los encabezados relativos que mi aplicación recibió de Power BI cuando establecí la "Clave" en "YourWebApiKey":

Encabezados en /odata/entities?$top=1000&YourCustomKeyName=YourWebApiKey&YourCustomKeyName=YourWebApiKey:

Aceptar = application/json;odata.metadata=minimal;q=1.0,application/json;odata=minimalmetadata;q=0.9,application/atomsvc+xml;q=0.8,application/atom+xml;q=0.8,application/xml;q=0.7,text/plain;q=0.7
Accept-Encoding = gzip, desinflar
Host = localhost:5001
User-Agent = Microsoft.Data.Mashup (https://go.microsoft.com/fwlink/?LinkID=304225)
MaxDataServiceVersion = 3.0
OData-MaxVersion = 4.0

Lucien, el dominio del segundo enlace (angryanalyticsblog.azurewebsites.net) es actualmente inaccesible.

Helpful resources

Announcements
PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.