无法在 Zoho People API 上使用 searchParams(HTTP 状态 400)

Cannot use searchParams on Zoho People API (HTTP Status 400)

(与 - following the official documentation at https://www.zoho.com/people/api/forms-api/search-record.html相关)

使用以下命令通过 Postman 发送 GET 请求以获取今天的休假记录时(导出为 curl)

curl --location -g \
  --request GET "https://people.zoho.eu/people/api/forms/leave/getRecords?searchParams={searchField:'To',searchOperator:'After',searchText:'02-Mar-2022'}|{searchField:'From', searchOperator: 'Before', searchText : '02-Mar-2022'}" \
  --header "Authorization: Zoho-oauthtoken 1000.abcd1234.abcd1234"

根据文档提供的信息,我只收到 HTTP Status 400 – Bad Request 错误响应。


但是,发送没有 searchParams 的相同请求,获取所有休假记录作为响应,确实有效。因此 URL 区域和 API 的授权在我的情况下是正确的。

我按照记录进行了身份验证并收到了令牌,使用我的 clientIdclientSecret 使用 ZOHOPEOPLE.forms.ALL范围。

(与 相似的答案)


文档确实在此处说明了 GET(至少在撰写本文时是这样)- 但该请求实际上使用 POST 并将 searchParams 作为 form-data 发送。

卷曲示例:

curl --location --request POST 'https://people.zoho.eu/people/api/forms/leave/getRecords' \
--header 'Authorization: Zoho-oauthtoken [...]' \
--form 'searchParams="{searchField: To, searchOperator: After, searchText: 10-Mar-2022}|{searchField: From, searchOperator: Before, searchText: 10-Mar-2022}"'

另请注意,我实际上可以省略 searchParams 中的引号,以便在减少转义的情况下提高易读性。