首先,感谢@gregdennis。我使用Manatee Trello名称空间查询并从Trello板上获取动作。在每个请求上获取实体是有限制的(默认情况下为50)。在在线API文档中,我阅读了几个参数,例如"限制"one_answers"之前"。我如何将这些参数传递给代码中的方法,我的示例获取代码在这里:
Board board = new Board(boardId);
var actions = board.Actions.ToList();
各种集合类型上有一些扩展方法,可以修改API查询以添加这些参数。
您正在寻找的第一个是Limit(this ReadOnlyActionCollection, int)
。只需传递您想要的动作数量即可。有效值(按API)为0-1000。
第二个是Filter(this ReadOnlyActionCollection, DateTime?, DateTime?)
,它将允许您过滤since
(start)和before
(end)。(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
好的。我看到了问题。我没有在Limit()
扩展中使用this
关键字。我将修复并发布更新。
在此之前,请静态地使用该方法:
Collections.Limit(card.Actions, 100);
编辑4
在Manatee.trello版本3.0.0中,Limit
是所有集合的属性。大多数类型的默认值为50。