我想通过 API 获取特定用户的数据。基本上,我想知道该用户自加入论坛以来回复了多少次。我使用了以下代码(基本上我获取了所有 action_type=5 的 user_actions,然后打印了这些记录的数量)。最终输出与我在 WebUI 中看到的不匹配。 有人能解释一下为什么会这样吗?
import requests, time
defaultHost = #your_default_host
# 用于身份验证的标头
headers = {
'Api-Key': #YOUR_API_KEY,
'Api-Username':#YOUR_API_USERNAME
}
# 每次将偏移量增加 30。当响应中的元素数量少于 30 时,循环应中断
offset = 0
data_dict ={"user_actions":[]}
username = #username_for_which_we_want_to_fetch_the_data
# filter=5 # 用于“用户回复了主题”
while True:
time.sleep(0.2)
endpoint = f'https://{defaultHost}/user_actions.json?username={username}&offset={offset}&filter=5'
# 发起请求
response = requests.get(endpoint,
headers=headers)
# 检查响应
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"]))