You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用GitHub仓库搜索API发起GET请求时如何指定多个编程语言

GitHub仓库搜索API多语言筛选实现方法

GitHub的搜索查询语法不支持language:[scala, java]这类数组值传参格式,要实现多语言筛选,需要按照接口支持的布尔运算规则,将每个语言条件作为独立字段拼接组合。

核心语法规则

  • 单个语言筛选是独立的language:语言名字段,不能把多个语言值直接塞在同一个language字段后传参
  • 要实现“匹配任意一种指定语言”的效果,用大写的OR逻辑运算符连接各个独立的language条件即可
  • URL传参时,查询语句中的空格可以统一用+或%20转义,保证接口能正确解析查询内容
  • 之前尝试的数组写法无法生效,本质是接口的language字段仅支持单值匹配,不支持单字段传入数组类型的多值参数

正确请求示例

替换错误写法后,满足需求的完整请求地址为:
https://api.github.com/search/repositories?q=stars:%3E=1000+language:scala+OR+language:java&sort=stars&order=desc&per_page=10

这个请求实际拆解的查询逻辑是:筛选星标数大于等于1000、代码语言为Scala或Java的仓库,结果按照星标数降序排列,单页返回10条,完全匹配多语言筛选的预期效果。

常用调整技巧

  • 如果需要增加更多筛选语言,直接按照+OR+language:新增语言名的格式往后拼接查询条件即可,比如要同时纳入Kotlin语言的仓库,只需将q参数调整为stars:%3E=1000+language:scala+OR+language:java+OR+language:kotlin
  • 如果需要排除特定语言的仓库,把连接词换成大写的NOT即可,比如排除C++语言的仓库就写成NOT+language:c++
  • 注意OR、NOT这类逻辑运算符必须大写,小写写法无法被API正确识别

内容的提问来源于stack exchange,提问作者mikayelgrigoryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.26 06:24:08