使用GitHub REST APIv3进行全局代码搜索

3
我是一个新手,正在学习REST API。我试图创建一个查询来搜索所有包含“com.jcabi.http.response.JsonResponse”代码的Java存储库。
我查看了API文档中提供的示例,并创建了以下请求,但我的查询抛出了错误。
这是查询:

curl https://api.github.com/search/code?q=com.jcabi.http.response.JsonResponse+language:java

它导致以下错误:
Error 
{
  "message": "Validation Failed",
  "errors": [
    {
      "message": "Must include at least one user, organization, or repository",
      "resource": "Search",
      "field": "q",
      "code": "invalid"
    }
  ],
  "documentation_url": "https://developer.github.com/v3/search/"
}

没有指定存储库的情况下进行代码搜索是不可能的吗?

有人可以帮我吗?与此相关的问题?

1个回答

6

您需要进行身份验证才能访问某些路径,创建个人访问令牌,然后使用它访问该路径。

您可以在“设置”->“开发者设置”->“个人访问令牌”->“生成新令牌”中创建个人访问令牌。

将该令牌复制到安全位置,因为它只能在会话期间显示。

然后如果您正在使用ajax调用,请像这样使用该令牌

https://api.github.com/search/code?q=com.jcabi.http.response.JsonResponse+language:java&access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

相同的curl命令

curl -v -H "Authorization: token xxxxxxxxxxxxxxxxxxxxxxxxxxx" https://api.github.com/search/code?q=com.jcabi.http.response.JsonResponselanguage:java

注意:个人访问令牌应保持安全,不要分享给他人,也不要将其保存在客户端。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接