Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
El siguiente error se produce cuando intento ejecutar un script powershell para powerbi
Error:
Invoke-RestMethod : El servidor remoto devolvió un error: (401) No autorizado.
En la línea:74 char:1
+ Invoke-RestMethod -Uri $uri –Headers $authHeader –Method POST –Verbos ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
Guión
• Este script de ejemplo llama a la API de Power BI para desencadenar progastáticamente una actualización para el conjunto de datos
A continuación, llama a la API de Power BI para obtener progammaticalmente el historial de actualización de ese conjunto de datos
Para obtener documentación completa sobre las API de REST, consulte:
• https://msdn.microsoft.com/en-us/library/mt203551.aspx
• Instrucciones:
# 1. Instalar PowerShell (https://msdn.microsoft.com/en-us/powershell/scripting/setup/installing-windows-powershell) y los cmdlets de Azure PowerShell (https://aka.ms/webpi-azps)
# 2. Configurar un conjunto de datos para la actualización en el servicio Power BI: asegúrese de que el conjunto de datos puede
• Actualizado con éxito
# 3. Rellene los parámetros a continuación
# 4. Ejecute el script de PowerShell
• Parámetros: ¡rellénalos antes de ejecutar el script!
# =====================================================
• Una manera fácil de obtener el ID de grupo y conjunto de datos es ir a la configuración del conjunto de datos y hacer clic en el conjunto de datos
Que te gustaría refrescarte. Una vez que lo haga, la URL en la barra de direcciones mostrará el ID de grupo y
• ID de conjunto de datos, en el formato:
• app.powerbi.com/groups/'groupID'/settings/datasets/'datasetID'
$groupID : "EX": el identificador del grupo que hospeda el conjunto de datos. Use "yo" si este es su Mi espacio de trabajo
$datasetID : "EX": el identificador del conjunto de datos que hospeda el conjunto de datos
• ID de cliente de AAD
Para obtener esto, vaya a la página siguiente y siga los pasos para aprovisionar una aplicación
• https://dev.powerbi.com/apps
• Para que el ejemplo funcione, asegúrese de que tiene los siguientes campos:
• Tipo de aplicación: aplicación nativa
• URL de redirección: urn:ietf:wg:oauth:2.0:oob
• Nivel de acceso: todas las API del conjunto de datos
$clientId de la $clientId "EX"
• Parámetros finales ?
• Llama a la biblioteca de autenticación de Active Directory (ADAL) para autenticarse en AAD
función GetAuthToken
{
if(-not (Get-Module AzureRm.Profile))
Import-Module AzureRm.Profile
}
$redirectUri "urn:ietf:wg:oauth:2.0:oob"
$resourceAppIdURI "https://analysis.windows.net/powerbi/api"
$authority "https://login.microsoftonline.com/common/oauth2/authorize";
$authContext - New-Object "Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext" -ArgumentList $authority
$authResult á $authContext.AcquireToken($resourceAppIdURI, $clientId, $redirectUri, "Auto")
$authResult de retorno
}
• Obtener el token de autenticación de AAD
$token - GetAuthToken
• Creación del encabezado de la API rest con token de autorización
$authHeader de la casa de los valores de la página de
'Content-Type'''application/json'
'Autorización'-$token. CreateAuthorizationHeader()
}
• Dar formato correctamente a la ruta de los grupos
$groupsPath ""
si ($groupID -eq "me")
$groupsPath "myorg"
•otra cosa?
$groupsPath : "myorg/groups/$groupID"
}
• Actualizar el conjunto de datos
$uri "https://api.powerbi.com/v1.0/$groupsPath/datasets/$datasetID/refreshes"
Invoke-RestMethod -Uri $uri –Headers $authHeader –Method POST –Verbose
• Compruebe el historial de actualización
$uri "https://api.powerbi.com/v1.0/$groupsPath/datasets/$datasetID/refreshes"
Invoke-RestMethod -Uri $uri –Headers $authHeader –Method GET –Verbose
Solved! Go to Solution.
Hola , @EUGENEG
¿Podría decirme si su problema ha sido resuelto?
Si es así, marque las respuestas útiles o agregue su respuesta como Respondida para cerrar este hilo.
Más gente aprenderá cosas nuevas aquí. Si no lo ha hecho, por favor no dude en preguntar.
Saludos
Equipo de soporte de la comunidad _ Eason
He estado usando powershell para actualizar los conjuntos de datos powerbi desde el principio de los tiempos y recientemente está recibiendo este error:
¿Esta solución sigue funcionando para el resto de ustedes?
Invoke-RestMethod -Uri $uri –Headers $authHeader –Method GET –Verbose VERBOSE: POST https://api.powerbi.com/v1.0/myorg/groups/editedtohidden/datasets/editedtohidden/refreshes con la carga de 0 bytes Invoke-RestMethod : Se cerró la conexión subyacente: se produjo un error inesperado en un envío. En line:74 char:1 + Invoke-RestMethod -Uri $uri –Headers $authHeader –Method POST –Verbos ... + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WebException + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand VERBOSE: GET https://api.powerbi.com/v1.0/myorg/groups/editedtohidden/datasets/editedtohidden/refreshes con la carga útil de 0 bytes Invoke-RestMethod : Se cerró la conexión subyacente: se produjo un error inesperado en un envío. En la línea:78 char:1 + Invoke-RestMethod -Uri $uri –Headers $authHeader –Method GET –Verbose + ? • CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
parece que olvidó especificar la carga de autenticación.
Tuve que añadir esta línea al código:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Hola , @EUGENEG
¿Podría decirme si su problema ha sido resuelto?
Si es así, marque las respuestas útiles o agregue su respuesta como Respondida para cerrar este hilo.
Más gente aprenderá cosas nuevas aquí. Si no lo ha hecho, por favor no dude en preguntar.
Saludos
Equipo de soporte de la comunidad _ Eason
Hola problema resuelto gracias
El encabezado de autenticación es incorrecto (como dice el mensaje de error). Puede validar con el probador de API en línea
por ejemplo https://docs.microsoft.com/en-us/rest/api/power-bi/datasets/refreshdatasetingroup (pulse el botón de probarlo)
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |