General API Limitations

DEX455 - Reports API、Sites、Support Classes 与 Territory Management

📄 第 320 页 🎬 视频课程

课程章节介绍

大家好,今天我们一起来看看在使用Salesforce的报表API时,有哪些限制需要特别留意。这些限制会直接影响到你抓取数据、生成报告的方式,所以理解了它们,平时开发才会更顺手。 首先,当你需要过滤数据的时候,有三种过滤方式是不能用的:交叉过滤器、标准报告过滤器,还有按行限制的过滤器。交叉过滤器呢,通常是用来跨对象筛选的,比如“找出所有没有活动的客户”这类条件;标准报告过滤器就是你在界面上拖拽的那种日期、金额的简单筛选;按行限制过滤器则像是“只显示前10行”这种。在高阶API场景下它们会被暂时关掉。 接下来是关于历史跟踪报告。想知道字段值是什么时候被谁改过的吗?那就会用到历史跟踪报告。但这里有两个限制:第一,它只支持矩阵格式的报告,汇总表和普通表格都不行;第二,历史跟踪报告不能用订阅功能,也就是没法定时自动推送到邮箱里。 再来看字段数量上限。如果你用API把一个报告里的列展示出来,那这个报告最多只能选100个字段作为列。超过100个的话,API就处理不了了,这一点在创建复杂报告时要提前规划好。 说到报告列表,API一次最多只返回200条你最近查看过的报告。如果你是做“最近使用”的菜单,记住上限就是200。 在运行报告获取数据行的时候,API默认最多返回前2000行。数据量大的时候,你不能直接把几万行一次性全拉下来。不过别担心,你可以利用过滤器缩小范围,每次只取自己真正要的那一部分,然后分批处理。 还有,在跑报告的时候,你自己额外添加的自定义字段过滤器,最多只能加20个。比如说你临时想按“客户等级”和“地区”组合筛选,那加起来别超过20个。 简单总结一下:从过滤限制,到历史和字段数,再到列表和数据行的容量,这些边界条件都是为了保证系统稳定、响应迅速。你写代码调用API的时候,只要心里装着这三个“最多”——字段100、列表200、数据行2000,再加一个20个过滤器限制,就能少踩很多坑。 好了,这一页的限制我们就说到这儿,下次课咱们再继续聊如何在实际代码里规避这些问题。

关键词

Apex Salesforce Developer Guide