Python Requests调用QuickBase时dlta与ridlist参数作用说明
QuickBase报表请求中
dlta与ridlist参数说明 这两个是QuickBase经典版遗留接口的未公开参数,官方没有发布正式说明,以下是社区长期使用验证出的明确规则:
dlta参数
- 全称是Download Action Type,作用是指定接口返回的报表内容格式,不传时默认返回前端渲染用的HTML页面片段,无法直接解析为结构化表格数据。
- 你看到的
xs%xx属于URL转义/代码抄写错误,该参数的常用合法取值如下:xsxl:返回.xlsx格式的Excel报表文件,你遇到的xs%xx基本都是这个值的转义残片csv:返回纯文本CSV格式的报表数据,是Python脚本拉取结构化数据最常用的取值xml:返回XML结构化格式的报表数据tsv:返回制表符分隔的TSV格式报表数据
ridlist参数
- 全称是Record ID List,作用是绕过报表默认的筛选、分页、排序规则,直接指定要拉取的记录ID集合,优先级高于报表本身的所有配置。
- 传值规则:
- 多个记录ID之间用英文句号
.分隔,比如要拉取记录ID为11、23、45的三条数据,传值为ridlist=11.23.45 - 传
ridlist=0时,接口会按照报表本身的配置,返回所有匹配筛选条件的记录,不会做ID过滤 - 只要传入的记录ID存在,且当前请求身份有对应记录的查看权限,接口就会直接返回对应记录,不会校验报表本身的筛选逻辑
- 多个记录ID之间用英文句号
注意:这两个参数不属于QuickBase官方公开支持的API参数,官方不承诺后续版本会保留兼容,生产环境长期使用建议优先对接官方公开的REST API,避免接口静默变更导致数据拉取失败。
Python Requests调用示例
import requests # 替换为你自己的域名、表ID、报表ID、用户Token QB_DOMAIN = "https://your-tenant.quickbase.com" TABLE_ID = "xxxxxxxxx" REPORT_ID = 1 USER_TOKEN = "your_quickbase_user_token" req_params = { "a": "q", # 固定请求动作,代表查询报表 "qid": REPORT_ID, "dlta": "csv", # 指定返回CSV格式 "ridlist": "0" # 返回报表全量匹配数据 } req_headers = { "Authorization": f"QB-USER-TOKEN {USER_TOKEN}" } response = requests.get( url=f"{QB_DOMAIN}/db/{TABLE_ID}", params=req_params, headers=req_headers ) response.raise_for_status() # 此处response.text即为CSV格式的表格数据,可直接用csv/pandas库解析 csv_data = response.text
内容的提问来源于stack exchange,提问作者Abdulrahman Hocaoglu
相关产品推荐
相关产品推荐

