TypeError:“列表”对象不可调用;语法错误

问题描述 投票:0回答:1

我收到类型错误:“列表”对象在我正在构建的脚本中不可调用。

TypeError

鉴于这是对 url 的 get 请求,从 URL 打印结果的正确语法是什么?

我正在尝试从 api 检索导出列表 https://developers.encoura.org/


session_token = "X"
headers = {"x-API-key":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
            "Authorization":"X",
            "Organization":"X",}

#URL = https://api-datalab.encoura.org/v1
data = {
    "userName": "xxxxx",
    "password": "xxxxx",
    "acceptedTerms": True
    }

#Get list of files
get_exports = {"status": "NotDelivered", "productKey": "score-reporter"}

r = requests.get("https://api-datalab.encoura.org/v1/datacenter/exports", auth= [headers], params= `[get_exports])
python python-requests
1个回答
0
投票

您遇到了一些问题。您需要修复您的身份验证设置,并更正您的

get
调用中关键字参数的使用。

修复您的身份验证

查看您问题中包含的 Swagger 文档,看起来有一个

login
路线,您需要
post
才能使用 API 进行身份验证。如果成功,您将获得一个会话令牌,证明您已登录。使用它,您可以创建登录所需的标头。

data = {
    "userName": "xxxxx",
    "password": "xxxxx",
    "acceptedTerms": True
}

login_res = requests.post("https://api-datalab.encoura.org/v1/login", body=data)

# Note: case matters!
headers = {
    "Authorization": f"Bearer {login_res.sessionToken}",
    "x-api-key":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "Organization":"X"
}

修复你的语法

您将

kwargs
作为列表传递,但它们应该是字典 根据请求文档。

# ...
requests.get(url, headers=headers, params=get_exports)
© www.soinside.com 2019 - 2024. All rights reserved.