微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 Podio API 上过滤的项目中获取字段子集 如何从应用视图中获取字段的子集:在应用上过滤时如何返回字段的子集?在跑道应用上过滤时如何返回跑道字段的子集?

如何解决从 Podio API 上过滤的项目中获取字段子集 如何从应用视图中获取字段的子集:在应用上过滤时如何返回字段的子集?在跑道应用上过滤时如何返回跑道字段的子集?

我想从跑道应用过滤项目,并且获取特定字段子集的值
这有望减少 API 的响应时间。

返回的字段数can be limited by specifying the fields query GET parameter
但它似乎没有按预期工作,文档也没有详细说明。


获取过滤项的字段子集?

使用 /item/app/{app_id}/filter/micro?fields=items.fields(email) 但该字段未返回。
我做错了什么?我希望获得 micro 视图并向其添加 email 字段。

获取标准视图而不是列出所有字段

使用 /item/app/{app_id}/filter/?items.view(mini) 但似乎不适用于任何自定义定义的视图。

文档不清楚可以在哪些端点上使用哪些参数。

  • 这是否仅适用于 item/ 端点? (/item/{item_id}?fields=app.view(micro))
  • 如何在 item/app/ 端点上实现相同的目标?\
  • 是否可以获取自定义视图而不是标准视图?
  • 如果是:只是团队视图还是私人视图?

如何从应用视图中获取字段的子集:

  1. 提供自定义视图的名称?根据我的经验,所有字段仍然返回。

  2. 提供标准视图的名称microminifull,通过fields=items.view(micro);该标准不适合我的用例。 是否可以使用自定义视图进行过滤?

  3. 提供标准视图的名称 (micro/mini) 并通过 GET 参数 fields=items.fields(email,name,city)?
    指定其他字段 (我也无法完成这项工作)

我的首选方式是第一种,因此我可以通过编程方式选择字段,而无需在跑道上进行配置。

文档并不清楚什么是可能的(并且可能不是最新的)、使用什么参数以及应该提供什么格式。 也不清楚什么可以与 item/app/APPID/filteritem/ITEMID 一起使用。 在跑道论坛上找到的信息也不一致。

在应用上过滤时如何返回字段的子集?

(目的是精简API请求,减少工作量,获得更快的响应时间)


编辑:

注意:App 的 FIELDS 的跑道概念与 FIELDS 的 RESTful 概念不同 .
因此,按照 Deepa Podio 解释的方式使用 GET fields 参数,适用于 RESTful 响应字段,不适用于跑道字段
所以...

在跑道应用上过滤时如何返回跑道字段的子集?

例如,如果 filter API 响应是:

[
    {
      "sharefile_vault_url": null,"title": "Test item","app_item_id": 2552,"fields": [
        {
            "type": "text","field_id": 217293226,"label": "Birth Date","config": {
              "label": "Birth Date","settings": {
                "format": "plain","size": "small"
              }
            },"external_id": "birth-date"
        {
          "type": "app","field_id": 219992505,"label": "Number of Parents","values": [
            {
              "value": ...
            }
          ],"external_id": "number-of-parents"
        }
    }
]

如何仅返回 number-of-parents Podio 字段并排除所有其他字段?

解决方法

默认情况下,API 提供应用或用户提供的视图的详细响应。如果我们需要获取细节的子集,我们需要根据需求使用items.view(micro/mini/full)。如果 items.view(micro/mini/full) 提供的结果没有用户要求的字段,我们可以使用 items.view(micro).fields(<desired_field>) 将所需的字段添加到响应中。

标准视图:

  1. 要获取我们需要使用的应用的完整默认(标准)视图详细信息 - POST /item/app/{app_id}/filter/
  2. 要获取标准视图的子集,我们需要提供您指定的字段参数。但用法如下 - POST /item/app/{app_id}/filter?fields=items.view(micro).fields(files)。此处使用的 files 字段只是一个示例。

自定义视图:

  1. 要让过滤器在任何自定义设计的视图上工作,我们需要使用 API - POST /item/app/{app_id}/filter/{view_id}/
  2. 要获取自定义视图的详细信息子集,它与前一个类似,但 API 中带有 view_id - POST /item/app/{app_id}/filter/{view_id}?fields=items.view(micro).fields(files,created_on)。 您可以在此处将 files,created_on 替换为您希望从应用中过滤的字段。这是一个示例,表明我们可以使用单个字段或多个以“,”分隔的字段。

它适用于标准和自定义视图,只是在使用自定义视图时,您需要使用其他需要提供 view_id 的 API。它适用于团队视图和私人视图。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。