Forum Discussion
Problema de API web en Power BI Desktop
Hola a todos
Tengo un problema con la consulta avanzada web de Power BI: puedo hacer que la API se autentique y obtenga datos de la mayoría de las consultas, pero la consulta a continuación requiere como SericeRequest y no sé cómo agregar esto a PowerBI: el código a continuación es de postman (en rojo está la solicitud de servicio de postman - Enumerada tanto cURL como HTTP)
Cualquier ayuda será apreciada gracias
6 Replies
- Syndicate_Admin
Administrator
Por favor, siga la documentación. Utilice el parámetro Content para cambiar la solicitud de GET a POST. https://learn.microsoft.com/en-us/powerquery-m/web-contents
- Syndicate_Admin
Administrator
Gracias Ibendlin
La consulta Web.Contents funciona (ver más abajo), el problema es cómo puedo incluir la solicitud de servicio roja (Postman) en la consulta.
<Solicitud de servicio><filtros><Criteria field="tagName" operator="EQUALS">Cloud Agent</Criteria></filtros></Solicitud de Servicio>Consulta avanzada de Power BI
dejar
Source = Xml.Tables(Web.Contents("https://qualysapi.qualys.eu" & "/msp/user_list.php", [Headers=[Authorization="xxxxxxxx", #"X-Requested-With"="PowerBI"]])),
Tabla0 = fuente{0}[Tabla],
Tabla1 = Tabla0{0}[Tabla],
#"Tipo cambiado" = Table.TransformColumnTypes(Table1,{{"USER_LOGIN", escriba texto}, {"USER_ID", Int64.Type}, {"EXTERNAL_ID", escriba texto}, {"USER_STATUS", escriba texto}, {"CREATION_DATE", escriba fechahora}, {"LAST_LOGIN_DATE", escriba texto}, {"USER_ROLE", escriba texto}, {"BUSINESS_UNIT", escriba texto}, {"UNIT_MANAGER_POC", Int64.Type}, {"MANAGER_POC", Int64.Type}, {"UI_INTERFACE_STYLE", escriba texto}}),
#"CONTACT_INFO expandido" = Table.ExpandTableColumn(#"Tipo cambiado", "CONTACT_INFO", {"NOMBRE", "APELLIDO", "TÍTULO", "TELÉFONO", "FAX", "CORREO ELECTRÓNICO", "EMPRESA", "ADDRESS1", "ADDRESS2", "CIUDAD", "PAÍS", "ESTADO", "ZIP_CODE", "TIME_ZONE_CODE"}, {"CONTACT_INFO. NOMBRE", "CONTACT_INFO. APELLIDO", "CONTACT_INFO. TÍTULO", "CONTACT_INFO. TELÉFONO", "CONTACT_INFO. FAX", "CONTACT_INFO. CORREO ELECTRÓNICO", "CONTACT_INFO. EMPRESA", "CONTACT_INFO. ADDRESS1", "CONTACT_INFO. ADDRESS2", "CONTACT_INFO. CIUDAD", "CONTACT_INFO. PAÍS", "CONTACT_INFO. ESTADO", "CONTACT_INFO.ZIP_CÓDIGO", "CONTACT_INFO. TIME_ZONE_CODE"})
en
#"CONTACT_INFO ampliado"- Syndicate_Admin
Administrator
Por favor, siga la documentación. Utilice el parámetro Contenido. https://learn.microsoft.com/en-us/powerquery-m/web-contents#example-2
- Syndicate_Admin
Administrator
Hola, @markvanwyk
Quizás pueda crear la siguiente consulta, crear una consulta en blanco en PowerQuery e ir al Editor avanzado
let url = "https://qualysapi.qualys.eu/qps/rest/2.0/search/am/hostasset", headers = [ #"Content-Type" = "text/xml", #"X-Requested-With" = "QualysPostman", #"Authorization" = "xxxxxxxxx" ], body = "<ServiceRequest> <filters> <Criteria field=\"tagName\" operator=\"EQUALS\">Cloud Agent</Criteria> </filters> </ServiceRequest>", Source = Web.Contents(url, [ Headers = headers, Content = Text.ToBinary(body) ]), Response = Xml.Tables(Source) in ResponseCómo obtener respuestas rápidas a tu pregunta
Saludos
Yongkang Hua
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
- Syndicate_Admin
Administrator
Hola
Gracias por la información: probamos la solución, pero obtuvimos el siguiente error
- Syndicate_Admin
Administrator
en lugar de \" use ""