bash - CURL 的 GET 请求忽略了参数
问题描述
我正在尝试使用参数调用 GET 请求。问题是响应忽略了参数。
这是卷曲:
curl -X GET https://api.helpscout.net/v2/customers \
-H 'Accept: application/json' \
-H "Authorization: Bearer xxx" \
-d 'query=(createdAt:[2019-06-01T00:00:00Z TO 2019-07-01T00:00:00Z])&status=all&page=1'
我从这个电话中得到的结果在 2019 年 6 月 1 日至 2019 年 7 月 1 日之间给我带来了“createdAt”=2019-07-22 而不是 createdAt。
如何调用 GET 请求并组合参数?
解决方案
您似乎正在混合来自不同端点的参数。您问题中的端点是“客户”端点,但是,您使用的是“对话”端点中的参数。
根据文档(https://developer.helpscout.com/mailbox-api/endpoints/customers/list/),createdAt
是一个选项sortField
,不是query
。这仅允许您使用createdAt
以升序或降序对响应进行排序。
似乎没有根据该createdAt
字段返回客户的选项。此外,“客户”没有status
,而“对话”有status
。
使用“客户”端点和参数的createdAt
查询如下所示:
sortField=createdAt&sortOrder=desc
这将按降序对响应进行排序,但不会按日期过滤它们。
一个 shell 解决方案是返回所有结果,然后使用一个库jq
来按日期过滤你的 JSON 响应。这篇文章描述了如何按日期过滤jq
:jq filter json by dates
推荐阅读
- twilio - 自动驾驶仪重定向到新任务无法正常工作
- c++ - 如何链接两个单独的 .exe 文件,以便结束一个进程同时杀死两个?
- c# - SF 中的微服务:C# 找不到类型
- css - 如何正确按比例缩小背景图像?
- sql-server - 为每个客户添加数据库用户
- kubernetes - 如何在 openstack 中为 kubernetes 集群创建负载均衡器
- python - 使用带有无头 chrome 驱动程序的 adblocker 扩展,使用 python selenium
- visual-studio-code - VSCode:在新窗口中打开选择的命令是什么(垂直拆分?)
- google-cloud-firestore - 使用结构化查询根据数组中的键获取值
- python - 向量化一个函数,以便它可以同时在多行 n 维数组上运行?