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

使用gh包查询仓库Issue的问题:转义字符与获取全部状态Issue

关于gh包查询GitHub Issue的两个问题解答

我来帮你解决这两个使用gh包时遇到的Issue查询问题:

1. 查询仓库Issue时,如何转义'?'?

其实用gh包的话,根本不需要手动转义问号。这个包的设计初衷就是让你通过命名参数传递查询条件,而不是自己拼接带?的URL字符串。包内部会自动处理URL的拼接、参数编码和转义,完全不用你操心。

举个实际例子,如果你想筛选带bug标签的Issue,别费劲写"/repos/hadley/dplyr/issues?labels=bug",直接这么写就行:

gh::gh("/repos/hadley/dplyr/issues", labels = "bug")

要是你在非gh包的场景下(比如手动发HTTP请求)确实需要转义?,它的URL编码是%3F,但用gh包的话完全没必要搞这套。

2. 添加\?state\=all报错的解决办法

你碰到的错误,本质是R字符串里的反斜杠\是转义字符,"\?"属于不合法的转义序列,R根本认不出来。而且更重要的是,这不是gh包的正确用法。

gh包的gh()函数支持直接把查询参数作为命名参数传入,不需要手动拼到URL里。要获取所有状态(开放+关闭)的Issue,只需要给state参数传"all"就行,代码如下:

gh::gh("/repos/hadley/dplyr/issues", state = "all")

这样写既简洁又不会出问题,gh包会自动帮你生成正确的URL,所有编码、转义的活儿它都帮你干了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:35:13