1

我正在尝试通过 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”链接的链接地址来获取此 URL。

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

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

其他细节:activecollab 版本:5.0.100

4

1 回答 1

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。

于 2016-11-15T14:00:51.713 回答