使用 GitHub REST APIv3 进行全局代码搜索
Using GitHub REST APIv3 for global code search
我是 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/"
}
不指定 repo 就无法进行代码搜索吗?
有人可以帮我解决这个问题吗?
您需要进行身份验证才能访问某些路径,创建个人访问令牌,然后使用它访问路径。
您可以在设置 -> 开发者设置 -> 个人访问令牌 -> 生成新令牌中创建个人访问令牌
将该令牌复制到一个安全的地方,因为它只对会话可见。
如果您正在使用 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
注意:个人访问令牌应妥善保管,不要分享给他人,不要放在客户端
我是 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/"
}
不指定 repo 就无法进行代码搜索吗?
有人可以帮我解决这个问题吗?
您需要进行身份验证才能访问某些路径,创建个人访问令牌,然后使用它访问路径。
您可以在设置 -> 开发者设置 -> 个人访问令牌 -> 生成新令牌中创建个人访问令牌
将该令牌复制到一个安全的地方,因为它只对会话可见。
如果您正在使用 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
注意:个人访问令牌应妥善保管,不要分享给他人,不要放在客户端