Salesforce REST API查询 - URL限制

时间:2018-02-17 11:03:46

标签: java rest get salesforce soql

我目前正在使用 Salesforce REST API 通过GET请求中的查询参数传递查询来从Salesforce获取记录。但是,当url查询参数字符数大于16000时,此特定实现会返回错误。有没有办法让它接受网址中大约1,00,000个字符?

1 个答案:

答案 0 :(得分:0)

不幸的是,看起来你只是达到了Salesforce强加的限制:

  

SOSL搜索查询字符串

     

SearchQuery字符串的最大长度

     

如果SearchQuery字符串超过10,000个字符,则不返回任何结果行。如果SearchQuery超过4,000个字符,则会删除任何逻辑运算符。例如,AND字符为4,001个字符的语句中的SearchQuery运算符将默认为OR运算符,这可能会返回比预期更多的结果。

     

来源: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调用,请按该级别的数据并返回该数据的较小子集。如果您担心一次收回太多数据,那应该不是问题。听起来他们限制了每次请求发回的金额,并在每次回复结束时将URL发送到下一页结果。