如何使用 SquareConnect V1 java SDK 对付款列表进行分页?
How to paginate Payment list using SquareConnect V1 java SDK?
SquareConnect V1 文档表明使用 Link
支持分页,如下所示,响应 header。
Link:<https://connect.squareup.com/v1/LOCATION_ID/payments?batch_token=BATCH_TOKEN>;rel='next'
如何使用 JavaSDK 在给定的日期范围内(比如 6 个月)列出某个地点的所有付款? listPayments
方法不提供可以访问分页的 return 值。
List<V1Payment> result = apiInstance.listPayments(locationId, order, beginTime, endTime, limit);
分页的唯一方法是分割日期范围吗?如果是这样,根据切片大小,
- 如果时间片太大,可能会错过交易,因为
limit
是 200
- 或者如果时间片太小,则达到请求率阈值。
感谢任何帮助。
如果您有基于时间的段(例如过去六个月的所有交易),您应该在请求中使用时间段,然后对所有响应进行分页。
您 运行 遇到的问题是,基于 header 的分页标记未在 v1 端点的 SDK 中公开,(您也无法轻松覆盖 url 及其结果)。您可以:
- 使用不使用基于 header/link 的分页的 v2 事务端点
- 像您提到的那样(及其相关挑战)对日期范围进行切片和迭代
- 不使用 SDK,直接使用您的 java 代码调用 v1 端点
- 使用 SDK 的一些底层方法(例如
InvokeAPI
,这将混合使用 SDK 和直接调用端点。
SquareConnect V1 文档表明使用 Link
支持分页,如下所示,响应 header。
Link:<https://connect.squareup.com/v1/LOCATION_ID/payments?batch_token=BATCH_TOKEN>;rel='next'
如何使用 JavaSDK 在给定的日期范围内(比如 6 个月)列出某个地点的所有付款? listPayments
方法不提供可以访问分页的 return 值。
List<V1Payment> result = apiInstance.listPayments(locationId, order, beginTime, endTime, limit);
分页的唯一方法是分割日期范围吗?如果是这样,根据切片大小,
- 如果时间片太大,可能会错过交易,因为
limit
是 200- 或者如果时间片太小,则达到请求率阈值。
感谢任何帮助。
如果您有基于时间的段(例如过去六个月的所有交易),您应该在请求中使用时间段,然后对所有响应进行分页。
您 运行 遇到的问题是,基于 header 的分页标记未在 v1 端点的 SDK 中公开,(您也无法轻松覆盖 url 及其结果)。您可以:
- 使用不使用基于 header/link 的分页的 v2 事务端点
- 像您提到的那样(及其相关挑战)对日期范围进行切片和迭代
- 不使用 SDK,直接使用您的 java 代码调用 v1 端点
- 使用 SDK 的一些底层方法(例如
InvokeAPI
,这将混合使用 SDK 和直接调用端点。