如何在'之前传递参数。并且限制'在Manatee Trello方法中

时间:2016-12-13 06:31:18

标签: trello manatee.trello

首先,感谢@gregdennis。我使用Manatee Trello命名空间来查询并从Trello板获取Actions。在每个请求上获取实体是有限制的(默认为50)。在在线API文档中,我读到了几个参数,例如' limit' '之前'。我如何将这些参数传递给我的代码中的方法,我的示例获取代码在这里:

    Board board = new Board(boardId);
    var actions = board.Actions.ToList();

1 个答案:

答案 0 :(得分:0)

在各种集合类型上有一些扩展方法可以修改API查询以添加这些参数。

您要找的第一个是Limit(this ReadOnlyActionCollection, int)。只需传递您想要的操作数量。有效值(根据API)为0-1000。

第二个是Filter(this ReadOnlyActionCollection, DateTime?, DateTime?),可让您对since(开始)和before(结束)进行过滤。 (API文档说lastViewsince参数的有效选项。目前不支持。)

修改

请注意,这些扩展方法的工作方式与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.