【发布时间】:2020-12-31 04:43:48
【问题描述】:
如果我向 GitHub API 发出以下 GET 请求,我会收到大约 58 个条目:
https://api.github.com/search/repositories?&per_page=250&sort=updated&order=asc&q=%22github-octocat%22
但是,以下任何日期参数都返回 0 个条目:
创建日期: (created:>=2010-09-01)
https://api.github.com/search/repositories?&per_page=250&sort=updated&order=asc&q=%22github-octocat+created:>=2010-09-01%22
日期范围: (created:2012-08-13..2020-08-14)
https://api.github.com/search/repositories?&per_page=250&sort=updated&order=asc&q=%22github-octocat+created:2012-08-13..2020-08-14%22
在 GitHub 文档中,在 Constructing a search query 部分下,语法概述如下:
SEARCH_KEYWORD_1 SEARCH_KEYWORD_N QUALIFIER_1 QUALIFIER_N
Search by when a repository was created or last updated 上的 GitHub 文档概述了上述两种日期格式,Query for values between a range 概述了它们的有效组合。我怀疑这些示例不适合这种用途,因为这些示例使用的是用于浏览器的 URL,例如 https://github.com/search?q=case+pushed%3A%3E%3D2013-03-06+fork%3Aonly&type=Repositories,而不是 api.github.com,这也令人困惑。
我正在尝试应用以下资源中显示的模式以获得一系列日期过滤器:
- Github API call: filter by committer-date, answer by Poonacha
- Get issues on a date range from Github enterprise API, answer by Al Neill
非常感谢任何指针。
【问题讨论】:
-
您是否使用了正确的查询参数序列化程序?我希望您的网址中有更多字符被 urlencoded。
-
嗨@Evert——我不确定在这种情况下会是什么。你有什么指示吗?谢谢
-
嗯,这取决于您的语言。所以分享你的代码,也许有人可以帮忙。
-
@Evert,我实际上只是在使用 Postman 作为测试服务进行 GET 请求的组合,并在浏览器中复制这些请求,在输入 URL 时我无法附加身份验证令牌。当我了解语法时,我将使用 JS 框架。
-
然后查找如何对urls中的变量进行urlencode。应该不难找到!
标签: api http github httprequest