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

调用Encoura API遇TypeError: 'list' object is not callable,求正确语法

解决TypeError: 'list' object is not callable 并正确调用Encoura API获取导出文件列表

错误原因

你犯了两个关键参数传递错误:

  • requests.get的auth参数用于HTTP基础认证(接收元组如(username, password)),但你把headers包装成列表传给了它,完全不符合参数要求。
  • params参数需要直接传入字典类型的查询参数,你却用列表包裹了get_exports字典,导致内部处理时触发类型错误。
    另外,你的请求头已经包含了Authorization、x-API-key等认证信息,不需要再通过auth参数传递。

修正后的完整代码

import requests

# 配置认证头
headers = {
    "x-API-key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "Authorization": "X",
    "Organization": "X"
}

# 定义查询参数
get_exports_params = {
    "status": "NotDelivered",
    "productKey": "score-reporter"
}

# 发起GET请求
try:
    response = requests.get(
        "https://api-datalab.encoura.org/v1/datacenter/exports",
        headers=headers,
        params=get_exports_params
    )
    # 自动捕获HTTP错误(如401、404等)
    response.raise_for_status()
except requests.exceptions.RequestException as e:
    print(f"请求出错: {e}")
else:
    # 打印请求结果的几种方式
    print("响应状态码:", response.status_code)
    # 优先尝试解析JSON格式结果
    try:
        result_json = response.json()
        print("响应JSON结果:")
        print(result_json)
    except ValueError:
        # 非JSON格式则打印原始文本
        print("响应文本结果:")
        print(response.text)

关键说明

  • headers参数直接传入认证头字典,无需额外包装。
  • params参数直接传入查询参数字典,requests会自动拼接成URL查询字符串。
  • 根据API返回格式选择打印方式:如果是JSON结构用response.json()解析,否则打印原始文本response.text。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 17:08:22