Quero obter os dados de um usuário específico via API. Basicamente, quero saber quantas respostas o usuário deu desde que entrou no fórum. Usei o seguinte código (basicamente, busquei todas as user_actions onde action_type=5 e depois imprimi o número de tais registros). A saída final não correspondeu ao que vejo na interface web. Alguém pode explicar por que isso pode estar acontecendo?
import requests, time
defaultHost = #seu_default_host
# Headers para autenticação
headers = {
'Api-Key': #SUA_API_KEY,
'Api-Username':#SEU_API_USERNAME
}
# incrementa o offset em 30 a cada vez. O loop deve parar quando o número de elementos na resposta for menor que 30
offset = 0
data_dict ={"user_actions":[]}
username = #nome_de_usuário_para_o_qual_queremos_buscar_os_dados
# filter=5 # Para o \"user_replied_to_a_topic\"
while True:
time.sleep(0.2)
endpoint = f'https://{defaultHost}/user_actions.json?username={username}&offset={offset}&filter=5'
# Faz a requisição
response = requests.get(endpoint,
headers=headers)
# Verifica a resposta
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'Erro: {response.status_code}')
break
print(len(data_dict["user_actions"]))