OBTENER autenticación de solicitud y token para descargar el archivo como JSON

Un usuario Pregunto ✅

vgarlap

Hola comunidad,

Tengo un conocimiento mínimo sobre las API. Recibí una solicitud de uno de los clientes para diseñar un informe. Sin embargo, dijeron que deberíamos obtener datos de JSON como fuente de datos. Simplemente me proporcionaron un enlace como se muestra en la captura de pantalla.

Dijeron que necesitamos publicar un comando GET y también proporcionaron un token para fines de autenticación. Al descargar el archivo en formato JSON, podemos obtener la opción de uso de datos de Power BI para JSON y usar datos.

Sin embargo, no puedo descargar el archivo. ¿Podría alguien sugerir cómo obtener datos del enlace y el código de token que se proporcionan a continuación?

GETData.PNG

lbendlin

En respuesta a vgarlap

Los parámetros de consulta y la información del encabezado pueden ser parte de la llamada Web.Contents. La última URL muestra los ejemplos.

https://docs.microsoft.com/en-us/powerquery-m/web-contents

https://docs.microsoft.com/en-us/power-query/web.contents

https://kohera.be/blog/power-bi/the-hidden-gems-of-the-function-web-contents/

En respuesta a vgarlap

Hola @vgarlap,

Puede intentar utilizar el siguiente código si cumple con sus requisitos:

let
	GetJson = Web.Contents(
		"https://xxxxxxxx/api", 
		[
			RelativePath="/v1.0/data/search", 
			Query=
			[
				query="xxxxxxx", 
				limit=1000
			]
		]
	),
	FormatAsJson = Json.Document(GetJson)
in
	FormatAsJson

Enlaces de referencia:

Uso de las opciones RelativePath y Query con Web.Contents () en Power Query y Power BI M Code

Obtenga datos de la API de Twitter con Power Query

Saludos,

Xiaoxin Sheng

lbendlin

en Power Query utilice el cuadro de diálogo de origen de datos «desde la Web» que se traduce en Web. ,[<parameters]). Una vez que tenga los datos sin procesar, puede abrirlos con JSON.Document (), etc.

«Necesitamos publicar un comando GET «- esto me hizo reír – gracias.

vgarlap

En respuesta a lbendlin

Hola, gracias por la ayuda. Sabía que mi pregunta te haría reír. Pero estoy captando esto por primera vez. Me las arreglé para insertar la URL y así es como se ve. let Source = Web.BrowserContents («https://addm-dc.lowes.com/») en Source ¿Podría ayudarme también a proporcionar información de token? Estoy buscando una consulta M similar al código que se muestra arriba.

En respuesta a vgarlap

Hola @vgarlap,

Puede intentar utilizar el siguiente código si cumple con sus requisitos:

let
	GetJson = Web.Contents(
		"https://xxxxxxxx/api", 
		[
			RelativePath="/v1.0/data/search", 
			Query=
			[
				query="xxxxxxx", 
				limit=1000
			]
		]
	),
	FormatAsJson = Json.Document(GetJson)
in
	FormatAsJson

Enlaces de referencia:

Uso de las opciones RelativePath y Query con Web.Contents () en Power Query y Power BI M Code

Obtenga datos de la API de Twitter con Power Query

Saludos,

Xiaoxin Sheng

vgarlap

En respuesta a v-shex-msft

Hola ,

Esto es lo que estoy buscando. Esto funcionó para mí. Muchas gracias y perdón por la demora en la respuesta.

Hay un límite de 1000 registros. Pero tenemos alrededor de 2300 registros. Entonces, ¿cómo necesitamos ejecutar la siguiente declaración para obtener los registros restantes? Intenté algo pero no funciona. Me podría ayudar ? A continuación se muestra la consulta M que estoy usando para obtener todos los registros y no solo 1000 registros.

dejar

Fuente = Json.Document (Web.Contents («URL», [Headers=[Accept=»applicationjson», Authorization=»Bearer myToken»]])),
# «ExplodeTable» = Table.FromList (Fuente, Splitter.SplitByNothing (), nulo, nulo, ExtraValues.Error),
# «ExpandResults» = Table.ExpandRecordColumn (# «ExplodeTable»[results], «Columna1», {«Nombre», «Tipo de software»}, {«Nombre», «Tipo de software»}),
# «GatherNext» = Table.AddColumn (# «ExplodeTable», «NextValue», cada uno si # «ExplodeTable».[Next] <> null luego Json.Document (Web.Contents (# «ExplodeTable»[Next], [Headers=[Accept=»application/json», Authorization=»Bearer Mytoken»]]) más nulo)
en
# «GatherNext»

Gracias,

Venkatesh

lbendlin

En respuesta a vgarlap

Tu problema no es el [next] declaración pero la declaración de la fuente. Utilice una función recursiva para recopilar todos los encabezados o, si conoce el tamaño de la lista, haga tres llamadas, con compensación 0, 1000 y 2000, y combine los resultados.

lbendlin

En respuesta a vgarlap

Los parámetros de consulta y la información del encabezado pueden ser parte de la llamada Web.Contents. La última URL muestra los ejemplos.

https://docs.microsoft.com/en-us/powerquery-m/web-contents

https://docs.microsoft.com/en-us/power-query/web.contents

https://kohera.be/blog/power-bi/the-hidden-gems-of-the-function-web-contents/

Deja un comentario

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