Forum Discussion
Conexión de API de Powerbi e Intune
Soy administrador de Intune y quiero crear un dashboard con Powerbi, para ello hemos registrado una app, he conseguido consultar algunos datos pero no soy capaz de consultar las correcciones.
Después de varias pruebas he llegado a construir esta consulta:
dejar
Definir las variables necesarias
tenantId="xxxxxxxxxxxx",
clientId = "xxxxxxxxxxxxxxxx",
clientSecret = "xxxxxxxxxxxx",
tokenUrl = "https://login.microsoftonline.com/" & tenantId & "/oauth2/v2.0/token",
tokenBody = "grant_type=client_credentials&client_id=" & clientId & "&client_secret=" & clientSecret & "&scope=https://graph.microsoft.com/.default",
Obtener el token de acceso
TokenResponse = Json.Document(Web.Contents(tokenUrl, [Content = Text.ToBinary(tokenBody), Headers = [#"Content-Type"="application/x-www-form-urlencoded"]])),
accessToken = TokenResponse[access_token],
Defina el punto de conexión de Microsoft Graph para obtener los scripts de corrección mediante la versión beta
graphUrl = "https://graph.microsoft.com/beta/deviceManagement/deviceManagementScripts",
Cree una función para usar el token en la solicitud
GetWithToken = (url como texto, token como texto) como registro =>
dejar
response = Web.Contents(url, [Headers=[Authorization="Bearer" & token]])
en
Json.Document(respuesta),
Llame a la función con la dirección URL y el token
Origen = GetWithToken(graphUrl, accessToken),
Convertir el JSON en una tabla
valor = Fuente[valor],
ScriptsTable = Table.FromList(value, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
Expanda los registros de la tabla para inspeccionar todos los campos
ExpandedScriptsTable = Table.ExpandRecordColumn(ScriptsTable, "Column1", {"id", "displayName", "description"}, {"ID", "Display Name", "Description"})
en
ExpandedScriptsTable
pero me da este error y no soy capaz de solucionarlo
Expression.Error: El encabezado "Authorization" solo se admite cuando se conecta de forma anónima. Estos encabezados se pueden usar con todos los tipos de autenticación: Accept, Accept-Charset, Accept-Encoding, Accept-Language, Cache-Control, Content-Type, If-Modified-Since, Prefer, Range, Referer
2 Replies
- Syndicate_Admin
Administrator
Hola @Wiatt ,
En función de la descripción, al intentar conectarse a la API de gráficos de Microsoft para obtener datos de un panel de Power BI, recibe un mensaje de error que indica que hay limitaciones en la forma en que Power Query controla determinados tipos de encabezados, especialmente cuando se usan métodos de autenticación distintos de los anónimos. Puede intentar usar funciones con opciones para eludir las limitaciones del encabezado "Autorización". Puede agregar ManualStatusHandling = {400, 401, 403, 404, 500} para que Power Query controle manualmente los códigos de estado HTTP para permitir el uso de encabezados de "autorización" incluso si la conexión no es anónima.// Get the access token TokenResponse = Json.Document(Web.Contents(tokenUrl, [ Content = Text.ToBinary(tokenBody), Headers = [#"Content-Type"="application/x-www-form-urlencoded"], ManualStatusHandling = {400, 401, 403, 404, 500} ])), accessToken = TokenResponse[access_token],// Create a function to use the token in the request GetWithToken = (url as text, token as text) as record => let response = Web.Contents(url, [ Headers=[Authorization="Bearer " & token], ManualStatusHandling = {400, 401, 403, 404, 500} ]) in Json.Document(response),También puede consultar la siguiente documentación para obtener más instrucciones sobre el uso de la API
Información general de Microsoft Graph - Microsoft Graph | Microsoft LearnSaludos
Alberto HeSi esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente
- Syndicate_Admin
Administrator
Hola @Wiatt ,
¿La respuesta anterior resolvió su problema y, de ser así, puede marcarla como una respuesta para que sea más fácil de encontrar para otros usuarios?Saludos
Alberto HeSi esta publicación ayuda, considere aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente