日期参数似乎不适用于Stack Exchange API的标记端点

时间:2018-04-16 10:44:11

标签: stackexchange-api

如果我request tag info without specifying fromdate/todate parameters,我会收到一些数据。 EG:

{
    "has_synonyms": true,
    "is_moderator_only": false,
    "is_required": false,
    "count": 1199408,
    "name": "c#"
}

但如果我use the fromdate/todate parameters (recent date range),则不会返回任何数据。

请告诉我在哪里更改?

2 个答案:

答案 0 :(得分:2)

这既是API文档中的错误,也是the /tags/{tags}/info route工作方式的错误 它与this bug on Stack Apps密切相关。

文档不会说出来,但fromdatetodate参数对标记的创建日期进行操作

这是非常糟糕的行为,因为:

  1. /tags/路线都不会返回创建日期,也不允许对其进行排序。
  2. 甚至无法知道代码的创建日期You can only know when the wiki was created (if any) and/or how old the oldest question that currently has that tag is.
  3. /tags/路由 执行会返回last_activity_date 。因此,人们会认为fromdatetodate参数会在其上运行,但它们不会。
  4. 这不是任何合理的用户所期望的(正如此问题和the cross-site duplicate所示)。
  5. 所以:

    1. 该文档对此功能有误导性和/或不完整。
    2. API确实应该返回创建日期和/或将fromdatetodate参数应用于last_activity_date
    3. 您可以通过此SEDE查询了解标记的(可能)创建日期: data.stackexchange.com/stackoverflow/query/840451/creation-date-for-a-tag

答案 1 :(得分:1)

我在遇到相同问题时发现了这个问题,但是发现了使用/questions方法而不是/ tags的一种解决方法。这样,fromdatetodate搜索参数可以与tagged一起使用。

最初,这将返回比所需总数更多的信息。通过调整.wrapper过滤器以删除items并添加total,将从2019-07-01到2019-07-08的C#标签返回以下JSON。

Stack Exchange API Filter

Stack Exchange API Criteria

{
  "has_more": false,
  "quota_max": 10000,
  "quota_remaining": 9783,
  "total": 2266
}

API调用:https://api.stackexchange.com/2.2/questions?fromdate=1561939200&todate=1562544000&order=desc&sort=activity&tagged=c%23&site=stackoverflow&filter=!--pn9sU*3FRx