首页 > 解决方案 > GET 请求忽略我在 python 请求中的参数

问题描述

我正在尝试使用一些参数向 API 端点发送 GET 请求,但端点会忽略这些参数。

我试图以多种方式定义 p ,但没有成功。我得到了结果,就好像没有参数被添加到请求中一样。

这是怎么做到的?我希望它必须以某种方式进入 URL。

API 文档说可以添加查询参数“字段”,并且它必须包含要返回的字段列表:

字段

可空字符串

默认值:“Guid、联系人姓名、日期、说明”

要包含在响应中的字段的逗号分隔列表。可能的值有:Number、Guid、ExternalReference、ContactName、ContactGuid、Date、PaymentDate、Description、Currency、Status、MailOutStatus、TotalExclVatInDkk、TotalInclVatInDkk、TotalExclVat、TotalInclVat、CreatedAt、UpdatedAt 和 DeletedAt。如果为 null,则默认为 Guid、ContactName、Date、Description。请注意,它不区分大小写,属性名称将按照您请求的方式返回。

这是我的代码

import requests
url = 'https://api.dinero.dk/v1/257403/invoices'
headers = { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + token }
p = {'fields' :"Number, Guid, ContactName, Date, Status"}
response = requests.get(url, headers=headers, params=p)
print (response.text)

标签: pythonpython-requests

解决方案


我认为这是因为你在你的p['fields']价值中包含了空格。尝试使用:

p = {'fields': "Number,Guid,ContactName,Date,Status"}

推荐阅读