【问题标题】:Podio dotnet client library filter items with minimum field returnPodio dotnet 客户端库过滤具有最小字段返回的项目
【发布时间】:2017-02-21 01:01:40
【问题描述】:

我正在使用 Podio dot net 客户端库,我想在应用程序中获取项目(我能够),但是这个返回的项目包含所有字段。我希望响应只返回某些字段。我怎样才能做到这一点?

这是我到目前为止所得到的:

PodioCollection<PodioAPI.Models.Item> podioCollection =podio.ItemService.FilterItems(Settings.Default.PodioAppId) // PodioAppId is the appID.

这会返回包含所有字段的项目,我想将结果集限制为仅包含某些字段或返回此处提到的微视图

How to get the Podio APP response detail level mini, micro or short?

我下载了点网库的源代码并修改了过滤器函数以获取我的查询字符串。然后我尝试传递以下查询字符串

编辑:

?fields=app.view(full)

?fields=app.view(micro)

?fields=app.view(mini)

?fields=items.view(full)

?fields=items.view(micro)

**?fields=items.view(mini)**

对于 mini items 视图,我看到没有返回任何字段,但对于其他所有调用,它都会返回所有字段。它们都不是我所追求的。

 public async Task<PodioCollection<Item>> FilterItems(int appId, FilterOptions filterOptions, bool includeFiles = false, string queryString = null)
        {
            filterOptions.Limit = filterOptions.Limit == 0 ? 30 : filterOptions.Limit;
            string url = string.Format("/item/app/{0}/filter/", appId);
            if (includeFiles)
            {
                url = url + "?fields=items.fields(files)";
            }
            if (!string.IsNullOrEmpty(queryString))
            {
                url = url + queryString;
            }
            return await _podio.Post<PodioCollection<Item>>(url, filterOptions);
        }

谢谢

【问题讨论】:

  • 请提供Minimal, Complete, and Verifiable example,以便准确检查您需要什么
  • 你应该阅读How to Ask。此外,我们不是来为您进行代码设计的。请自己尝试一下——当你遇到困难时显示你的代码——然后我们可以提供帮助。
  • 非常聪明,也许你会在远处找到一些东西......

标签: c# podio


【解决方案1】:

您可以为此使用 fields 参数。 这里提到了可能的值:Can podio's api filter item response with only a mini detail level for each item?

您可能应该使用来自FilterItems 方法的filterOptions 变量: https://github.com/podio/podio-dotnet/blob/master/Source/Podio%20.NET/Services/ItemService.cs#L256-L264

对于我尝试过的随机应用程序,对于不同的 items.view() 我得到不同数量的字段/属性返回。

fields=items.view(full)  => result['items'][0].length: 26 
fields=items.view(short) => result['items'][0].length: 19
fields=items.view(mini)  => result['items'][0].length: 10
fields=items.view(micro) => result['items'][0].length: 5

【讨论】:

  • 这不起作用。我是否必须在 Podio 中配置一些东西
  • 你能解释一下它是怎么不工作的,你尝试了什么以及你得到了什么结果?
  • 不清楚你通过什么以及在哪里。为什么不能与调用示例(带输入和输出)共享修改后的过滤器功能?
  • 刚刚使用修改后的过滤功能编辑了我的问题。请注意,我没有将包含文件传递给该函数。我正在传递问题中提到的值,结果没有改变,除了 Mini,它根本不返回任何字段。
  • 好的,你能公布不同输入的返回值吗?会不会是您的 Podio 应用程序只有 1 个字段,这就是为什么所有输出都一样?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多