Salesforce REST API 查询 - URL 限制

Salesforce REST API query - URL limit

我目前正在使用 Salesforce REST API 通过 GET 请求中的查询参数传递查询来从 Salesforce 获取记录。但是,当 url 查询参数字符数超过 16000 时,此特定实现 returns 出错。有没有办法让它在 url?

中接受大约 1,00,000 个字符

很遗憾,您似乎刚刚达到 Salesforce 施加的限制:

SOSL search query strings

Maximum length of SearchQuery string

If the SearchQuery string is longer than 10,000 characters, no result rows are returned. If SearchQuery is longer than 4,000 characters, any logical operators are removed. For example, the AND operator in a statement with a SearchQuery that’s 4,001 characters will default to the OR operator, which could return more results than expected.

Source: https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_soslsoql.htm

我完全不了解 Salesforce API,但我有两个建议(特别是如果没有其他人回答您的问题):

  1. 调查 Salesforce REST API 中基于 POST/PUT 的查询选项。我想我读了一些关于能够在 JSON 中格式化查询然后提交的内容(但我可能是错的)。 编辑:我又看了一点,但我没有立即看到任何表明有这种可能性的东西
  2. 使用不那么具体因而更小的查询。如果您从您可以控制的应用程序(例如,shell 脚本、Java 应用程序等)进行此 URL 调用,则在该级别处理数据并 return 该数据的较小子集。如果您担心一次取回太多数据,那应该不是问题。听起来他们限制了每个请求发回的数量,并在每个响应结束时发送 URL 到下一页结果。