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

 
Vista:

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

Publicado por Maicol (1 intervención) el 10/05/2023 14:49:42
Me falla el código y no puedo encontrar o solucionar los errores, podrían ayudarme por favor.



import requests
import pandas as pd

# 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)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder