Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola Expertos,
Estamos creando un conector de Power BI para extraer datos de uno de nuestros sistemas que exponen datos a través de rest API. Con la esperanza de que usted puede guiarme en la dirección correcta con el siguiente problema
Estructura de API de la siguiente manera:
baseURI: https://api.myapp.com/api/rest/
Punto final de la API para la lista de documentos: https://api.myapp.com/api/rest/documents/ > (devuelve una lista de docID)
Punto final de la API para los usuarios de documentos: https://api.myapp.com/api/rest/documents/docID/users
Después de obtener la respuesta de List API, estoy intentando agregar una nueva columna invocando una función personalizada que acepte docID como parámetro y, a continuación, invoque la API de usuarios de documentos.
Aparece el siguiente error: Expression.Error: El acceso al recurso está prohibido.
Intentó cambiar los niveles de privacidad en la configuración de la fuente de datos, pero no suerte!
Funciona bien cuando intento codificar cualquier docID en lugar de pasar como un parámetro. Por favor, encuentre mi código a continuación y solicite ayuda. ¡Gracias!
Consulta1:
Dejar
DefaultRequestHeaders ( DefaultRequestHeaders) [
"Aceptar" - "application/json", // nombre de columna y valores solamente
"Autorización" á "****",
"client_id" á "****",
"client_secret" á "****",
],
fuente de la fuente web.https://api.myapp.com/api/rest/", [ RelativePath á "documentos", encabezados , DefaultRequestHeaders ]),
json - Json.Document(source),
docList á json[docList],
"Convertido a la tabla" - Table.FromList(docList, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
"Columna expandida1" - Table.ExpandRecordColumn('Converted to Table", 'Column1', '"id"', ''id"'),'
"Función personalizada invocada" - Table.AddColumn(-"Columna expandida1", "Query2", cada Query2([id]))
En
"Función personalizada invocada"
Consulta 2:
Dejar
GetUsers (docId como texto) como tabla >
Dejar
DefaultRequestHeaders ( DefaultRequestHeaders) [
"Aceptar" - "application/json", // nombre de columna y valores solamente
"Autorización" á "****",
"client_id" á "****",
"client_secret" á "****",
],
fuente: Web.Contents("https://api.myapp.com/api/rest/", [ RelativePath á "documents/"&docId&"/users", Headers ? DefaultRequestHeaders ]),
json - Json.Document(source),
"Convertido en tabla" - Record.ToTable(json),
"Columna con pivote" - Table.Pivot('Convertido en tabla", List.Distinct(''Convertido en tabla''[Nombre]), "Nombre", "Valor")
En
"Columna pivotada"
En
GetUsers
@ppraveenk , consulte estas soluciones anteriores si estas pueden ayudar a
https://community.powerbi.com/t5/Desktop/Access-to-the-resource-is-forbidden/m-p/1093338
https://community.powerbi.com/t5/Desktop/Access-to-the-resource-is-forbidden/m-p/366485
Hola @amitchandak gracias por su respuesta.
Intenté borrar las credenciales de la configuración del origen de datos y no funcionó.
Cree que el problema no está con las credenciales, ya que puedo invocar Query2 solo proporcionando un docID. Frente al problema solo cuando invoco Query2 como función personalizada con cada registro de respuesta Query1.
Puesto que estoy usando La ruta relativa en Web.Contents(), no estoy seguro de si este problema tiene algo que ver con los niveles de privacidad. Probado será todas las opciones de nivel de privacidad disponibles, pero en vano.
Clueless a lo que me estoy perdiendo aquí y sería muy útil si algunos me guían.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |