surfersamu
Estoy tratando de extraer datos de la API REST. En este momento, tengo algunas dificultades para autenticarme.
Todo lo que tengo es:
Enlace:
https://service4.ultipro.com/services/EmployeePerson
Encabezados de autorización:
«Autorización: Básica c29tZXVzZXI6c29tZXBhc3dvcmQ = «
«US-Customer-Api-Key: ABCDE»
Recibo este error cuando hago clic en Aceptar:
Detalles: «El encabezado ‘Autorización’ solo se admite cuando se conecta de forma anónima. Estos encabezados se pueden usar con todos los tipos de autenticación: Aceptar, Aceptar-Juego de caracteres, Aceptar-Codificar, Aceptar-Idioma, Cache-Control, Si-Modificado-Desde, Preferir , Referer «
v-qiuyu-msft
En respuesta a surfersamu
Hola @surfersamu,
Probé en Power BI Desktop usando la información de conexión que proporcionó, no hay errores. Después de completar la información de conexión como la imagen que proporcionó y hacer clic en el botón Aceptar, utilice la autenticación anónima, ya que ya proporcionó la clave de autorización.
Puede descargar el archivo pbix adjunto para echar un vistazo. Por cierto, aquí hay algunos ejemplos de llamadas a API para obtener datos en Power BI:
Llamar a las API REST y analizar JSON simplificado con Power BI
Obtenga datos de la API de Twitter con Power Query
Atentamente,
Qiuyun Yu
ZappySys
ZappySys ha introducido potentes controladores de API para consultar prácticamente cualquier servicio de API JSON / XML en Power BI (por ejemplo, Zendesk, Twitter, API de Google, Amazon AWS)
Consulte este blog para obtener más información: https://zappysys.com/blog/howto-import-json-rest-api-power-bi/
Básicamente, llamar a la API REST en Power BI puede ser un proceso desafiante porque debe lidiar con muchos problemas complejos. Si es JSON / XML simple, entonces está bien, pero en el mundo real, surgen muchos otros problemas, como la paginación, aplanar la jerarquía, manejo de errores, seguridad (OAuth, Básico, Certificado).
¡¡Espero que esto ayude!!
Paso 1: cree su ODBC DSN para llamar a la API REST o leer datos JSON / XML
Paso 2: Cree / pruebe su consulta de API REST
Paso 3: Importe datos de la API REST en Power BI mediante la conexión ODBC (en Obtener datos >> Más >> Otro)
Puede escribir consultas como a continuación (Ejemplo de controlador JSON)
SELECT * FROM $ WITH( src="https://service4.ultipro.com/services/EmployeePerson" ,Header="Authorization: Basic c29tZXVzZXI6c29tZXBhc3dvcmQ= || US-Customer-Api-Key: ABCDE" ,RequestMethod='GET' )
malagari
No creo que esto sea un problema de Power BI; lo más probable es que los detalles devueltos provengan de la API de ultipro.com. Puede intentar conectarse con una herramienta como Postman para verificar que el problema está en la información de la API. Si puede conectarse a través de Postman, entonces es algo aislado de Power BI.
surfersamu
En respuesta a malagari
Tienes razón. Probé cartero y no conseguí nada. He iniciado un ticket de soporte con ellos.
Suponiendo que la API no me estuviera dando un error. ¿Es esa la forma correcta de realizar una solicitud HTTP GET? Lo siento, soy nuevo en las API REST.
surfersamu
Hola tios,
Estoy tratando de obtener datos de la API REST de UtliPro. El problema al que me enfrento es que no sé cómo autenticarme con encabezados http.
Esto es lo que tengo:
Enlace
https://service4.ultipro.com/services/EmployeePerson
Encabezados HTTP
Autorización: Básico FAKECREDSFUlZJQ0U6RzBUUzNhczBuMjAxNyE =
US-Customer-Api-Key: ABCDE
Cuando intento esto en el cuadro de diálogo Obtener datos de la web, obtengo:
«El encabezado ‘Autorización’ solo se admite cuando se conecta de forma anónima. Estos encabezados se pueden utilizar con todos los tipos de autenticación: Aceptar, Aceptar-Juego de caracteres, Aceptar-Codificar, Aceptar-Idioma, Caché-Control, Si-Modificado-Desde, Preferir, Referer «
Este es un ejemplo proporcionado por UltiPro usando XML:
v-qiuyu-msft
En respuesta a surfersamu
Hola @surfersamu,
Probé en Power BI Desktop usando la información de conexión que proporcionó, no hay errores. Después de completar la información de conexión como la imagen que proporcionó y hacer clic en el botón Aceptar, utilice la autenticación anónima, ya que ya proporcionó la clave de autorización.
Puede descargar el archivo pbix adjunto para echar un vistazo. Por cierto, aquí hay algunos ejemplos de llamadas a API para obtener datos en Power BI:
Llamar a las API REST y analizar JSON simplificado con Power BI
Obtenga datos de la API de Twitter con Power Query
Atentamente,
Qiuyun Yu
surfersamu
En respuesta a v-qiuyu-msft
El soporte de UltiPro tarda mucho en responder.
Ok, encontré la razón por la que no funciona. Porque UltiPro requiere que obtenga un token para realizar una solicitud SOAP. Ahora tengo una ficha.
Usando el editor avanzado, ¿cómo puedo arreglar este código?
Sigo recibiendo:
DataSource.Error: Web.Contents no pudo obtener el contenido de ‘https://service4.ultipro.com/services/EmployeePerson’ (415): Tipo de medio no admitido
let
Source = Xml.Tables(Web.Contents("https://service4.ultipro.com/services/EmployeePerson"
,[Content=Text.ToBinary("<s:Envelope xmlns:a="&Character.FromNumber(34)&"http://www.w3.org/2005/08/addressing"&Character.FromNumber(34)&" xmlns:s="&Character.FromNumber(34)&"http://www.w3.org/2003/05/soap-envelope"&Character.FromNumber(34)&">
<s:Header>
<a:Action s:mustUnderstand="&Character.FromNumber(34)&"1"&Character.FromNumber(34)&">http://www.ultipro.com/services/employeeperson/IEmployeePerson/FindPeople</a:Action>
<UltiProToken xmlns="&Character.FromNumber(34)&"http://www.ultimatesoftware.com/foundation/authentication/ultiprotoken"&Character.FromNumber(34)&">6ddeadsfdsfdsfsdfdsfdsfds6</UltiProToken>
<ClientAccessKey xmlns="&Character.FromNumber(34)&"http://www.ultimatesoftware.com/foundation/authentication/clientaccesskey"&Character.FromNumber(34)&">ABCD</ClientAccessKey>
</s:Header>
<s:Body>
<FindPeople xmlns="&Character.FromNumber(34)&"http://www.ultipro.com/services/employeeperson"&Character.FromNumber(34)&">
<query xmlns:b="&Character.FromNumber(34)&"http://www.ultipro.com/contracts"&Character.FromNumber(34)&" xmlns:i="&Character.FromNumber(34)&"http://www.w3.org/2001/XMLSchema-instance"&Character.FromNumber(34)&">
<b:CompanyCode />
<b:CompanyName />
<b:Country />
<b:EmployeeNumber />
<b:FirstName>like (a%)</b:FirstName>
<b:FormerName />
<b:FullOrPartTime />
<b:Job />
<b:LastHire />
<b:LastName />
<b:Location />
<b:OrganizationLevel1 />
<b:OrganizationLevel2 />
<b:OrganizationLevel3 />
<b:OrganizationLevel4 />
<b:OriginalHire />
<b:PageNumber />
<b:PageSize />
<b:PayGroup />
<b:Status />
<b:SupervisorLastName />
<b:TerminationDate />
<b:TimeClockId />
</query>
</FindPeople>
</s:Body>
</s:Envelope>"),Headers=[#"Accept-Encoding"="gzip,deflate", #"Accept"="Basic U0VfdasdasfdasMjAxNyE=", #"Content-Type"="text/xml;charset=UTF-8"]]
))
in
Source
v-qiuyu-msft
En respuesta a surfersamu
Hola @surfersamu,
Parece que tu problema original está resuelto, ¿verdad?
Con respecto al segundo problema, si no está familiarizado con Power Query, utilice las funciones disponibles en la interfaz de usuario del Editor de consultas para transformar los datos. Como este es otro problema, publique en un nuevo hilo y comparta el archivo pbix si es posible.
Atentamente,
Qiuyun Yu