如果我具有文本字段的确切字符串,则可以收集项目,但是如果我在文本字段中具有部分字符串,则需要收集项目。
这是我完全匹配的代码...
public static async Task<int> Items_With_String(int appId, string textFieldId, string stringToSearch)
{
var filter = new Dictionary<string, string>
{
{textFieldId, stringToSearch }
};
var filteredItems = await Program.podio.ItemService.FilterItems(appId: appId, filters: filter);
foreach (var item in filteredItems.Items)
{
Console.WriteLine($"{stringToSearch} found in {item.Title}");
}
return filteredItems.Total;
}
答案 0 :(得分:0)
您实际上尚未提供FilterItems
方法的实现。
但是对于部分匹配,通常可以使用linq
查询并添加一个where
谓词与子句进行部分匹配。在这里,我给你一个样本
外观,以便可以将其用于列表和过滤器属性。
string filter = "something";
List<MyClass> myList = new List<MyClass>();
// add items to the list
myList.Where(item => item.Contains(filter));
// or for the partial match with a shared beginning
myList.Where(item => item.StartsWith(filter));
希望这对您的情况有所帮助。
答案 1 :(得分:0)
您可以使用搜索功能来代替FilterItems。
您可以在下面的链接中获取更多信息。
https://developers.podio.com/doc/search/search-in-app-4234651
请参阅示例
bool isContinue = true;
var limit = 0;
var offSet = 0;
while (isContinue)
{
var items = podio.SearchService.SearchInApp(appId, stringToSearch, limit, offset);
offSet = offSet + limit;
limit = limit + 100;
isContinue = // check if you have value;
}