通过API提取自定义报告

时间:2016-11-14 20:44:42

标签: api csv cookies export activecollab

我尝试通过API从activecollab中提取自定义报告,将其作为CSV文件导入可视化工具。

我已经通过以下方式请求了activecollab API密钥:

curl -k --data "api_subscription[email]=****@*****.com&api_subscription[password]=********&api_subscription[client_name]=****&api_subscription[client_vendor]=****" https://*************/api.php

这可以成功运行并以纯文本形式返回API密钥。

之后如何申请报告? 报告网址:

https://*****************/public/index.php?path_info=timereportsplus%2Frun&export_format=csv&async=1&filter%5Bshow_time_records%5D=1&filter%5Btype_filter.....[lots of filters]

我通过复制'导出CSV'的链接地址来获取此网址。链接在报告的底部。

如果我将第一次与登录页面的交互中的cookie提供给报告生成URL(上图),我就可以成功获取报告。但我想避免使用cookies。

有没有办法通过API密钥进行身份验证并在一次调用中返回报告?

其他细节: activecollab版本:5.0.100

1 个答案:

答案 0 :(得分:0)

你所拥有的不是Active Collab 5.版本5不支持第三方模块(该请求显然是针对Reports Plus插件)。您可能正在使用版本4或更早版本。

在Active Collab 5之前的版本中,并非所有可用于Web界面的资源都可通过API获得。您尝试获取的特定资源显然仅用于Web界面,因为它可以很好地响应Web界面请求(使用cookie进行身份验证),但拒绝API请求。

此处列出了Active Collab 4支持的所有API资源:

https://activecollab.com/help-classic/books/api/

请咨询第三方模块供应商,看看他们是否可以将这些资源提供给API。