HTTP API 的订单结果
Order results of an HTTP API
正在尝试找到一种方法来重新排序来自 HTTP API 的结果。这是一个例子
https://demo.piwik.org/?module=API&method=VisitsSummary.get&idSite=7&period=month&date=last3&format=xml&token_auth=anonymous
哪个returns
<results>
<result date="2017-10"/>
<result date="2017-11"/>
<result date="2017-12"/>
</results>
但是,我希望它返回为
<results>
<result date="2017-12"/>
<result date="2017-11"/>
<result date="2017-10"/>
</results>
我曾尝试在 URL 中使用 filter_sort_order
,但这没有用。有没有办法在 URL 中执行此操作或 PHP
中的解决方案可以执行此操作 post 获得 XML
?
接评论:
抱歉,如果 API 没有提供选项,那么您必须接受它发送的内容。
如果您希望对结果进行排序,那么您可以在 JavaScript 中对它们进行客户端排序,或者从您自己的服务器端 PHP 获取数据,对它们进行排序,然后提供作为客户端的 API。
如果你想要几种不同类型的排序,那么我会建议后者。
尽管您已经接受了我的回答,但既然您已经发布了 URL of the API,我认为 this 是正确答案:
Optional API parameters
Each API call can contain parameters that do not appear in the list of
parameters, but act as "filters". Filters can ... act as data
helpers (sort results...)." .
这两个的组合似乎就是你的答案
filter_column ; defines the column that we want to search for a text
(see filter_pattern). If not specified, defaults to 'label'
.
filter_sort_order; defines the order of the results, asc or desc
如果您不明白,请尝试通过 https://developer.piwik.org/support or asking other users at the forum
与他们联系
其中一位 Piwik 开发人员回答了以下问题:
Hi, it is expected that the reports are listed by date. Here the report has no dimension (only main metrics). A report with dimension is sorted but does sort each dataTable within a date… https://demo.piwik.org/?module=API&method=Actions.getPageUrls&idSite=7&period=month&date=last30&format=json&token_auth=anonymous&filter_sort_column=nb_visits&filter_sort_order=desc
So basically the sorting is applied to data of each individual day and because VisitsSummary.get has no multiple rows, there is nothing sorted.
Applying the sort filter to the dates for reports without a dimension won’t be a solution since we need consistent sorting behaviour for reports with and without a dimension. It would be a new feature to make this sortable and would need a new API parameter
(https://forum.piwik.org/t/filter-sort-order-not-working-on-visitssummary-get/26710/4)
直到这是我推荐的对数据客户端进行排序的功能。
正在尝试找到一种方法来重新排序来自 HTTP API 的结果。这是一个例子
https://demo.piwik.org/?module=API&method=VisitsSummary.get&idSite=7&period=month&date=last3&format=xml&token_auth=anonymous
哪个returns
<results>
<result date="2017-10"/>
<result date="2017-11"/>
<result date="2017-12"/>
</results>
但是,我希望它返回为
<results>
<result date="2017-12"/>
<result date="2017-11"/>
<result date="2017-10"/>
</results>
我曾尝试在 URL 中使用 filter_sort_order
,但这没有用。有没有办法在 URL 中执行此操作或 PHP
中的解决方案可以执行此操作 post 获得 XML
?
接评论:
抱歉,如果 API 没有提供选项,那么您必须接受它发送的内容。
如果您希望对结果进行排序,那么您可以在 JavaScript 中对它们进行客户端排序,或者从您自己的服务器端 PHP 获取数据,对它们进行排序,然后提供作为客户端的 API。
如果你想要几种不同类型的排序,那么我会建议后者。
尽管您已经接受了我的回答,但既然您已经发布了 URL of the API,我认为 this 是正确答案:
Optional API parameters
Each API call can contain parameters that do not appear in the list of parameters, but act as "filters". Filters can ... act as data helpers (sort results...)." .
这两个的组合似乎就是你的答案
filter_column ; defines the column that we want to search for a text (see filter_pattern). If not specified, defaults to 'label'
.
filter_sort_order; defines the order of the results, asc or desc
如果您不明白,请尝试通过 https://developer.piwik.org/support or asking other users at the forum
与他们联系其中一位 Piwik 开发人员回答了以下问题:
Hi, it is expected that the reports are listed by date. Here the report has no dimension (only main metrics). A report with dimension is sorted but does sort each dataTable within a date… https://demo.piwik.org/?module=API&method=Actions.getPageUrls&idSite=7&period=month&date=last30&format=json&token_auth=anonymous&filter_sort_column=nb_visits&filter_sort_order=desc
So basically the sorting is applied to data of each individual day and because VisitsSummary.get has no multiple rows, there is nothing sorted.
Applying the sort filter to the dates for reports without a dimension won’t be a solution since we need consistent sorting behaviour for reports with and without a dimension. It would be a new feature to make this sortable and would need a new API parameter
(https://forum.piwik.org/t/filter-sort-order-not-working-on-visitssummary-get/26710/4)
直到这是我推荐的对数据客户端进行排序的功能。