Ruptura_Projetada/Notebook - API_refresh_PBI_dataset.py
2025-10-24 15:54:54 -03:00

50 lines
1.5 KiB
Python

#!/usr/bin/env python
# coding: utf-8
# ## Notebook - API_refresh_PBI_dataset
#
# New notebook
# In[2]:
pip install adal
# In[3]:
import adal
import requests
# Credenciais que serão utilizadas na atualização do dataset que esta no power BI
client_id = "e30706c6-bee0-4a2a-a208-420587d04d1c"
username = "nicolas.evilasio@grupoginseng.com.br"
password = "Ginseng@"
workspace_id = '8834c28f-adc5-424b-a337-3ee2ecec60c3'
dataset_id = '64e76869-2d76-4919-b471-815f7d8db031'
# Credencias de acesso do lado da microsoft
authority_url = 'https://login.windows.net/common'
resource_url = 'https://analysis.windows.net/powerbi/api'
url = r'https://api.powerbi.com/v1.0/myorg/groups/' + workspace_id + '/datasets/' + dataset_id + '/refreshes?$top=1'
# Context client, token e access_token para acessarmos o power bi da cyrela
context = adal.AuthenticationContext(authority=authority_url, validate_authority=True, api_version=None)
token = context.acquire_token_with_username_password(resource=resource_url, client_id=client_id, username=username, password=password)
access_token = token.get('accessToken')
print(access_token)
# Requisição
header = {'Authorization': f'Bearer {access_token}'}
r = requests.post(url=url, headers=header)
# Verificando o status da requisição
if r.status_code == 202:
print("Atualização iniciada com sucesso!")
else:
print(f"Erro ao iniciar a atualização: {r.status_code}")
print(f"Detalhes do erro: {r.text}") # Imprime os detalhes do erro retornado pela API