box.com TAG_ITEM_CREATE事件

时间:2014-04-02 09:29:24

标签: box-api

在文档框中,它指出当“标记已添加到文件或文件夹'时,会发生事件TAG_ITEM_CREATE。有没有办法找出标签被添加到哪个文件夹/文件,而不是全部迭代?

1 个答案:

答案 0 :(得分:0)

如果你是fetching events for a Box enterprise,你可以让Box执行事件的服务器端过滤。但是,fetching events for a standard Box account时,您必须在应用程序中进行过滤。 next_stream_position参数可用于为您收到的事件设置较低的时间范围,这可以显着减少您必须排序的元数据量。

编辑:回答评论中的问题。

  

:不确定过滤事件如何帮助我确定哪个文件夹已被标记?

返回给你的event对象如下所示:

{
   "next_stream_position":1348790499819,
   "entries":[
      {
         "event_type":"TAG_ITEM_CREATE",
         "source":{
            "type":"folder",
            "id":"11446498",
         ... more event info ...
         }
      },
      ... more events ...
   ]
}

在您的应用中,您可以查找event_typeTAG_ITEM_CREATE的活动。然后,您可以使用source来确定标记了哪个特定资源。

  

:您是否说我可以要求自给定的TAG_ITEM_CREATE事件以来所有文件夹都已更改?

没有。将'next_stream_position`属性视为时间戳的代理。您可以使用它来告诉Box,“告诉我这个'位置'之后发生的所有事件。”但是这仍然会为您提供发生的所有事件的类型。您必须在应用程序中选择感兴趣的事件。

这是面向企业和用户的API的重大差异之一。在企业中,您可以告诉Box,“我想知道昨天和今天之间企业中发生的所有TAG_ITEM_CREATE事件的信息。”在面向用户的API中,您可以有效地告诉Box,“我想知道自昨天以来在此用户框中发生的所有事件的信息。”