Forum Discussion
andreskoper
3 years agoNew Member
Actualizar Conjunto de Datos de BI desde Python
Hola, Tengo un codigo de Python para actualizar un conjunto de power BI.
Si utilizo el token que me brinda la plataforma Learn, al probar, el código funciona ok.
https://learn.microsoft.com/es-es/rest/api/power-bi/datasets/refresh-dataset#code-try-0
url = 'https://api.powerbi.com/v1.0/myorg/datasets/xxxxxxxxxx/refreshes'
access_token = 'eyJ0M.......mVASg'
# Headers necesarios para la solicitud
headers = {
'Authorization': 'Bearer ' + access_token,
'Content-Type': 'application/json'
}
# Verificar el código de respuesta
response2 = requests.post(url, headers=headers)
if response2.status_code == 202:
print('Informe Actualizado Correctamente')
else:
print('Se produjo un error en la Actualizacion del informe:', response2.status_code)
Sin embargo, no encuentro la manera de obtener este token desde python.
Cree una aplicación en AZURE y utilizando los datos de ella obtengo el token, pero al utilizarlo en el códico anterior, para actualizar el conjunto de datos me devuelve un 401 (no autorizado), no encuentro la manera de evitar este error.
El código para obtener el token es el siguiente:
import requests
# Definir los detalles de autenticación
tenant_id = 'xxxxx'
client_id = 'xxxxxx'
client_secret = 'yxxxxxxxx'
# Obtener el token de acceso
token_data = {
'grant_type': 'client_credentials',
'client_id': client_id,
'client_secret': client_secret,
'resource': resource
}
token_response = requests.post(token_url, data=token_data)
access_token = token_response.json()['access_token']
print (access_token)
si alguien sabe que puedo estar
1 Reply
- lbendlinSuper User
Verify the permissions/scope of your app registration. Then inspect your received token with jwt.io - make sure it includes the required scope that would allow submitting a refresh request.