【发布时间】:2016-10-27 13:11:26
【问题描述】:
我正在尝试使用请求将多个条件传递给 Connectwise REST api。我正在尝试生成如下所示的 URL
/company/configurations/?pageSize=1000&conditions=id=83500 and type/name="Printer" and name="TEST API PRINTER"
但我似乎只能生成这个:
/company/configurations/?pageSize=1000&conditions=id&conditions=type/name&conditions=name
我的有效载荷如下所示:
parameters = {}
parameters['conditions'] = {}
parameters['pageSize'] = 1000
if db_rid:
parameters['conditions']['id'] = 83500
if type_name:
parameters['conditions']['type/name'] = "Printer"
if name:
parameters['conditions']['name'] = "TEST API PRINTER"
requests.get(APIurl, params=parameters)
我哪里出错了?
【问题讨论】:
-
那是因为原始url中“conditions”的值是一长串
id=83500 and type/name="Printer" and name="TEST API PRINTER"。这不是某种神奇的嵌套参数。您只需将conditions参数设置为等于该字符串即可。 -
使用字符串
parameters['conditions'] = 'id=83500 and ...' -
我认为可能是这种情况,我选择构建一个函数来为我构建字符串,我将在下面的答案中给出。感谢您的澄清!
标签: python rest python-3.x python-requests