Extraer datos de una autenticación de API REST

Un usuario Pregunto ✅

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»

ultipro.png

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 «

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.

q6.PNG

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 / XMLPaso 1: cree su ODBC DSN para llamar a la API REST o leer datos JSON / XMLPaso 2: Cree / pruebe su consulta de API RESTPaso 2: Cree / pruebe su consulta de API RESTPaso 3: Importe datos de la API REST en Power BI mediante la conexión ODBC (en Obtener datos >> Más >> Otro)» li-image-url=»https://community.powerbi.com/t5/image/serverpage/image-id/101811i48FB9C931B3B5438?v=v2″ li-image-display-id=»‘101811i48FB9C931B3B5438′» li-message-uid=»‘442248′» li-messages-message-image=»true» li-bindable=»» class=»lia-media-image» tabindex=»0″ li-bypass-lightbox-when-linked=»true» li-use-hover-links=»false»><span class=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

ultipro.png

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:

1«>http: //www.ultipro.com/services/employeeemploymentinformation/IEmployeeEmploymentInformation/GetEmpl …

http://www.ultimatesoftware.com/foundation/authentication/clientaccesskey«>CAN12

http://www.ultipro.com/contracts«xmlns: i =»http://www.w3.org/2001/XMLSchema-instance«i: type =»b: EmployeeNumberIdentifier«>

C0014

004446049

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.

q6.PNG

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

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

Deja un comentario

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