You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Thinkific Admin API获取用户数据遇默认限制,求助获取全量数据

解决Thinkific Admin API获取全量用户数据的问题

Thinkific Admin API默认采用分页机制,不管是否显式设置limit参数,单页最多返回25条数据。要获取所有用户数据,你需要通过分页遍历所有页面来实现——API响应里会返回总页数信息,我们可以基于这个循环请求每一页的数据。

修改后的代码示例

import requests
import json
import pandas as pd

pd.set_option('display.max_columns', None)

# 替换为你的实际API密钥和子域名
API_KEY = "你的API密钥"
SUBDOMAIN = "你的子域名"
BASE_URL = "https://api.thinkific.com/api/public/v1/users"

headers = {
    "X-Auth-API-Key": API_KEY,
    "X-Auth-Subdomain": SUBDOMAIN,
    "Content-Type": "application/json"
}

all_users = []
current_page = 1

# 先获取第一页,拿到总页数
response = requests.get(f"{BASE_URL}?page={current_page}", headers=headers)
response.raise_for_status()  # 请求失败时直接抛出异常
parse_json = json.loads(response.text)
all_users.extend(parse_json['data'])
total_pages = parse_json['meta']['total_pages']

# 循环获取剩余页面的数据
while current_page < total_pages:
    current_page += 1
    response = requests.get(f"{BASE_URL}?page={current_page}", headers=headers)
    response.raise_for_status()
    parse_json = json.loads(response.text)
    all_users.extend(parse_json['data'])

# 转换为DataFrame方便查看和处理
df = pd.DataFrame(all_users)
print(df)

关键说明

  • 分页控制:通过page参数指定当前请求的页码,起始值为1
  • 总页数获取:API响应的meta字段包含total_pages,这是循环的终止条件
  • 数据合并:用列表extend方法将每一页的用户数据追加到总列表,最后统一处理
  • 异常检查:response.raise_for_status()可以在请求出错时快速定位问题

内容的提问来源于stack exchange,提问作者LuizGustavoDias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 10:50:23