[ Foro de Python ]

Fallo en el Código para integrar via API Holded (sistema contable) a Excel.

10-May-2023 14:53
Invitado (Maicol)
0 Respuestas

Me falla el código y no puedo encontrar o solucionar los errores, podrían ayudarme por favor.


# URL para obtener el access token
auth_url = 'https://api.holded.com/identity/token'

# URL para obtener las cuentas contables
accounts_url = 'https://api.holded.com/core/accounting/accounts'

# URL para obtener los movimientos de una cuenta contable
account_movements_url = 'https://api.holded.com/core/accounting/accounts/{}/movements'

# Tus credenciales de la API
client_id = 'API'
client_secret = 'API'

# Datos para obtener el access token
auth_data = {
   'grant_type'= 'client_credentials',
   'client_id'= client_id,
   'client_secret'= client_secret
}

# Obtenemos el access token
auth_response = requests.post(auth_url, data=auth_data)
access_token = auth_response.json()['access_token']

# Preparamos el header para las peticiones a la API
accounts_header = {'Authorization': f'Bearer {access_token}'}

# Obtenemos las cuentas contables
accounts_response = requests.get(accounts_url, headers=accounts_header)
accounts_data = accounts_response.json()['data']

# Inicializamos un dataframe para almacenar los movimientos de las cuentas contables
movements = pd.DataFrame()

# Recorremos las cuentas contables y obtenemos sus movimientos
for account in accounts_data:
   account_movements_response = requests.get(account_movements_url.format(account['id']), headers=accounts_header)
   account_movements_data = account_movements_response.json()['data']
   account_movements_df = pd.json_normalize(account_movements_data)
   account_movements_df['account_name'] = account['name']
   movements = movements.append(account_movements_df, ignore_index=True)

# Exportamos los movimientos a un archivo de Excel
movements.to_excel('movimientos_contables.xlsx', index=False)




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)