更新:
最新版本 v9.1 具有实现此功能的直接功能 - RetrieveTotalRecordCount
——————————————————————————————</p>
不幸的是,我们必须选择其中一条路径来根据限制内的预期结果来识别记录数。
1.如果小于5000,使用这个:(你已经尝试过这个)
GET [Organization URI]/api/data/v9.0/accounts/?$count=true
2.少于50,000,使用这个:
GET [Organization URI]/api/data/v8.2/accounts?fetchXml=[URI-encoded FetchXML query]
超出限制会报错:AggregateQueryRecordLimit exceeded. Cannot perform this operation.
示例查询:
<fetch version="1.0" mapping="logical" aggregate="true">
<entity name="account">
<attribute name="accountid" aggregate="count" alias="count" />
</entity>
</fetch>
使用 URI 进行浏览器地址栏测试:
[Organization URI]/api/data/v8.2/accounts?fetchXml=%3Cfetch%20version=%221.0%22%20mapping=%22logical%22%20aggregate=%22true%22%3E%3Centity%20name=%22account%22%3E%3Cattribute%20name=%22accountid%22%20aggregate=%22count%22%20alias=%22count%22%20/%3E%3C/entity%3E%3C/fetch%3E
解决此问题的唯一方法是根据某些属性对数据集进行分区,以便获得较小的记录子集以单独聚合。
阅读更多
3.最后的手段是用代码变量遍历@odata.nextLink
并统计每一页中的记录(查询下一页的代码示例)