【问题标题】:Limiting results of Alfresco Get Activity Feed API限制 Alfresco Get Activity Feed API 的结果
【发布时间】:2015-10-25 13:53:04
【问题描述】:

我目前正在使用 Alfresco REST API 调用 http://localhost:8080/alfresco/service/api/activities/feed/user?format=json,它工作正常。

但是,它会返回用户自加入 Alfresco 以来执行的所有活动的列表。我检查了官方文档、alfresco/services/index 和 wiki,但似乎没有可以传递到脚本中的参数来限制按日期返回的结果。

有没有办法可以将结果限制在过去 7 天内执行的活动? Share 界面通过 dashlet 执行此操作,所以我想知道如何从外部应用程序执行此操作。

【问题讨论】:

  • 您使用的是哪个版本的 Alfresco? 4.x? 5.x? 3.x?

标签: alfresco


【解决方案1】:

如果您知道如何查看,实际上可以从 Alfresco 本身找到您需要的大部分信息!可悲的是,答案是

首先,前往http://localhost:8080/alfresco/service/index/all(适当调整),然后向下滚动大约一半,直到找到定义的感兴趣的 URL。接下来,单击该 webscript 的 ID,应该类似于 https://cliq.quanticate.com/alfresco/service/script/org/alfresco/repository/activities/feed/userfeed.get

这会向您显示所有众所周知的可用参数、支持的 URL 路径、响应格式等。正如您将看到的,没有可用的日期过滤器。我们还可以通过查看以下行来仔细检查:

Implementation: class org.alfresco.repo.web.scripts.activities.feed.UserFeedRetrieverWebScript

你可以see the source code for that here,看看没有日期过滤器

最后,因为这是在活动仪表板中使用的,所以只需加载它!然后检查您的 Alfresco 访问日志,您会看到获取的 URL 类似于 "GET /alfresco/service/api/activities/feed/user?format=json HTTP/1.1"。 Alfresco Share 本身会获取所有内容并对其进行过滤,因此您需要这样做

【讨论】:

    【解决方案2】:
    1. 现在你可以限制http://localhost:8080/alfresco/service/api/activities/feed/user?format=json的结果

      activities.feed.max.size=200       # 200 - default value
      

      activityService bean 配置:https://github.com/lsbueno/alfresco/blob/master/root/projects/repository/config/alfresco/activities/activities-feed-context.xml

    2. 您可以使用新的 REST API https://api-explorer.alfresco.com/api-explorer/#!/people/getActivities

      GET http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/people/-me-/activities?maxItems=3&skipCount=2
      

    【讨论】:

      猜你喜欢
      • 2010-12-26
      • 2015-08-11
      • 1970-01-01
      • 1970-01-01
      • 2017-09-07
      • 1970-01-01
      • 2012-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多