首先,感谢@gregdennis。我使用Manatee Trello命名空间来查询并从Trello板获取Actions。在每个请求上获取实体是有限制的(默认为50)。在在线API文档中,我读到了几个参数,例如' limit' '之前'。我如何将这些参数传递给我的代码中的方法,我的示例获取代码在这里:
Board board = new Board(boardId);
var actions = board.Actions.ToList();
答案 0 :(得分:0)
在各种集合类型上有一些扩展方法可以修改API查询以添加这些参数。
您要找的第一个是Limit(this ReadOnlyActionCollection, int)
。只需传递您想要的操作数量。有效值(根据API)为0-1000。
第二个是Filter(this ReadOnlyActionCollection, DateTime?, DateTime?)
,可让您对since
(开始)和before
(结束)进行过滤。 (API文档说lastView
是since
参数的有效选项。目前不支持。)
修改强>
请注意,这些扩展方法的工作方式与LINQ类似:它们返回查询的新实例。在枚举集合之前,查询不会执行。
修改2
要获得任何收藏,您必须先拥有Trello实体(董事会,名单,卡等)。没有定义它的对象,集合是没有意义的。例如,董事会有名单,名单有卡,卡有清单,所有这些都有行动。
所以要获得一个包含500张最近卡片操作的集合,
var card = new Card("<ID>");
var actions500 = card.Actions.Limit(500);
foreach(var action in actions500)
{
Console.WriteLine(action);
}
编辑3
好。我看到了问题。我没有在this
扩展程序中使用Limit()
关键字。我将修复此问题并发布更新的内容。
在此之前,请静态使用该方法:
Collections.Limit(card.Actions, 100);
编辑4
截至Manatee.Trello 3.0.0版,Limit
是所有集合的属性。大多数类型的默认值为50.