Quiero obtener los datos de un usuario específico a través de la API. Básicamente, quiero saber cuántas respuestas dio el usuario desde que se unió al foro. Usé el siguiente código (básicamente, obtuve todas las user_actions donde action_type=5 y luego imprimí el número de dichos registros). La salida final no coincidió con lo que veo en la interfaz web. ¿Alguien puede explicar por qué podría estar sucediendo esto?
import requests, time
defaultHost = #tu_default_host
# Encabezados para la autenticación
headers = {
'Api-Key': #TU_API_KEY,
'Api-Username':#TU_API_USERNAME
}
# incrementa el offset en 30 cada vez. El bucle debe romperse cuando el número de elementos en la respuesta sea menor que 30
offset = 0
data_dict ={"user_actions":[]}
username = #nombre_de_usuario_para_el_que_queremos_obtener_los_datos
# filter=5 # Para "el usuario respondió a un tema"
while True:
time.sleep(0.2)
endpoint = f'https://{defaultHost}/user_actions.json?username={username}&offset={offset}&filter=5'
# Realizar la solicitud
response = requests.get(endpoint,
headers=headers)
# Comprobar la respuesta
if response.status_code == 200:
data = response.json()
num_elements = len(data["user_actions"])
data_dict["user_actions"].extend(data["user_actions"])
offset+=30
if num_elements<30:
break
else:
print(f'Error: {response.status_code}')
break
print(len(data_dict["user_actions"]))