如何在 Github API 的搜索查询中包含 'OR'?

How to have an 'OR' in search query for Github API?

Github API 允许我们通过不同的参数搜索用户,其中一个参数是 location。 运行 以下查询将提供居住在巴基斯坦的所有用户:

curl https://api.github.com/search/users?q=location:pakistan

现在,我想获取居住在巴基斯坦或印度的所有用户,但似乎 Github 没有定义在巴基斯坦和印度之间存在或存在的方式。

我尝试了以下查询,但这些都不起作用:

curl https://api.github.com/search/users?q=location:pakistan&location:india
curl https://api.github.com/search/users?q=location:(pakistan|india)

您的第一次尝试很接近,但没有成功,因为 location 不是它自己的 HTTP GET 参数。整个字符串 location:pakistanq 参数。

当您执行 ?q=location:pakistan&location:india 时,您实际上是在提交类似

的内容
  • q 的值为 location:pakistan
  • location:india 是键,但没有值

相反,使用 +%20 连接多个 location 键:

curl https://api.github.com/search/users?q=location:pakistan+location:india

现在整个 location:pakistan+location:india 字符串作为值传递给 q 键。

文字 space 也可以,但你必须将它转义或将参数用引号引起来。